Skip to content

Logo

Trust Payments

Supports in this guide: Payments | Payouts

Provider website: trustpayments.com


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

  1. Choose account type
  2. Get your credentials (from Trust Payments)
  3. Connect in Dashboard
  4. 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"
    }
  }
}
Any of these fields you omit falls back to a placeholder ("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

  1. 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 your payment-invoice request 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 Reference must 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.

  2. 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.

  3. Refunds: Trust Payments supports both partial and multiple refunds against the same transaction.

  4. If you don't set a descriptor on the payment-invoice, Corefy sends your payment's own reference ID (truncated to 25 characters) to Trust Payments as the statement descriptor instead.

  5. 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) when customer is 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!