Skip to content

Constant Payments

Constant Payments

Supports in this guide: Payments, Payouts

Provider website: constantpos.com


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

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

Choose account type

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

  • If you do direct card payments (H2H, no redirect) -> choose H2H Merchant account
  • If you do card payouts -> choose Provider account

If you're not sure which one to use, confirm with your Corefy account manager.


Prerequisites: get from Constant Payments

Log into your Constant Payments back-office, go to the Shops section, find the shop you want to connect and open its Details page to get the following - the same three credentials are used for both account types.

  • Shop ID -> Corefy field shop_id.
  • Secret key -> Corefy field secret_key.
  • Public key -> Corefy field public_key.

Important

Check with your Constant Payments account manager whether an IP whitelist is required for your account, and if so, provide the Corefy IP list.


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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Shop ID
  • Secret key
  • Public key
  • Test Mode -> (enable if you are using sandbox credentials)
  • Provider URL -> leave at the default Constant Payments value
  • 3DS mode -> leave at the default simple value
  • Currency / Features -> choose values available for your account (RUB, EUR, USD, KZT, UAH, INR)

Success

You have connected Constant Payments H2H Merchant account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice; card data itself is collected and submitted separately by Corefy's checkout/SDK layer, not as part of this request.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "6be05631-8710-4b14-a369-1928a2b70eda",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "c22e66d5-48fa-41b0-b322-55a985204e50",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "email": "name@example.com",
        "address": {
          "country": "FR",
          "city": "Paris",
          "region": "Ile-de-France",
          "post_code": "75001",
          "full_address": "1 Main street"
        }
      }
    }
  }
}

Important

customer is optional by default and simply omitted from the request if not sent. Enable the send_customer_data Option below to have Corefy forward whatever customer fields you do send (falling back to the Constants below for anything still missing).


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

  • ignore_callback -> optional, boolean - for cascading to work correctly, ignores Constant Payments' asynchronous callback and relies only on an active status request to finalize the payment.
  • send_customer_data -> optional, boolean - when enabled, forwards customer data from the request (and the Constants below, for anything missing) to Constant Payments; when disabled, no customer data is sent at all.

Constants (fallback fields)

Constants are static values that Corefy can send to Constant Payments instead of dynamic data from your API request, when those fields are missing in the request and send_customer_data is enabled.

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)

  • EMAIL -> customer.email
  • COUNTRY -> customer.address.country
  • CITY -> customer.address.city
  • STATE -> customer.address.region
  • ZIP -> customer.address.post_code
  • ADDRESS -> customer.address.full_address
  • IP -> customer.metadata.ip
  • DESCRIPTION, LANG, REASON -> sent to Constant Payments directly, not mapped from a customer field

Refunds

Constant Payments supports partial refunds, but only one refund per payment (no multiple partial refunds against the same payment). The original transaction ID is required to process a refund.


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

Connect Provider account in Corefy Dashboard

Uses the same Shop ID / Secret key / Public key credentials as the H2H Merchant account above - no separate connection step if you've already connected the H2H side; otherwise open Constant Payments in the provider directory and press Connect, choosing Provider account.

First request to Corefy API (MIN)

What it does: creates a payout-invoice for a card payout.

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "efbf0a2b-5590-42b7-b10b-94d49452147d",
      "service": "payment_card_eur",
      "currency": "EUR",
      "amount": 50,
      "customer": {
        "reference_id": "cus_123"
      },
      "fields": {
        "card_number": "4111111111111111"
      }
    }
  }
}

Important

  • fields.card_number is required.
  • Payout services/currencies are discovered automatically from your connected Constant Payments account rather than being fixed in advance - the exact set available to you depends on your account configuration, so confirm it with your account manager.

Extended request (MAX)

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


Constants (fallback fields)

  • DESCRIPTION -> sent to Constant Payments directly
  • CUSTOMER_NAME -> customer.name
  • CUSTOMER_IP -> customer.metadata.ip
  • CUSTOMER_EMAIL -> customer.email

Refunds

Constant Payments does not support refunds on Payouts.


Additional info

  1. Active reconciliation is available on both Payments and Payouts - in addition to the asynchronous callback, Corefy can poll Constant Payments for the latest status, unless ignore_callback is enabled on Payments.
  2. No recurring - this connector does not support saving/charging a token through Corefy.
  3. No hardcoded fallback values - if a customer field is missing and no Constant is set for it, the field is simply left out of the request to Constant Payments; nothing is substituted with a fake value.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify the Shop ID, Secret key and Public key for the selected environment (test_mode)
  • Currency or service is not supported -> confirm allowed currencies/features in your Constant Payments account and in Corefy
  • Refund fails with multiple attempts -> only one refund per payment is allowed
  • Payout rejected for missing fields -> fields.card_number is required for every payout
  • Not sure which account type to use? -> ask your Corefy account manager

Question

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