Skip to content

Logo

Rapyd

Supports in this guide: Payments, Payouts

Provider website: www.rapyd.net


What you need to do for start processing transactions (brief summary)

  1. Choose account type
  2. Get your credentials (from Rapyd)
  3. Connect in Dashboard
  4. Send an API request

Choose account type

Rapyd can be connected in different ways (depending on your needs):

  • If you do card payments (H2H, card data sent directly) -> choose H2H Merchant account
  • If you do redirect payments (customer redirected to Rapyd's hosted checkout page, including Apple Pay/Google Pay) or payouts -> choose Provider account

These are two separate credential sets — connecting one doesn't connect the other. If you are not sure which one to use, confirm with your Corefy account manager.


Prerequisites: get from Rapyd

Rapyd issues separate credentials for each account type below.

For H2H Merchant account:

  • Access Key -> Corefy field access_key -> where to find: Rapyd dashboard / issued by Rapyd manager
  • Secret Key -> Corefy field secret_key -> where to find: Rapyd dashboard / issued by Rapyd manager
  • Payment Method Type -> Corefy field payment_method_type -> the Rapyd payment method type this connection processes (e.g. a specific card scheme/country combination) — confirm the exact value with your Rapyd account manager
  • Save Instant Token -> Corefy field save_instant_token -> enable to tokenize the card on the first Sale, for later recurring/merchant-initiated payments

For Provider account:

  • ID -> Corefy field id -> a user-chosen account identifier for this connection (used as Corefy's external ID for it) — only needed for the Payments capability
  • Access Key -> Corefy field access_key -> where to find: Rapyd dashboard / issued by Rapyd manager
  • Secret Key -> Corefy field secret_key -> where to find: Rapyd dashboard / issued by Rapyd manager
  • eWallet -> Corefy field ewallet -> the Rapyd wallet ID that sends/receives funds — only needed for the Payouts capability

Payments processing (connect H2H Merchant account, create payment-invoice)

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

Open Rapyd in the provider directory and press Connect at Rapyd Provider Overview page in the New connection section. Choose H2H Merchant account.

Step 2 - Fill in fields and select settings

  • Access Key
  • Secret Key
  • Payment Method Type
  • Save Instant Token -> (enable for recurring/merchant-initiated payments)
  • Test Mode -> (enable if you are using sandbox credentials)

Choose Currency and Features. You can set these parameters according to available currencies and features for your Rapyd account, but it is necessary to check details of the connection with your Corefy account manager.

Success

You have connected Rapyd H2H Merchant account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 100,
      "customer": {
        "reference_id": "55041b5b-adfd-4073-a92b-fd8b495a4cc1",
        "name": "John Smith"
      },
      "reference_id": "86e68af6-6b95-4cc0-be16-e4df8044604c"
    }
  }
}
customer.name is required for a successful Sale on Rapyd's side; customer.email is not — it's forwarded to Rapyd only if present.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 100,
      "customer": {
        "reference_id": "bc75bc54-5023-4f98-8c0d-ec5ed7e8f380",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "address": {
          "country": "DE",
          "region": "Berlin",
          "city": "Berlin",
          "post_code": "10115",
          "full_address": "1st Street 1"
        }
      },
      "reference_id": "08f5e97c-1170-4bda-9625-3bde3c6dcd20"
    }
  }
}
Address and name details are always forwarded to Rapyd when present — there's no option to suppress them (except phone, see dont_send_phone_number below). customer.address.full_address is split into two address lines for Rapyd. Rapyd also supports USD (use payment_card_usd_hpp as the service code).

If your account uses Rapyd's AFT (Account Funding Transaction) flow (enabled via the use_aft option below), Rapyd also expects a fuller customer profile — date_of_birth, and via customer.metadata: birth_country, nationality, occupation, and purpose_code. Set these in customer.metadata when AFT is enabled.


Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow


Options

Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.

Currently available options (3)

  • ignore_callback - suppresses processing of callbacks received from Rapyd
  • dont_send_phone_number - suppresses sending the customer's phone number to Rapyd
  • use_aft - enables Rapyd's Account Funding Transaction flow, sending a fuller customer profile and AFT-specific fields
ignore_callback

What it does: when enabled, Corefy ignores callbacks received from Rapyd instead of processing them.

When to use: if you rely only on reconciliation/status checks and don't want callback-driven updates for this connection.

Default: "false"

Allowed values: true, false

dont_send_phone_number

