Trustpayments Gateway Guide

Trust Payments Gateway enables seamless payment processing for merchants across North America and Europe, supporting a wide range of payment methods and advanced transaction features.

Additional notes
Only one partial capture per original authorization.
Multiple partial refunds allowed, up to the original amount.

Credentials

Basic <base64(username:password)> is the HTTP header Trust Payments uses to authenticate the merchant, where the literal string "username:password" is Base64‑encoded.

Credential FieldDescription
usernameAPI username
passwordAPI password (encrypted)
sitereferenceSite reference identifier

Adding TrustPayments gateway

https://core.spreedly.com/v1/gateways.xml \
  -u 'ENV_KEY:ACCESS_SECRET' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>trust_payments</gateway_type>
        <username>your_username</username>
        <site_reference>your_site_reference</site_reference>
        <password>your_password</password>
        <sandbox>true</sandbox>
      </gateway>'
<gateway>
 <token>7WNHCG4BX79VXT3J5NGAWJV2M6</token>
  <gateway_type>trust_payments</gateway_type>
  <name>TrustPayments</name>
  <description nil="true"/>
  <merchant_profile_key nil="true"/>
  <sub_merchant_key nil="true"/>
  <username>[email protected]</username>
  <site_reference>test_spreedly144677</site_reference>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">true</supports_authorize>
    <supports_capture type="boolean">true</supports_capture>
    <supports_partial_capture type="boolean">true</supports_partial_capture>
    <supports_credit type="boolean">true</supports_credit>
    <supports_partial_credit type="boolean">true</supports_partial_credit>
    <supports_general_credit type="boolean">false</supports_general_credit>
    <supports_void type="boolean">true</supports_void>
    <supports_adjust type="boolean">false</supports_adjust>
    <supports_verify type="boolean">true</supports_verify>
    <supports_reference_purchase type="boolean">false</supports_reference_purchase>
    <supports_purchase_via_preauthorization type="boolean">false</supports_purchase_via_preauthorization>
    <supports_offsite_purchase type="boolean">false</supports_offsite_purchase>
    <supports_offsite_authorize type="boolean">false</supports_offsite_authorize>
    <supports_offsite_synchronous_purchase type="boolean">false</supports_offsite_synchronous_purchase>
    <supports_offsite_synchronous_authorize type="boolean">false</supports_offsite_synchronous_authorize>
    <supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
    <supports_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>
    <supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>
    <supports_store type="boolean">true</supports_store>
    <supports_remove type="boolean">false</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_network_tokenization type="boolean">true</supports_network_tokenization>
    <supports_inquire_by_gateway_transaction_id type="boolean">false</supports_inquire_by_gateway_transaction_id>
    <supports_inquire_by_order_id type="boolean">false</supports_inquire_by_order_id>
    <supports_transaction_retry type="boolean">true</supports_transaction_retry>
    <supports_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
    <supports_stored_credentials type="boolean">true</supports_stored_credentials>
  </characteristics>
  <credentials>
    <credential>
      <name>username</name>
      <value>[email protected]</value>
    </credential>
    <credential>
      <name>site_reference</name>
      <value>test_spreedly144677</value>
    </credential>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>account_type_description</gateway_specific_field>
    <gateway_specific_field>settle_due_date</gateway_specific_field>
    <gateway_specific_field>sca_exemption_indicator</gateway_specific_field>
    <gateway_specific_field>initiation_reason</gateway_specific_field>
    <gateway_specific_field>subscription_number</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>apple_pay</payment_method>
    <payment_method>google_pay</payment_method>
    <payment_method>third_party_token</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">true</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2025-12-11T14:43:06Z</created_at>
  <updated_at type="dateTime">2025-12-11T14:43:06Z</updated_at>
</gateway>

Gateway Specific Fields

{
  "transaction": {
    "payment_method_token": "PMT-123",
    "amount": 1050,
    "currency_code": "GBP",
    "gateway_specific_fields": {
      "trust_payments": {
        "account_type_description": "MOTO",  
        "sca_exemption_indicator": "2",
        "subscription_number": "2",
        "initiation_reason": "recurring"
      }
    }
  }
}

Parameter Details

Field Name

Description

account_type_description

The type of account to be used:

  • ECOM – E-commerce
  • MOTO – Mail Order Telephone Order
  • RECUR – Recurring transactions

settle_due_date

You can submit this field in the request to specify the date you would like your transaction to settle. This must be within 7 days of the authorisation date.

sca_exemption_indicator

Required if flagging a transaction as exempt from EMV 3DS.

initiation_reason

allows you to assign a reason for a Merchant Initiated Transaction (MIT).

Do not submit when processing a Customer Initiated Transaction (CIT).

The allowed values for this field are “A”, “C”, “D”, “S” and “X”

subscription_number

Subscription sequence number for recurring/installment flows.

Stored Credentials

For any Authorize or Purchase request, you need to include two fields which tell Spreedly a little bit more about the nature of the transaction:

  • stored_credential_initiator
  • stored_credential_reason_type (accepted values “recurring” and “installment”)