Skip to content

Logo

EspertoPay

Seamless Payments. The easy way to stay on top of your finances, no matter where you are.

Supports in this guide: Payments

Provider website: espertopay.com


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

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

Prerequisites: get from EspertoPay

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

  • Client key -> Corefy field client_key.
  • Client pass -> Corefy field client_pass.

Available currencies depend on the routes configured for your account.


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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Client key
  • Client pass
  • Currency / Features -> choose values available for your account

Success

You have connected EspertoPay 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 - EspertoPay does not support non-CVV payments.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "c51f52d0-166a-4c00-931b-6947c5ff0f1b",
      "service": "payment_card_usd_hpp",
      "currency": "USD",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "d62g63e1-277b-4d11-942c-7a58d6gg1g2c",
      "service": "payment_card_usd_hpp",
      "currency": "USD",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Doe",
        "email": "john@example.com",
        "phone": "+15551234567",
        "date_of_birth": "1990-01-01",
        "address": {
          "full_address": "Main street 1",
          "country": "US",
          "region": "NY",
          "city": "New York",
          "post_code": "10001"
        }
      }
    }
  }
}

Important

No Constants are configured by default for customer.name/customer.email - if a customer field is missing and no matching Constant is set, it's simply not sent.


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

  • auth -> optional, boolean - sends the payment to EspertoPay as an authorization only (no automatic capture) instead of a sale.
  • ignore_callback -> optional, boolean - ignores EspertoPay's asynchronous callback and relies only on an active status request to finalize the payment.
  • allow_ipv6 -> optional, boolean - allows sending the customer's real IPv6 address to EspertoPay; when disabled (default) and the customer's IP is IPv6, the IP Constant (or a default placeholder) is sent instead.

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)

  • PAYER_FIRST_NAME -> customer.name (first part)
  • PAYER_LAST_NAME -> customer.name (second part)
  • PAYER_MIDDLE_NAME -> customer.name (third part)
  • PAYER_EMAIL -> customer.email
  • PAYER_PHONE -> customer.phone
  • PAYER_BIRTH_DATE -> customer.date_of_birth
  • PAYER_ADDRESS -> customer.address.full_address
  • PAYER_COUNTRY -> customer.address.country
  • PAYER_STATE -> customer.address.region
  • PAYER_CITY -> customer.address.city
  • PAYER_ZIP -> customer.address.post_code
  • IP -> client IP address (used only when the customer's real IP is IPv6 and allow_ipv6 is not enabled)
  • TERM_URL_TARGET -> target window for the 3D Secure redirect

Refunds

EspertoPay supports refunds for the full amount only (no partial or multiple refunds).


Additional info

  1. Active reconciliation is available - an active status request can finalize the payment in addition to the asynchronous callback, unless ignore_callback is enabled (in which case only the active status request is used).

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify client_key/client_pass
  • Payment declined for missing CVV -> EspertoPay always requires CVV; non-CVV payments are not supported
  • Currency or service is not supported -> confirm allowed currencies/features in your EspertoPay account and in Corefy
  • Refund fails with multiple attempts -> only one, full-amount refund per payment is allowed
  • Unexpected IP sent to EspertoPay -> if the customer's IP is IPv6, enable allow_ipv6 or set the IP Constant, otherwise a fallback IP is sent

Question

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