What it does: when enabled, customer.phone is not included in the address details sent to Rapyd, even if present in the request.

When to use: enable it if you don't want to share the customer's phone number with Rapyd.

Default: "false" (phone is sent by default when present)

Allowed values: true, false

use_aft

What it does: enables Rapyd's Account Funding Transaction flow — adds payment_method_options.aft/is_direct_purchase/purpose_code (from customer.metadata.purpose_code or the PURPOSE_CODE constant) to the request, and includes a fuller customer profile (name, email, date of birth, birth country, nationality, occupation, address) that Rapyd requires for this flow.

When to use: enable it only if your Rapyd account is set up for AFT-classified payments (e.g. crypto/wallet funding) — confirm with your Rapyd account manager whether this applies to you.

Default: "false"

Allowed values: true, false


Constants (fallback fields)

Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request.

Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)

Currently available constants (constant -> Corefy API field)

  • NAME -> customer.name
  • COUNTRY -> customer.address.country
  • REGION -> customer.address.region
  • CITY -> customer.address.city
  • ADDRESS_LINE_1 -> customer.address.full_address (first half after splitting)
  • ADDRESS_LINE_2 -> customer.address.full_address (second half after splitting)
  • PHONE -> customer.phone
  • POST_CODE -> customer.address.post_code
  • RECIPIENT_EMAIL -> customer.email
  • CUSTOMER_NAME -> customer.name
  • DATE_OF_BIRTH -> customer.date_of_birth
  • BIRTH_COUNTRY -> customer.metadata.birth_country
  • NATIONALITY -> customer.metadata.nationality
  • OCCUPATION -> customer.metadata.occupation
  • PURPOSE_CODE -> customer.metadata.purpose_code
  • EMAIL -> customer.email

Note

Several pairs of constants above back the same Corefy field but different Rapyd-side fields: NAME and CUSTOMER_NAME both fall back to customer.name, and RECIPIENT_EMAIL and EMAIL both fall back to customer.email — Rapyd receives them in different parts of its own request (a general address/recipient field vs. the AFT customer profile, only sent when use_aft is enabled), even though Corefy sources both from the same request field.


Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

Open Rapyd in the provider directory and press Connect at Rapyd Provider Overview page in the New connection section. Choose Provider account.

Step 2 - Fill in fields and select settings

  • ID
  • Access Key
  • Secret Key
  • Test Mode -> (enable if you are using sandbox credentials)

Choose Currency and Features. You can set these parameters according to available currencies and features for your Rapyd account, but it is necessary to check details of the connection with your Corefy account manager.

Success

You have connected Rapyd Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice. This is a redirect flow — the customer is sent to Rapyd's hosted checkout page to complete the payment (including Apple Pay/Google Pay, if enabled on your Rapyd account — no separate setup is needed for wallets on Corefy's side).

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "service": "rapyd_eur_hpp",
      "currency": "EUR",
      "amount": 100,
      "reference_id": "86e68af6-6b95-4cc0-be16-e4df8044604c"
    }
  }
}
customer is entirely optional for this flow — Rapyd's checkout only uses it to prefill the receipt email and customer profile if present.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "service": "rapyd_eur_hpp",
      "currency": "EUR",
      "amount": 100,
      "customer": {
        "reference_id": "bc75bc54-5023-4f98-8c0d-ec5ed7e8f380",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "date_of_birth": "1990-05-14",
        "address": {
          "country": "DE",
          "city": "Berlin",
          "post_code": "10115",
          "full_address": "1st Street 1"
        },
        "metadata": {
          "nationality": "DE",
          "birth_country": "DE",
          "occupation": "Engineer",
          "address_name": "John Smith"
        }
      },
      "service_fields": {
        "ewallet": "ewallet_1234567890",
        "aft_purpose_code": "goods_and_services",
        "aft_special_condition_indicator": "crypto_currency",
        "aft_is_direct_purchase": "true"
      },
      "reference_id": "08f5e97c-1170-4bda-9625-3bde3c6dcd20"
    }
  }
}
Unlike the H2H Merchant account flow, this flow always forwards whatever customer/AFT detail is present — there's no use_aft-style option here. service_fields.ewallet (which company wallet should receive the funds), aft_purpose_code, aft_special_condition_indicator, and aft_is_direct_purchase are optional AFT-specific fields — only include them if Rapyd has told you your account requires AFT classification. Rapyd also supports USD and CAD (use rapyd_usd_hpp/rapyd_cad_hpp as the service code).


Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow


