Trust Payments
Supports in this guide: Payments | Payouts
Provider website: trustpayments.com
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Trust Payments)
- Connect in Dashboard
- Send an API request
Choose account type
Trust Payments can be connected in different ways (depending on your needs):
- If you do payouts -> choose Provider account
- If you do H2H card payments -> choose H2H Merchant account
These are two separate credential sets — connecting one doesn't connect the other. If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from Trust Payments
Trust Payments issues separate credentials for each account type below, though the base username/password/site reference are the same shape on both.
For H2H Merchant account:
- Username -> Corefy field
user_login-> where to find: Trust Payments backoffice / issued by Trust Payments - Password -> Corefy field
user_password-> where to find: Trust Payments backoffice / issued by Trust Payments - Site Reference -> Corefy field
site_reference-> identifies your site on the Trust Payments system. Trust Payments has no separate test-mode toggle — use your test Site Reference while testing, and switch to your live one when you go live - Acquirer BIN -> Corefy field
acquirer_bin-> your acquiring bank's Bank Identification Number, required by the third-party 3D Secure (MPI) service used when MPI is enabled — this is tied to your own acquirer/3DS setup, not something Corefy provides; contact your Corefy account manager for help obtaining it - Acquirer Merchant ID -> Corefy field
acquirer_merchant_id-> your merchant ID as registered with your acquirer, required alongside Acquirer BIN for the same third-party 3D Secure service — same caveat, contact your account manager if you don't have this yet - Save Instant Token -> boolean, Corefy field
save_instant_token-> enable for recurring/merchant-initiated payments - MPI -> boolean, Corefy field
mpi-> chooses whether authentication runs through a third-party 3D Secure (MPI) service (using your own Acquirer BIN/Acquirer Merchant ID) or through Trust Payments' own bespoke 3D Secure flow instead (defaults to enabled if left blank) — see Additional info for how this changes what data reaches Trust Payments - 3DS 2 Challenge Required -> optional boolean, Corefy field
3ds_2_challenge_required-> forces an explicit customer challenge (e.g. OTP) on every 3D Secure authentication instead of letting the issuer decide frictionless vs. challenge — only applies when MPI is enabled - Trust Payments 3DS Site Reference -> optional, Corefy field
threeds_site_reference-> only applies when MPI is disabled — a separate site reference specifically for Trust Payments' own 3D Secure flow - Manual Override -> boolean, Corefy field
manual_override-> automatically finalizes a transaction stuck in Trust Payments' "pending settlement" status instead of leaving it pending — see Additional info
For Provider account:
- Username -> Corefy field
user_login-> where to find: Trust Payments backoffice / issued by Trust Payments - Password -> Corefy field
user_password-> where to find: Trust Payments backoffice / issued by Trust Payments - Site Reference -> Corefy field
site_reference
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Trust Payments in the provider directory and press Connect at Trust Payments Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Username
- Password
- Site Reference
- Acquirer BIN -> (required when MPI is enabled — third-party 3D Secure service, your own acquirer setup, ask your account manager)
- Acquirer Merchant ID -> (required when MPI is enabled — same third-party 3D Secure service, ask your account manager)
- Save Instant Token -> (enable for recurring/merchant-initiated payments)
- MPI -> (enabled by default)
- 3DS 2 Challenge Required -> (optional, forces an explicit customer challenge instead of frictionless 3D Secure — only relevant when MPI is enabled)
- Trust Payments 3DS Site Reference -> (optional, only relevant when MPI is disabled)
- Manual Override -> (auto-finalizes transactions stuck in "pending settlement")
Choose Currency. Trust Payments supports CAD, EUR, AUD, SEK, SGD, NZD, MYR, INR, GBP, IDR, PEN, and USD — check with your Corefy account manager which are enabled for your account.
Success
You have connected Trust Payments H2H Merchant account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 100,
"reference_id": "86e68af6-6b95-4cc0-be16-e4df8044604c"
}
}
}
customer is entirely optional for this flow — Trust Payments' own Webservices API marks customeremail/billingemail and every other billing field as optional too, and Corefy forwards them null-safely with no fallback. Card data (number/expiry/CVV) isn't part of this request — it's collected separately via Corefy's own card-capture step. Trust Payments doesn't support CVV-less transactions, so CVV is always required at that step. Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 100,
"customer": {
"reference_id": "bc75bc54-5023-4f98-8c0d-ec5ed7e8f380",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567",
"address": {
"country": "DE",
"region": "Berlin",
"street": "1st Street 1",
"post_code": "10115"
}
},
"reference_id": "08f5e97c-1170-4bda-9625-3bde3c6dcd20"
}
}
}
customer.name is split into a first/last name pair for Trust Payments. Important: these customer/billing fields above only ever reach Trust Payments when MPI is disabled (using Trust Payments' own 3D Secure flow) — with the default MPI enabled, authentication instead runs through a third-party 3D Secure (MPI) service using your own Acquirer BIN/Acquirer Merchant ID, and none of this billing data is sent to Trust Payments regardless of what's in the request. Trust Payments also supports USD, CAD, AUD, SEK, SGD, NZD, MYR, INR, GBP, IDR, and PEN (use payment_card_<currency>_hpp as the service code, lowercase currency). 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
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Trust Payments in the provider directory and press Connect at Trust Payments Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields (provider -> Corefy)
- Username ->
user_login - Password ->
user_password - Site Reference ->
site_reference
Success
You have connected Trust Payments Provider account!
First request to Corefy API (MIN)
What it does: creates a payout-invoice. Trust Payments supports card payouts only, in USD or EUR.
Payout - MIN
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"service": "payment_card_usd",
"currency": "USD",
"amount": 100,
"fields": {
"card_number": "4111111111111111"
},
"reference_id": "86e68af6-6b95-4cc0-be16-e4df8044604c"
}
}
}
fields.card_number is required — nothing else is. If customer is omitted, Trust Payments receives placeholder billing details instead of your real customer's ("John Doe", country US) — see MAX below for how to send real data instead. The card's expiry comes from Corefy's own card data. Trust Payments also supports EUR (use payment_card_eur as the service code). Payout - MAX
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"service": "payment_card_usd",
"currency": "USD",
"amount": 100,
"customer": {
"reference_id": "55041b5b-adfd-4073-a92b-fd8b495a4cc1",
"name": "John Smith",
"metadata": {
"date_of_birth": "06.06.1990"
},
"address": {
"country": "DE",
"city": "Berlin",
"full_address": "1st Street 1",
"post_code": "10115"
}
},
"fields": {
"card_number": "4111111111111111"
},
"reference_id": "08f5e97c-1170-4bda-9625-3bde3c6dcd20"
}
}
}
"John"/"Doe" for name, US for country) rather than being left blank — send what you have to avoid placeholder data reaching Trust Payments. customer.metadata.date_of_birth is forwarded to Trust Payments completely as-is, with no reformatting on Corefy's side — send it already in DD.MM.YYYY format (Trust Payments' own expected format), not the platform's usual YYYY-MM-DD. Note full_address here, not street — the Payments (H2H) flow above uses street instead; the two flows read different address fields. 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
Additional info
-
MPI vs Trust Payments' own 3D Secure — the MPI Dashboard field picks which system runs 3D Secure authentication for H2H payments:
- Enabled (default): authentication runs through a third-party MPI (3D Secure) service, not something Corefy operates itself — it's tied to your own Acquirer BIN/Acquirer Merchant ID, which you'll need to have set up with your acquirer. Contact your Corefy account manager for details on getting this configured for your account. No customer/billing data is sent to Trust Payments as part of this.
- Disabled: Corefy runs Trust Payments' own proprietary 3D Secure sequence instead, using the separate Trust Payments 3DS Site Reference field. In this mode, any
customer/billing fields in yourpayment-invoicerequest are forwarded to Trust Payments (see Payment - MAX above).
Either way, the redirect/challenge handling itself is automatic once your account is correctly configured — you don't need to build anything extra for it. If you disable MPI,
Trust Payments 3DS Site Referencemust be filled in — it's marked optional in the Dashboard field schema, but 3D Secure silently fails when it's left blank while MPI is disabled, since Corefy still sends the (now empty) value to Trust Payments without checking first. -
Manual Override — if enabled, Corefy automatically finalizes a transaction that comes back stuck in Trust Payments' "pending settlement" status, instead of leaving it pending. Useful if your acquiring setup often leaves transactions pending longer than expected.
-
Refunds: Trust Payments supports both partial and multiple refunds against the same transaction.
-
If you don't set a
descriptoron thepayment-invoice, Corefy sends your payment's own reference ID (truncated to 25 characters) to Trust Payments as the statement descriptor instead. -
Callbacks are used internally by Corefy as part of Trust Payments' own 3D Secure method-notification step (only relevant when MPI is disabled) — there's nothing to configure in your Trust Payments backoffice for this.
FAQ / Troubleshooting
- Payment declined - invalid CVV -> Trust Payments doesn't support CVV-less card payments; make sure CVV is captured and submitted
- Billing/customer data isn't reaching Trust Payments -> check whether MPI is enabled on your H2H Merchant account — with MPI enabled (the default), Trust Payments never receives
customer/billing fields at all, regardless of what you send - Invalid credentials / auth error -> verify your Username/Password/Site Reference match the environment (test vs live) you're sending requests to
- Payout rejected / wrong billing details -> Trust Payments payouts silently fall back to placeholder name/country (
John Doe/US) whencustomeris omitted — provide real customer data if that's not what you want sent - Not sure which account type to use? -> ask your Corefy account manager
Question
Still looking for help connecting your Trust Payments account? Please contact our support team!