BoxPlat
Payment gateway and business services for acquirers, PSPs, and banks
Supports in this guide: Payments, Payouts
Provider website: boxplat.com
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from BoxPlat)
- Connect in Dashboard
- Send an API request
Choose account type
BoxPlat can be connected in different ways (depending on your needs):
- If you do H2H card payments (card data sent directly) -> choose H2H Merchant account
- If you do redirect payments (customer redirected to a hosted payment page) or payouts -> choose Provider account
If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from BoxPlat
Get the following values from BoxPlat (same kind of credentials for both account types, connected separately in Dashboard):
- Login -> Corefy field
login-> where to find: BoxPlat backoffice / issued by BoxPlat manager. - Password -> Corefy field
password-> where to find: BoxPlat backoffice / issued by BoxPlat manager. - SSL Certificate -> Corefy field
ssl_certificate(upload the certificate file) -> where to find: BoxPlat backoffice / issued by BoxPlat manager. - SSL Password -> Corefy field
ssl_password-> protects the SSL certificate above. - API URL (optional) -> Corefy field
api_url-> BoxPlat's own default endpoint is used if left blank -> confirm with your account manager only if told to use a different one. - Balance Currency (optional, Provider account only) -> Corefy field
balance_currency-> selects which currency's balance BoxPlat reports back for this connection.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open BoxPlat in the provider directory and press Connect at BoxPlat Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Login
- Password
- SSL Certificate (upload)
- SSL Password
- API URL (optional, leave blank for the default)
Choose Currency and Features. You can set these parameters according to available currencies and features for your BoxPlat account (EUR, USD confirmed), but it is necessary to check details of the connection with your Corefy account manager.
Success
You have connected BoxPlat 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,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com",
"address": {
"country": "DE",
"city": "Berlin"
}
}
}
}
}
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": "DE",
"city": "Berlin",
"post_code": "10115",
"full_address": "1 Main street"
}
}
}
}
}
customer, customer.address, and customer.email are all required - BoxPlat rejects a request missing any of them before it's even sent. The cardholder's full name must also resolve to a Latin-alphabet first and last name - this comes from customer.name via the checkout/SDK layer, not from this request directly. This connector also supports USD (payment_card_usd_hpp).
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 (3)
time_to_finalize- automatically fails a transaction if BoxPlat hasn't returned a final status within this many hours.save_cash_flow- stores BoxPlat's own cash-flow/settlement breakdown data alongside the transaction.ignore_card_network- changes how card-network-specific extra data is attached to the request.
time_to_finalize
What it does: sets how many hours Corefy waits for a final status from BoxPlat before automatically marking a still-pending transaction as failed.
When to use: set it if you want a predictable maximum wait time for payments that never receive a clear final status from BoxPlat.
Default: not set (no automatic timeout)
Allowed values: any whole number of hours
save_cash_flow
What it does: when enabled, Corefy stores BoxPlat's own cash-flow/settlement breakdown data from the response alongside the transaction record.
When to use: enable it if you need that settlement-level detail available on the transaction later.
Default: false
Allowed values: true / false
ignore_card_network
What it does: by default, extra card-network-specific data is only attached to the request for non-Visa networks; enabling this applies that same handling regardless of network.
When to use: enable only if instructed by BoxPlat or your Corefy account manager.
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)
Currently available constants (constant -> Corefy API field)
OS-> not a request-field fallback - always used as-is for the synthetic device/browser fingerprint sent with every 3DS request (default:Windows)OS_VERSION-> same asOS(default:x86_64)PLUGINS-> same asOS(default: a generic PDF-viewer plugin list)IS_MOBILE-> same asOS(default:false)
Note
Unlike a typical Constant, these four have no equivalent per-request field to override them - Corefy always sends BoxPlat a synthetic browser fingerprint built from these values (plus whatever real browser/device data is available). Set them only if you need to override the generic desktop-browser default.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open BoxPlat in the provider directory and press Connect at BoxPlat Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Login
- Password
- SSL Certificate (upload)
- SSL Password
- API URL (optional, leave blank for the default)
- Balance Currency (optional)
Success
You have connected BoxPlat Provider account!
First request to Corefy API
What it does: creates a payment-invoice and returns a redirect link to BoxPlat's hosted payment page. This flow reads nothing beyond the generic envelope - no customer/fields data is forwarded to BoxPlat at all, so there's no MIN/MAX distinction to make.
Payment - Actual
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10
}
}
}
This connector may support other currencies/local methods beyond EUR - confirm with your Corefy account manager which ones are enabled for your account.
Options
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.
Currently available options (1)
force3d- forces a 3D Secure challenge on every payment, regardless of what BoxPlat/the card issuer would otherwise require.
force3d
What it does: forces BoxPlat to run a 3D Secure challenge on the payment, even if it wouldn't otherwise be required.
When to use: enable it if your risk/compliance policy requires 3DS on every transaction for this connection.
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.
Currently available constants (constant -> Corefy API field)
LANGUAGE-> not a request-field fallback - there's no per-request override for this; set it to control the language shown on BoxPlat's hosted payment page for this service.
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Uses the same Provider account connection as Payments above - one connection covers both directions, there's nothing extra to fill in for payouts specifically.
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends funds 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,
"customer": {
"reference_id": "cus_123",
"name": "John Smith"
},
"fields": {
"card_number": "4111111111111111",
"card_exp_month": "12",
"card_exp_year": "27"
}
}
}
}
Payout - MAX
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "7976b4ce-fadd-4585-baa0-6b02c65351dc",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567",
"address": {
"country": "DE",
"region": "Berlin"
},
"metadata": {
"ip": "203.0.113.10",
"date_of_birth": "1990-05-12"
}
},
"fields": {
"card_number": "4111111111111111",
"card_exp_month": "12",
"card_exp_year": "27"
}
}
}
}
fields.card_number and fields.card_exp_month/card_exp_year are required, as is customer.name - BoxPlat rejects a payout without a customer name, and that name must be exactly two Latin-alphabet words (first and last name only - no middle names, no non-Latin characters). This connector also supports payouts in RUB, USD, BRL, CAD, THB, VND, INR, MYR, AUD, PKR, NZD, TRY, AZN, KZT, NOK, ZAR, and PLN (use payment_card_<currency> as the service code).
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
Note
No Corefy-side Options or Constants apply to BoxPlat payouts.
Additional info
- No callbacks - status is polled. BoxPlat doesn't send webhooks on either account type; Corefy checks the transaction status with BoxPlat automatically (reconciliation), so there's no callback URL to configure in BoxPlat's own back-office.
-
H2H: Apple Pay and Google Pay are supported with decryption on BoxPlat's side - BoxPlat validates the merchant session and handles the decrypted payment data server-side.
For more information, visit:
- How to Integrate Apple Pay with Corefy: Full Technical Walkthrough
- How to Integrate Google Pay with Corefy: Full Technical Walkthrough
- Provider account: Apple Pay and Google Pay are also supported on the redirect flow, routed automatically once enabled for this connection - there's no separate service code or extra request field, nothing additional to configure beyond what your account manager sets up for the route.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify Login/Password and the SSL certificate/password match the environment (sandbox vs production) you're using
- H2H: payment rejected for missing customer/address/email -> all three are required for every BoxPlat H2H sale
- Payout rejected for invalid customer name ->
customer.namemust be exactly two Latin-alphabet words (first and last name) - Currency or service is not supported -> confirm allowed currencies/features in your BoxPlat account and in Corefy
- Not sure which account type to use? -> ask your Corefy account manager
Question
Still looking for help connecting your BoxPlat account? Please contact our support team!