Constants (fallback fields)

Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request. These are scoped per service (rapyd_eur_hpp/rapyd_usd_hpp/rapyd_cad_hpp).

Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)

LANGUAGE is optional; the rest below it are also optional. COUNTRY is required.

Currently available constants (constant -> Corefy API field)

  • COUNTRY -> required, no request-side override — sets the country Rapyd processes this checkout under
  • LANGUAGE -> sets the checkout page's language (lowercase ISO 639-1, e.g. en)
  • EXPIRATION_MINUTES -> sets how long the checkout page stays valid, in minutes (10-10080) — overrides the payment's own expiration
  • MAX_RETRIES_ATTEMPT -> sets how many retry attempts Rapyd allows on the checkout page (0-100)

Payouts processing (connect Provider account, create payout-invoice)

Connect Provider account in Corefy Dashboard

Use the same Provider account connection as for Payments above, plus the eWallet field. If you haven't connected it yet, follow the steps in the Payments (Provider account) section above and also fill in: - eWallet -> the Rapyd wallet ID that sends/receives payout funds


First request to Corefy API (MIN)

What it does: creates a payout-invoice. Rapyd supports two distinct payout method families with different required fields.

Payout - Card (EUR)

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "service": "payment_card_eur",
      "currency": "EUR",
      "amount": 100,
      "customer": {
        "reference_id": "55041b5b-adfd-4073-a92b-fd8b495a4cc1",
        "name": "John Smith",
        "phone": "+15551234567"
      },
      "fields": {
        "card_number": "4111111111111111"
      },
      "reference_id": "86e68af6-6b95-4cc0-be16-e4df8044604c"
    }
  }
}
fields.card_number is required; the card's expiry comes from Corefy's own card data, and the cardholder's first/last name come from customer.name. customer.phone is optional. fields.beneficiary_* (e.g. fields.beneficiary_first_name) can be used instead to fully override the beneficiary details Rapyd receives.

Payout - Bank/wallet (MXN)

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "service": "rapyd_mxn",
      "currency": "MXN",
      "amount": 100,
      "customer": {
        "reference_id": "55041b5b-adfd-4073-a92b-fd8b495a4cc1"
      },
      "fields": {
        "beneficiary_bank_name": "Example Bank",
        "beneficiary_account_number": "1234567890"
      },
      "reference_id": "86e68af6-6b95-4cc0-be16-e4df8044604c"
    }
  }
}
fields.beneficiary_* fields carry the actual beneficiary details Rapyd requires for this payout method (varies by method — confirm the exact set with your Rapyd account manager); fields.sender_* fields, if provided, override the Constants below. Corefy automatically resolves and funds the sending wallet for this method — you don't need to provide one.


Constants (fallback fields)

Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request. These apply to both payout methods above.

Priority (predictable rule): 1. If a value is present in the request (as a fields.sender_* field) -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)

Currently available constants (constant -> Rapyd field)

  • SENDER_COUNTRY -> sender_country
  • SENDER_ENTITY_TYPE -> sender_entity_type
  • SENDER_COMPANY_NAME -> sender.company_name
  • SENDER_ADDRESS -> sender.address
  • SENDER_CITY -> sender.city
  • SENDER_POSTCODE -> sender.postcode
  • STATEMENT_DESCRIPTOR -> statement_descriptor (card payouts only)
  • DESCRIPTION -> description (card payouts only)

Note

No Corefy-side Options apply to Rapyd payouts.


Additional info

  1. Callback routing uses a fixed endpoint for both account types — configure it in your Rapyd account's webhook settings. Signature validation is applied for H2H Merchant account and Provider account Payments (HMAC-SHA256, using your Access Key/Secret Key), following Rapyd's own request signature scheme.
  2. For H2H Merchant account, Corefy always sends the merchant account's own profile website (truncated to 22 characters) as the Sale request's statement_descriptor — there's no per-request field to override this.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify credentials for the selected environment and account type
  • Currency or service is not supported -> confirm allowed currencies/features in your Rapyd account and in Corefy
  • Payment rejected for missing name -> customer.name (H2H Merchant account) is required by Rapyd for a successful Sale
  • Missing customer data fields -> set constants (see "Constants") or provide fields in the API request
  • Not sure which account type to use? -> ask your Corefy account manager

Question

Still looking for help connecting your Rapyd account? Please contact our support team!