Skip to content

Logo

Overpay

A payment service for cross-border transfers and e-commerce payment acceptance.

Supports in this guide: Payments

Provider website: overpay.io


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

  1. Get your credentials (from Overpay)
  2. Connect in Dashboard
  3. Send an API request

Prerequisites: get from Overpay

Contact your Overpay account manager to get your account verified and receive the following credentials.

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

Currencies/features are configured per your Overpay account - check available values with your account manager.


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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Shop ID
  • Public key
  • Secret key
  • Test Mode -> (enable if you are using sandbox credentials)
  • 3DS Mode -> Simple or Advanced
  • Provider URL -> fixed value, pre-filled
  • Currency / Features -> choose values available for your account

Success

You have connected Overpay 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. CVV is always required, unless the currency is UZS, where it is optional.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "50eb03f2-de01-474f-907a-53bbb2a30af3",
      "service": "payment_card_kzt_hpp",
      "currency": "KZT",
      "amount": 600
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "50eb03f2-de01-474f-907a-53bbb2a30af3",
      "service": "payment_card_kzt_hpp",
      "currency": "KZT",
      "amount": 600,
      "customer": {
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "name": "John Smith",
        "address": {
          "country": "KZ",
          "region": "Almaty",
          "city": "Almaty",
          "post_code": "050000",
          "full_address": "1st Street 1"
        }
      }
    }
  }
}

Important

  • customer.email and the customer's IP address are always sent to Overpay. If customer.email is missing and the EMAIL Constant isn't set either, a fixed placeholder email (john@example.com) is sent instead of leaving the field empty - this is a built-in code default, not something you need to configure. The same applies to the customer's IP: if it can't be resolved, 127.0.0.1 is sent.
  • The full billing address (customer.address, name, phone) is only sent to Overpay when the send_customer_data Option (see Options below) is enabled - otherwise only email and IP are sent.
  • When send_customer_data is enabled and an address field is still missing (and no matching Constant is set), built-in placeholder defaults are sent instead: country DE, city Denver, state CO, zip 96002, address 1st Street. These are the same kind of code-level fallback as the email/IP default above, not real customer data.

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 Overpay's asynchronous callback and relies only on an active status request to finalize the payment.
  • send_customer_data -> optional, boolean - when enabled, sends the customer's billing address (name, phone, country, city, state, zip, address) to Overpay; when disabled (default), only customer.email and the IP address are sent.

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 -> a built-in code default is sent (see the note above) rather than the field being omitted

Currently available constants (constant -> Corefy API field)

  • EMAIL -> customer.email
  • DESCRIPTION -> transaction description
  • LANG -> transaction language
  • REASON -> refund reason
  • COUNTRY -> customer.address.country
  • CITY -> customer.address.city
  • STATE -> customer.address.region
  • ZIP -> customer.address.post_code
  • ADDRESS -> customer.address.full_address

Refunds

Overpay supports partial refunds, but only one refund per payment (no multiple partial refunds against the same payment).


Additional info

  1. Active reconciliation is available - both the asynchronous callback and an active status request can finalize the payment, unless ignore_callback is enabled.
  2. No recurring - this connector does not support saving/charging a token through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify the Shop ID and key pair for the selected environment (test_mode)
  • Billing address never reaches Overpay -> enable the send_customer_data Option
  • A fake email or address appears on the provider's side -> this happens when the request is missing customer.email/address fields and no matching Constant is configured; set the relevant Constants (or send the fields in the request) to avoid the built-in placeholder defaults
  • Currency or service is not supported -> confirm allowed currencies/features in your Overpay account and in Corefy
  • Refund fails with multiple attempts -> only one refund per payment is allowed

Question

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