Skip to content

Logo

Reeves

Supports in this guide: Payments


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

  1. Choose account type
  2. Get your credentials (from Reeves)
  3. Connect in Dashboard
  4. 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"
    }
  }
}
The billing address fields above only reach Reeves when the 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 Reeves
  • send_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 -> description
  • REASON -> description (used for refunds specifically, instead of DESCRIPTION)
  • EMAIL -> customer.email
  • COUNTRY -> customer.address.country / customer.metadata.country
  • CITY -> customer.address.city / customer.metadata.city
  • STATE -> customer.address.region / customer.metadata.state
  • ZIP -> customer.address.post_code / customer.metadata.zip
  • ADDRESS -> customer.address.full_address / customer.metadata.address
  • LANG -> always used as sent — there is no request-side field to override it, set this constant to control the language Reeves uses

Additional info

  1. 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!