
Reeves
Supports in this guide: Payments
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Reeves)
- Connect in Dashboard
- Send an API request
Choose account type
Reeves can be connected in different ways (depending on your needs):
- If you do card payments -> choose H2H Merchant account
If you are not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from Reeves
Get the following values for your Reeves project/account:
- Shop ID -> Corefy field
shop_id-> example:shop_9f2c1a3b-> where to find: Reeves backoffice / issued by Reeves manager - Public Key -> Corefy field
public_key-> example:pk_live_7d3f8b2a9c1e4560-> where to find: Reeves backoffice / issued by Reeves manager - Secret Key -> Corefy field
secret_key-> example:sk_live_4a6e2d9f1b3c8720-> where to find: Reeves backoffice / issued by Reeves manager
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Reeves in the provider directory and press Connect at Reeves Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Shop ID
- Public Key
- Secret Key
- Three DS Mode -> (only Simple is available for Reeves)
- Provider URL -> (preset to Reeves's gateway, not user-selectable)
- 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 Reeves account, but it is necessary to check details of the connection with your Corefy account manager.
Success
You have connected Reeves 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_rub_hpp",
"currency": "RUB",
"amount": 100,
"customer": {
"reference_id": "55041b5b-adfd-4073-a92b-fd8b495a4cc1",
"email": "johnsmith@gmail.com"
},
"reference_id": "86e68af6-6b95-4cc0-be16-e4df8044604c"
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"service": "payment_card_rub_hpp",
"currency": "RUB",
"amount": 100,
"customer": {
"reference_id": "bc75bc54-5023-4f98-8c0d-ec5ed7e8f380",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567",
"date_of_birth": "1990-05-14",
"address": {
"country": "RU",
"region": "Moscow",
"city": "Moscow",
"post_code": "101000",
"full_address": "1st Street 1"
}
},
"reference_id": "08f5e97c-1170-4bda-9625-3bde3c6dcd20"
}
}
}
send_customer_data option (see Options) is enabled — otherwise only customer.email is used. Reeves also supports KZT (use payment_card_kzt_hpp as the service code for KZT). 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 (2)
ignore_callback- suppresses processing of callbacks received from Reevessend_customer_data- sends the customer's billing details (name, phone, address) to Reeves
ignore_callback
What it does: when enabled, Corefy ignores callbacks received from Reeves 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
send_customer_data
What it does: includes a billing address block (name, phone, country, city, state, zip, address) in the request sent to Reeves, sourced from the customer's address, customer.metadata, or the connection's Constants (in that order).
When to use: enable it if Reeves requires or benefits from billing details for approval rates — disabled by default, so no billing data is sent unless turned on.
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)
LANG is the exception to this rule — see below.
Currently available constants (constant -> Corefy API field)
DESCRIPTION->descriptionREASON->description(used for refunds specifically, instead ofDESCRIPTION)EMAIL->customer.emailCOUNTRY->customer.address.country/customer.metadata.countryCITY->customer.address.city/customer.metadata.citySTATE->customer.address.region/customer.metadata.stateZIP->customer.address.post_code/customer.metadata.zipADDRESS->customer.address.full_address/customer.metadata.addressLANG-> always used as sent — there is no request-side field to override it, set this constant to control the language Reeves uses
Additional info
- Callback routing is handled automatically (Corefy generates the callback URL per transaction) — signature validation is applied.
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 Reeves account and in Corefy
- 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
- Billing address state not recognized -> for US/CA addresses, use a valid two-letter state code — it's normalized automatically, but an unrecognized value may be sent as-is
Question
Still looking for help connecting your Reeves account? Please contact our support team!