Rapyd
Supports in this guide: Payments, Payouts
Provider website: www.rapyd.net
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Rapyd)
- Connect in Dashboard
- 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"
}
}
}
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 Rapyddont_send_phone_number- suppresses sending the customer's phone number to Rapyduse_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.nameCOUNTRY->customer.address.countryREGION->customer.address.regionCITY->customer.address.cityADDRESS_LINE_1->customer.address.full_address(first half after splitting)ADDRESS_LINE_2->customer.address.full_address(second half after splitting)PHONE->customer.phonePOST_CODE->customer.address.post_codeRECIPIENT_EMAIL->customer.emailCUSTOMER_NAME->customer.nameDATE_OF_BIRTH->customer.date_of_birthBIRTH_COUNTRY->customer.metadata.birth_countryNATIONALITY->customer.metadata.nationalityOCCUPATION->customer.metadata.occupationPURPOSE_CODE->customer.metadata.purpose_codeEMAIL->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"
}
}
}
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 underLANGUAGE-> 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 expirationMAX_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_countrySENDER_ENTITY_TYPE->sender_entity_typeSENDER_COMPANY_NAME->sender.company_nameSENDER_ADDRESS->sender.addressSENDER_CITY->sender.citySENDER_POSTCODE->sender.postcodeSTATEMENT_DESCRIPTOR->statement_descriptor(card payouts only)DESCRIPTION->description(card payouts only)
Note
No Corefy-side Options apply to Rapyd payouts.
Additional info
- 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.
- 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!