Xpate
Keep money flowing
Supports in this guide: Payments, Payouts
Provider website: xpate.com
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Xpate)
- Connect in Dashboard
- Send an API request
Choose account type
Xpate can be connected in different ways (depending on your needs):
- If you do card payments (card data sent directly, H2H) -> choose H2H Merchant account
- If you do payouts -> choose Provider account
If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from Xpate
Submit a connection request at xpate.com or contact your Xpate account manager directly, and submit the required documents to get your account verified.
Important
The two account types use genuinely different credentials - don't reuse one set for the other.
For H2H Merchant account:
- API Key -> Corefy field
api_key. - Save Instant Token (optional) -> Corefy field
save_instant_token.
For Provider account:
- Login -> Corefy field
login. - Control Key -> Corefy field
control_key. - Private Key (file upload, schema-optional) -> Corefy field
private_key-> required in practice to process payouts (it signs every payout request); only the balance check uses the Control Key instead. - Endpoint ID (schema-optional) -> Corefy field
endpoint_id-> required in practice to process payouts (it's part of every payout request's URL); only the balance check doesn't need it. - API URL (optional) -> Corefy field
api_url-> leave as default unless your account manager tells you otherwise. - Multi Currency (optional) -> Corefy field
is_multi_currency_integration-> enable if your Endpoint ID is shared ("grouped") across more than one currency on Xpate's side. - Disable Balance (optional) -> Corefy field
disable_balance-> turns off Corefy periodically pulling your Xpate balance.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Xpate in the provider directory and press Connect at Xpate Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- API Key
- Save Instant Token -> (enable to have Xpate create a reusable token on every successful sale, for later recurring/merchant-initiated charges)
- Test Mode -> (enable if you are using sandbox credentials)
Choose Currency / Features; check with your Corefy account manager which are enabled for your account.
Success
You have connected Xpate 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": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567",
"address": {
"country": "FR",
"city": "Paris",
"full_address": "1 Main street",
"post_code": "75000"
}
}
}
}
}
customer is entirely optional - anything you don't send falls back to the Constants below, or is simply left blank on Xpate's side.
Note
By default, Xpate also receives receiver_account_number on every sale, taken from customer.reference_id (or the MERCHANT_CUSTOMER_ID constant) - see the dont_send_receiver_account_number Option below if you need to turn this off.
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
Configured per service (payment_card_<ccy>_hpp):
dont_send_receiver_account_number-> optional, boolean - stops Corefy from sendingreceiver_account_numberon every sale (see the note above).void_on_reconcile_available-> optional, boolean - advanced setting for card-validation (no-charge) requests: automatically voids a successful validation once confirmed, so no funds are captured.zero_amount_verify-> optional, boolean - also for card-validation requests: submits a literal zero-amount authorization instead of a capturable-then-voided one.
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)
FIRSTNAME->customer.name(first part)LAST_NAME->customer.name(second part)EMAIL->customer.emailPHONE_NUMBER->customer.phoneCOUNTRY->customer.address.countryCITY->customer.address.cityADDRESS->customer.address.full_addressPOST_CODE->customer.address.post_codeADDRESS_TYPE-> billing address type sent to Xpate (defaults tobillingif neither sent nor set)LOCALE-> checkout localeIP-> customer's IP address (falls back to the IP Corefy detects if neither sent nor set)MERCHANT_CUSTOMER_ID->customer.reference_id
Refunds
Xpate supports partial and multiple refunds against the same payment.
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Xpate in the provider directory and press Connect at Xpate Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Login
- Control Key
- Private Key
- Endpoint ID
- API URL (optional)
- Multi Currency (optional)
- Disable Balance (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Success
You have connected Xpate Provider account!
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends funds directly to a card.
Payout - MIN
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"fields": {
"card_number": "4111111111111111"
}
}
}
}
Important
fields.card_number is required. This connector also supports card payouts in RUB/PLN/INR/PEN (use payment_card_<ccy> as the service code).
Payout - MAX
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "3c6d2f8e-8a2a-4e7a-9b1a-2f6a7b9c0d1e",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith"
},
"fields": {
"card_number": "4111111111111111",
"card_holder": "JOHN SMITH"
}
}
}
}
fields.card_holder is optional and falls back to customer.name (or the operation's own user name) if 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
No Options or Constants are configured for this flow.
Additional info
-
Xpate supports Apple Pay and Google Pay, with token decryption handled by Corefy.
For more information, visit:
-
Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in Xpate's own back-office.
FAQ / Troubleshooting
- Invalid credentials / auth error on the Provider account -> double-check Login/Control Key/Private Key - a missing Private Key or Endpoint ID blocks payouts even though the connection form allows saving without them
- Payout fails immediately -> confirm your Endpoint ID and Private Key are set; both are schema-optional but required for an actual payout to go through
- Currency or service is not supported -> confirm allowed currencies/features in your Xpate account and in Corefy
Question
Still looking for help connecting your Xpate account? Please contact our support team!