Gateways

List supported gateways

GET /v1/gateways_options.<format> HTTPS/1.1
Host: core.spreedly.com

Example response has been truncated for brevity

HTTPS/1.1 200 OK
{
  "gateways": [
    {
      "gateway_type": "acapture",
      "name": "Acapture",
      "auth_modes": [
        {
          "auth_mode_type": "default",
          "name": "Default",
          "credentials": [
            {
              "name": "entity_id",
              "label": "Entity Id",
              "safe": true
            },
            {
              "name": "access_token",
              "label": "Access Token",
              "safe": false
            }
          ]
        }
      ],
      "characteristics": [
        "purchase",
        "authorize",
        "capture",
        "credit",
        "void",
        "verify"
      ],
      "payment_methods": [
        "credit_card"
      ],
      "gateway_settings": [

      ],
      "gateway_specific_fields": [
        "disable_3d_secure"
      ],
      "supported_countries": [
        "AD",
        "AI",
        "AT",
        "BE",
        "BG",
        "CA",
        "HR",
        "CY",
        "CZ",
        "DK",
        "EE",
        "FI",
        "FR",
        "DE",
        "GR",
        "HK",
        "HU",
        "IS",
        "IT",
        "LV",
        "LI",
        "LT",
        "LU",
        "MT",
        "MC",
        "NL",
        "PL",
        "PT",
        "SM",
        "SK",
        "SI",
        "ES",
        "SE",
        "CH",
        "TR",
        "GB",
        "US"
      ],
      "supported_cardtypes": [
        "visa",
        "master",
        "american_express",
        "diners_club",
        "discover",
        "jcb",
        "maestro",
        "dankort"
      ],
      "regions": [
        "asia_pacific",
        "europe",
        "north_america"
      ],
      "homepage": "https://www.acapture.com",
      "display_api_url": "https://oppwa.com/v1/payments",
      "company_name": "Acapture"
    },
    {
      "gateway_type": "adyen",
      "name": "Adyen",
      "auth_modes": [
        {
          "auth_mode_type": "default",
          "name": "Default",
          "credentials": [
            {
              "name": "merchant_account",
              "label": "Merchant Account",
              "safe": true
            },
            {
              "name": "username",
              "label": "Username",
              "safe": true
            },
            {
              "name": "password",
              "label": "Password",
              "safe": false
            }
          ]
        }
      ],
      "characteristics": [
        "purchase",
        "authorize",
        "capture",
        "credit",
        "general_credit",
        "void",
        "adjust",
        "verify",
        "3dsecure_purchase",
        "3dsecure_authorize",
        "3dsecure_2_mpi_purchase",
        "3dsecure_2_mpi_authorize",
        "store",
        "remove",
        "network_tokenization",
        "populate_mit_fields",
        "transaction_retry",
        "3dsecure_2_purchase",
        "3dsecure_2_authorize",
        "stored_credentials",
        "card_scheme_ntid",
        "moto_exemption",
        "low_value_exemption"
      ],
      "payment_methods": [
        "credit_card",
        "apple_pay",
        "google_pay",
        "third_party_token",
        "bank_account"
      ],
      "gateway_settings": [
        {
          "name": "subdomain",
          "label": "Subdomain"
        }
      ],
      "gateway_specific_fields": [
        "shopper_reference",
        "shopper_statement",
        "fraud_offset",
        "selected_brand",
        "delivery_date",
        "merchant_order_reference",
        "shopper_interaction",
        "installments",
        "recurring_processing_model",
        "brand_override",
        "custom_routing_flag",
        "user_agent",
        "accept_header",
        "risk_data",
        "shopper_ip",
        "threed_dynamic",
        "idempotency_key",
        "device_fingerprint",
        "adjust_authorisation_data",
        "authorisation_type",
        "requested_test_acquirer_response_code",
        "update_shopper_statement",
        "industry_usage",
        "capture_delay_hours",
        "splits",
        "tokenize_only",
        "recurring_contract_type",
        "recurring_detail_reference",
        "sub_merchant_id",
        "sub_merchant_name",
        "sub_merchant_street",
        "sub_merchant_city",
        "sub_merchant_state",
        "sub_merchant_postal_code",
        "sub_merchant_country",
        "sub_merchant_tax_id",
        "sub_merchant_mcc",
        "sub_merchant_data",
        "cancel_or_refund",
        "network_transaction_id",
        "external_platform",
        "merchant_application",
        "verify_amount",
        "level_2_data",
        "level_3_data",
        "additional_data_airline",
        "additional_data_lodging",
        "store",
        "date_of_birth",
        "nationality",
        "fund_source",
        "address_override",
        "mcc",
        "metadata"
      ],
      "supported_countries": [
        "AT",
        "AU",
        "BE",
        "BG",
        "BR",
        "CH",
        "CY",
        "CZ",
        "DE",
        "DK",
        "EE",
        "ES",
        "FI",
        "FR",
        "GB",
        "GI",
        "GR",
        "HK",
        "HU",
        "IE",
        "IS",
        "IT",
        "LI",
        "LT",
        "LU",
        "LV",
        "MC",
        "MT",
        "MX",
        "NL",
        "NO",
        "PL",
        "PT",
        "RO",
        "SE",
        "SG",
        "SK",
        "SI",
        "US"
      ],
      "supported_cardtypes": [
        "visa",
        "master",
        "american_express",
        "diners_club",
        "jcb",
        "dankort",
        "maestro",
        "discover",
        "elo",
        "naranja",
        "cabal",
        "unionpay"
      ],
      "regions": [
        "asia_pacific",
        "europe",
        "latin_america",
        "north_america"
      ],
      "homepage": "https://www.adyen.com/",
      "display_api_url": "https://pal-live.adyen.com/pal/servlet/",
      "company_name": "Adyen"
    }
  ]
}
<gateways>
  <gateway>
    <gateway_type>acapture</gateway_type>
    <name>Acapture</name>
    <auth_modes>
      <auth_mode>
        <auth_mode_type>default</auth_mode_type>
        <name>Default</name>
        <credentials>
          <credential>
            <name>entity_id</name>
            <label>Entity Id</label>
            <safe type="boolean">true</safe>
          </credential>
          <credential>
            <name>access_token</name>
            <label>Access Token</label>
            <safe type="boolean">false</safe>
          </credential>
        </credentials>
      </auth_mode>
    </auth_modes>
    <gateway_settings>
    </gateway_settings>
    <characteristics>
      <supports_purchase type="boolean">true</supports_purchase>
      <supports_authorize type="boolean">true</supports_authorize>
      <supports_capture type="boolean">true</supports_capture>
      <supports_credit type="boolean">true</supports_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">false</supports_3dsecure_2_mpi_purchase>
      <supports_3dsecure_2_mpi_authorize type="boolean">false</supports_3dsecure_2_mpi_authorize>
      <supports_store type="boolean">false</supports_store>
      <supports_remove type="boolean">false</supports_remove>
      <supports_fraud_review type="boolean">false</supports_fraud_review>
      <supports_network_tokenization type="boolean">false</supports_network_tokenization>
      <supports_populate_mit_fields type="boolean">false</supports_populate_mit_fields>
      <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">false</supports_transaction_retry>
      <supports_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
    </characteristics>
    <payment_methods>
      <payment_method>credit_card</payment_method>
    </payment_methods>
    <gateway_specific_fields>
      <gateway_specific_field>disable_3d_secure</gateway_specific_field>
    </gateway_specific_fields>
    <supported_countries>AD, AI, AT, BE, BG, CA, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HK, HU, IS, IT, LV, LI, LT, LU, MT, MC, NL, PL, PT, SM, SK, SI, ES, SE, CH, TR, GB, US</supported_countries>
    <supported_cardtypes>visa, master, american_express, diners_club, discover, jcb, maestro, dankort</supported_cardtypes>
    <regions>asia_pacific, europe, north_america</regions>
    <homepage>https://www.acapture.com</homepage>
    <display_api_url>https://oppwa.com/v1/payments</display_api_url>
    <company_name>Acapture</company_name>
  </gateway>
  <gateway>
    <gateway_type>adyen</gateway_type>
    <name>Adyen</name>
    <auth_modes>
      <auth_mode>
        <auth_mode_type>default</auth_mode_type>
        <name>Default</name>
        <credentials>
          <credential>
            <name>merchant_account</name>
            <label>Merchant Account</label>
            <safe type="boolean">true</safe>
          </credential>
          <credential>
            <name>username</name>
            <label>Username</label>
            <safe type="boolean">true</safe>
          </credential>
          <credential>
            <name>password</name>
            <label>Password</label>
            <safe type="boolean">false</safe>
          </credential>
        </credentials>
      </auth_mode>
    </auth_modes>
    <gateway_settings>
      <gateway_setting>
        <name>subdomain</name>
        <label>Subdomain</label>
      </gateway_setting>
    </gateway_settings>
    <characteristics>
      <supports_purchase type="boolean">true</supports_purchase>
      <supports_authorize type="boolean">true</supports_authorize>
      <supports_capture type="boolean">true</supports_capture>
      <supports_credit type="boolean">true</supports_credit>
      <supports_general_credit type="boolean">true</supports_general_credit>
      <supports_void type="boolean">true</supports_void>
      <supports_adjust type="boolean">true</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">true</supports_3dsecure_purchase>
      <supports_3dsecure_authorize type="boolean">true</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">true</supports_remove>
      <supports_fraud_review type="boolean">false</supports_fraud_review>
      <supports_network_tokenization type="boolean">true</supports_network_tokenization>
      <supports_populate_mit_fields type="boolean">true</supports_populate_mit_fields>
      <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_3dsecure_2_purchase type="boolean">true</supports_3dsecure_2_purchase>
      <supports_3dsecure_2_authorize type="boolean">true</supports_3dsecure_2_authorize>
      <supports_stored_credentials type="boolean">true</supports_stored_credentials>
      <supports_card_scheme_ntid type="boolean">true</supports_card_scheme_ntid>
      <supports_moto_exemption type="boolean">true</supports_moto_exemption>
      <supports_low_value_exemption type="boolean">true</supports_low_value_exemption>
    </characteristics>
    <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_method>bank_account</payment_method>
    </payment_methods>
    <gateway_specific_fields>
      <gateway_specific_field>shopper_reference</gateway_specific_field>
      <gateway_specific_field>shopper_statement</gateway_specific_field>
      <gateway_specific_field>fraud_offset</gateway_specific_field>
      <gateway_specific_field>selected_brand</gateway_specific_field>
      <gateway_specific_field>delivery_date</gateway_specific_field>
      <gateway_specific_field>merchant_order_reference</gateway_specific_field>
      <gateway_specific_field>shopper_interaction</gateway_specific_field>
      <gateway_specific_field>installments</gateway_specific_field>
      <gateway_specific_field>recurring_processing_model</gateway_specific_field>
      <gateway_specific_field>brand_override</gateway_specific_field>
      <gateway_specific_field>custom_routing_flag</gateway_specific_field>
      <gateway_specific_field>user_agent</gateway_specific_field>
      <gateway_specific_field>accept_header</gateway_specific_field>
      <gateway_specific_field>risk_data</gateway_specific_field>
      <gateway_specific_field>shopper_ip</gateway_specific_field>
      <gateway_specific_field>threed_dynamic</gateway_specific_field>
      <gateway_specific_field>idempotency_key</gateway_specific_field>
      <gateway_specific_field>device_fingerprint</gateway_specific_field>
      <gateway_specific_field>adjust_authorisation_data</gateway_specific_field>
      <gateway_specific_field>authorisation_type</gateway_specific_field>
      <gateway_specific_field>requested_test_acquirer_response_code</gateway_specific_field>
      <gateway_specific_field>update_shopper_statement</gateway_specific_field>
      <gateway_specific_field>industry_usage</gateway_specific_field>
      <gateway_specific_field>capture_delay_hours</gateway_specific_field>
      <gateway_specific_field>splits</gateway_specific_field>
      <gateway_specific_field>tokenize_only</gateway_specific_field>
      <gateway_specific_field>recurring_contract_type</gateway_specific_field>
      <gateway_specific_field>recurring_detail_reference</gateway_specific_field>
      <gateway_specific_field>sub_merchant_id</gateway_specific_field>
      <gateway_specific_field>sub_merchant_name</gateway_specific_field>
      <gateway_specific_field>sub_merchant_street</gateway_specific_field>
      <gateway_specific_field>sub_merchant_city</gateway_specific_field>
      <gateway_specific_field>sub_merchant_state</gateway_specific_field>
      <gateway_specific_field>sub_merchant_postal_code</gateway_specific_field>
      <gateway_specific_field>sub_merchant_country</gateway_specific_field>
      <gateway_specific_field>sub_merchant_tax_id</gateway_specific_field>
      <gateway_specific_field>sub_merchant_mcc</gateway_specific_field>
      <gateway_specific_field>sub_merchant_data</gateway_specific_field>
      <gateway_specific_field>cancel_or_refund</gateway_specific_field>
      <gateway_specific_field>network_transaction_id</gateway_specific_field>
      <gateway_specific_field>external_platform</gateway_specific_field>
      <gateway_specific_field>merchant_application</gateway_specific_field>
      <gateway_specific_field>verify_amount</gateway_specific_field>
      <gateway_specific_field>level_2_data</gateway_specific_field>
      <gateway_specific_field>level_3_data</gateway_specific_field>
      <gateway_specific_field>additional_data_airline</gateway_specific_field>
      <gateway_specific_field>additional_data_lodging</gateway_specific_field>
      <gateway_specific_field>store</gateway_specific_field>
      <gateway_specific_field>date_of_birth</gateway_specific_field>
      <gateway_specific_field>nationality</gateway_specific_field>
      <gateway_specific_field>fund_source</gateway_specific_field>
      <gateway_specific_field>address_override</gateway_specific_field>
      <gateway_specific_field>mcc</gateway_specific_field>
      <gateway_specific_field>metadata</gateway_specific_field>
    </gateway_specific_fields>
    <supported_countries>AT, AU, BE, BG, BR, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GI, GR, HK, HU, IE, IS, IT, LI, LT, LU, LV, MC, MT, MX, NL, NO, PL, PT, RO, SE, SG, SK, SI, US</supported_countries>
    <supported_cardtypes>visa, master, american_express, diners_club, jcb, dankort, maestro, discover, elo, naranja, cabal, unionpay</supported_cardtypes>
    <regions>asia_pacific, europe, latin_america, north_america</regions>
    <homepage>https://www.adyen.com/</homepage>
    <display_api_url>https://pal-live.adyen.com/pal/servlet/</display_api_url>
    <company_name>Adyen</company_name>
  </gateway>
</gateways>

Retrieve a list of all gateways, and their properties, supported by Spreedly. This call can be used to dynamically present a gateway credential form to users or to do any sort of dynamic rendering.

URL Parameters

Parameter Description
format
required
One of json or xml

Response Body

Notable response elements include:

Element Description
gateways Root element
❯ name The human readable name of the gateway
❯ gateway_type The type (short name) of the gateway. Use this value when provisioning a gateway.
❯ auth_modes A list of authorization modes for the gateway. An auth mode is basically a list of credentials required for this gateway (some gateways support various ways of entering credentials).
❯ gateway_settings The non-credential fields that can be specified at the gateway level, and included in all transactions
❯ characteristics A list of operations (such as purchase, capture etc…) that the gateway supports
❯ payment_methods A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports
❯ gateway_specific_fields The list of gateway specific fields that can be specified in supported gateway transactions
❯ supported_countries The list of countries this gateway supports
❯ supported_cardtypes The list of credit card brands this gateway supports
❯ regions The list of geographic regions this gateway supports (determined by the supported_countries)

List created gateways

GET /v1/gateways.<format> HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/<format>

Example response has been truncated for brevity

HTTPS/1.1 200 OK
{
  "gateways": [
    {
      "token": "CtehwikoMnllHsr3XFfAY1EzPkN",
      "gateway_type": "test",
      "description": null,
      "merchant_profile_key": null,
      "sub_merchant_key": null,
      "payment_methods": [
        "credit_card",
        "sprel",
        "third_party_token",
        "bank_account",
        "apple_pay",
        "google_pay"
      ],
      "state": "retained",
      "created_at": "2017-06-22T13:19:11Z",
      "updated_at": "2017-11-27T21:08:11Z",
      "name": "Spreedly Test",
      "characteristics": [
        "purchase",
        "authorize",
        "capture",
        "credit",
        "general_credit",
        "void",
        "adjust",
        "verify",
        "reference_purchase",
        "purchase_via_preauthorization",
        "offsite_purchase",
        "offsite_authorize",
        "offsite_synchronous_purchase",
        "offsite_synchronous_authorize",
        "3dsecure_purchase",
        "3dsecure_authorize",
        "3dsecure_2_mpi_purchase",
        "3dsecure_2_mpi_authorize",
        "store",
        "remove",
        "network_tokenization",
        "populate_mit_fields",
        "transaction_retry",
        "reference_authorization",
        "3dsecure_2_purchase",
        "3dsecure_2_authorize",
        "stored_credentials"
      ],
      "credentials": [

      ],
      "gateway_settings": {
      },
      "gateway_specific_fields": [
        "simulate_error",
        "simulate_decline",
        "idempotency_key",
        "mit_override_demo"
      ],
      "redacted": false,
      "sandbox": false,
      "mode": "default"
    },
    {
      "token": "7NTzuQfnaNU2Jr4cVgOt7jfTVGq",
      "gateway_type": "test",
      "description": null,
      "merchant_profile_key": null,
      "sub_merchant_key": null,
      "payment_methods": [
        "credit_card",
        "sprel",
        "third_party_token",
        "bank_account",
        "apple_pay",
        "google_pay"
      ],
      "state": "retained",
      "created_at": "2017-06-22T14:16:23Z",
      "updated_at": "2017-11-27T21:44:49Z",
      "name": "Spreedly Test",
      "characteristics": [
        "purchase",
        "authorize",
        "capture",
        "credit",
        "general_credit",
        "void",
        "adjust",
        "verify",
        "reference_purchase",
        "purchase_via_preauthorization",
        "offsite_purchase",
        "offsite_authorize",
        "offsite_synchronous_purchase",
        "offsite_synchronous_authorize",
        "3dsecure_purchase",
        "3dsecure_authorize",
        "3dsecure_2_mpi_purchase",
        "3dsecure_2_mpi_authorize",
        "store",
        "remove",
        "network_tokenization",
        "populate_mit_fields",
        "transaction_retry",
        "reference_authorization",
        "3dsecure_2_purchase",
        "3dsecure_2_authorize",
        "stored_credentials"
      ],
      "credentials": [

      ],
      "gateway_settings": {
      },
      "gateway_specific_fields": [
        "simulate_error",
        "simulate_decline",
        "idempotency_key",
        "mit_override_demo"
      ],
      "redacted": false,
      "sandbox": false,
      "mode": "default"
    }
  ]
}
<gateways>
  <gateway>
    <token>CtehwikoMnllHsr3XFfAY1EzPkN</token>
    <gateway_type>test</gateway_type>
    <name>Spreedly Test</name>
    <description nil="true"></description>
    <merchant_profile_key nil="true"></merchant_profile_key>
    <sub_merchant_key nil="true"></sub_merchant_key>
    <characteristics>
      <supports_purchase type="boolean">true</supports_purchase>
      <supports_authorize type="boolean">true</supports_authorize>
      <supports_capture type="boolean">true</supports_capture>
      <supports_credit type="boolean">true</supports_credit>
      <supports_general_credit type="boolean">true</supports_general_credit>
      <supports_void type="boolean">true</supports_void>
      <supports_adjust type="boolean">true</supports_adjust>
      <supports_verify type="boolean">true</supports_verify>
      <supports_reference_purchase type="boolean">true</supports_reference_purchase>
      <supports_purchase_via_preauthorization type="boolean">true</supports_purchase_via_preauthorization>
      <supports_offsite_purchase type="boolean">true</supports_offsite_purchase>
      <supports_offsite_authorize type="boolean">true</supports_offsite_authorize>
      <supports_offsite_synchronous_purchase type="boolean">true</supports_offsite_synchronous_purchase>
      <supports_offsite_synchronous_authorize type="boolean">true</supports_offsite_synchronous_authorize>
      <supports_3dsecure_purchase type="boolean">true</supports_3dsecure_purchase>
      <supports_3dsecure_authorize type="boolean">true</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">true</supports_remove>
      <supports_fraud_review type="boolean">false</supports_fraud_review>
      <supports_network_tokenization type="boolean">true</supports_network_tokenization>
      <supports_populate_mit_fields type="boolean">true</supports_populate_mit_fields>
      <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_reference_authorization type="boolean">true</supports_reference_authorization>
      <supports_3dsecure_2_purchase type="boolean">true</supports_3dsecure_2_purchase>
      <supports_3dsecure_2_authorize type="boolean">true</supports_3dsecure_2_authorize>
      <supports_stored_credentials type="boolean">true</supports_stored_credentials>
    </characteristics>
    <credentials>
    </credentials>
    <gateway_settings>
    </gateway_settings>
    <gateway_specific_fields>
      <gateway_specific_field>simulate_error</gateway_specific_field>
      <gateway_specific_field>simulate_decline</gateway_specific_field>
      <gateway_specific_field>idempotency_key</gateway_specific_field>
      <gateway_specific_field>mit_override_demo</gateway_specific_field>
    </gateway_specific_fields>
    <payment_methods>
      <payment_method>credit_card</payment_method>
      <payment_method>sprel</payment_method>
      <payment_method>third_party_token</payment_method>
      <payment_method>bank_account</payment_method>
      <payment_method>apple_pay</payment_method>
      <payment_method>google_pay</payment_method>
    </payment_methods>
    <state>retained</state>
    <redacted type="boolean">false</redacted>
    <sandbox type="boolean">false</sandbox>
    <mode>default</mode>
    <created_at type="dateTime">2017-06-22T13:19:11Z</created_at>
    <updated_at type="dateTime">2017-11-27T21:08:11Z</updated_at>
  </gateway>
  <gateway>
    <token>7NTzuQfnaNU2Jr4cVgOt7jfTVGq</token>
    <gateway_type>test</gateway_type>
    <name>Spreedly Test</name>
    <description nil="true"></description>
    <merchant_profile_key nil="true"></merchant_profile_key>
    <sub_merchant_key nil="true"></sub_merchant_key>
    <characteristics>
      <supports_purchase type="boolean">true</supports_purchase>
      <supports_authorize type="boolean">true</supports_authorize>
      <supports_capture type="boolean">true</supports_capture>
      <supports_credit type="boolean">true</supports_credit>
      <supports_general_credit type="boolean">true</supports_general_credit>
      <supports_void type="boolean">true</supports_void>
      <supports_adjust type="boolean">true</supports_adjust>
      <supports_verify type="boolean">true</supports_verify>
      <supports_reference_purchase type="boolean">true</supports_reference_purchase>
      <supports_purchase_via_preauthorization type="boolean">true</supports_purchase_via_preauthorization>
      <supports_offsite_purchase type="boolean">true</supports_offsite_purchase>
      <supports_offsite_authorize type="boolean">true</supports_offsite_authorize>
      <supports_offsite_synchronous_purchase type="boolean">true</supports_offsite_synchronous_purchase>
      <supports_offsite_synchronous_authorize type="boolean">true</supports_offsite_synchronous_authorize>
      <supports_3dsecure_purchase type="boolean">true</supports_3dsecure_purchase>
      <supports_3dsecure_authorize type="boolean">true</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">true</supports_remove>
      <supports_fraud_review type="boolean">false</supports_fraud_review>
      <supports_network_tokenization type="boolean">true</supports_network_tokenization>
      <supports_populate_mit_fields type="boolean">true</supports_populate_mit_fields>
      <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_reference_authorization type="boolean">true</supports_reference_authorization>
      <supports_3dsecure_2_purchase type="boolean">true</supports_3dsecure_2_purchase>
      <supports_3dsecure_2_authorize type="boolean">true</supports_3dsecure_2_authorize>
      <supports_stored_credentials type="boolean">true</supports_stored_credentials>
    </characteristics>
    <credentials>
    </credentials>
    <gateway_settings>
    </gateway_settings>
    <gateway_specific_fields>
      <gateway_specific_field>simulate_error</gateway_specific_field>
      <gateway_specific_field>simulate_decline</gateway_specific_field>
      <gateway_specific_field>idempotency_key</gateway_specific_field>
      <gateway_specific_field>mit_override_demo</gateway_specific_field>
    </gateway_specific_fields>
    <payment_methods>
      <payment_method>credit_card</payment_method>
      <payment_method>sprel</payment_method>
      <payment_method>third_party_token</payment_method>
      <payment_method>bank_account</payment_method>
      <payment_method>apple_pay</payment_method>
      <payment_method>google_pay</payment_method>
    </payment_methods>
    <state>retained</state>
    <redacted type="boolean">false</redacted>
    <sandbox type="boolean">false</sandbox>
    <mode>default</mode>
    <created_at type="dateTime">2017-06-22T14:16:23Z</created_at>
    <updated_at type="dateTime">2017-11-27T21:44:49Z</updated_at>
  </gateway>
</gateways>

Retrieve an ordered and paginated list of all gateways in the environment. This is different from the list of all supported gateways in that this will only return the gateway instances that have been provisioned in the authenticated environment.

URL Parameters

Parameter Description
format
required
One of json or xml
order The order of the returned list. Default is asc, which returns the oldest records first. To list newer records first, use desc.
since_token The token of the item to start from (e.g., the last token received in the previous list if iterating through records)
count The number of gateways to return. By default returns 20, maximum allowed is 100.

Response Body

Notable response elements include:

Element Description
gateways Root element
❯ token The token identifying the provisioned gateway at Spreedly
❯ name The human readable name of the gateway
❯ gateway_type The type (short name) of the gateway. Use this value when provisioning a gateway
❯ description The description of the provisioned gateway
❯ merchant_profile_key The token of the Merchant Profile associated with the provisioned gateway
❯ sub_merchant_key The token of the Sub-merchant associated with the provisioned gateway
❯ state The storage state of the gateway (retained, redacted, etc…)
❯ sandbox If the gateway was created in sandbox mode or not
❯ redacted If this gateway is redacted or not
❯ credentials The non-sensitive credentials used for this gateway
❯ gateway_settings The non-credential fields that can be specified at the gateway level, and included in all transactions
❯ characteristics A list of operations (such as purchase, capture etc…) that the gateway supports
❯ payment_methods A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports
❯ gateway_specific_fields The list of gateway specific fields that can be specified in supported gateway transactions

Create test gateway

POST /v1/gateways.<format> HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/<format>

{
  "gateway": {
    "gateway_type": "test"
  }
}
<gateway>
  <gateway_type>test</gateway_type>
</gateway>

HTTPS/1.1 201 Created
{
  "gateway": {
    "token": "HaQOnzrDfDHdqWmO0WAjw9zDjGE",
    "gateway_type": "test",
    "description": null,
    "merchant_profile_key": null,
    "sub_merchant_key": null,
    "payment_methods": [
      "credit_card",
      "sprel",
      "third_party_token",
      "bank_account",
      "apple_pay",
      "google_pay"
    ],
    "state": "retained",
    "created_at": "2023-06-06T17:15:23Z",
    "updated_at": "2023-06-06T17:15:23Z",
    "name": "Spreedly Test",
    "characteristics": [
      "purchase",
      "authorize",
      "capture",
      "credit",
      "general_credit",
      "void",
      "adjust",
      "verify",
      "reference_purchase",
      "purchase_via_preauthorization",
      "offsite_purchase",
      "offsite_authorize",
      "offsite_synchronous_purchase",
      "offsite_synchronous_authorize",
      "3dsecure_purchase",
      "3dsecure_authorize",
      "3dsecure_2_mpi_purchase",
      "3dsecure_2_mpi_authorize",
      "store",
      "remove",
      "network_tokenization",
      "populate_mit_fields",
      "transaction_retry",
      "reference_authorization",
      "3dsecure_2_purchase",
      "3dsecure_2_authorize",
      "stored_credentials"
    ],
    "credentials": [

    ],
    "gateway_settings": {
    },
    "gateway_specific_fields": [
      "simulate_error",
      "simulate_decline",
      "idempotency_key",
      "mit_override_demo"
    ],
    "redacted": false,
    "sandbox": false,
    "mode": "default"
  }
}
<gateway>
  <token>7dPJgE2MQZajMypeVkpfWnNMRlk</token>
  <gateway_type>test</gateway_type>
  <name>Spreedly Test</name>
  <description nil="true"></description>
  <merchant_profile_key nil="true"></merchant_profile_key>
  <sub_merchant_key nil="true"></sub_merchant_key>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">true</supports_authorize>
    <supports_capture type="boolean">true</supports_capture>
    <supports_credit type="boolean">true</supports_credit>
    <supports_general_credit type="boolean">true</supports_general_credit>
    <supports_void type="boolean">true</supports_void>
    <supports_adjust type="boolean">true</supports_adjust>
    <supports_verify type="boolean">true</supports_verify>
    <supports_reference_purchase type="boolean">true</supports_reference_purchase>
    <supports_purchase_via_preauthorization type="boolean">true</supports_purchase_via_preauthorization>
    <supports_offsite_purchase type="boolean">true</supports_offsite_purchase>
    <supports_offsite_authorize type="boolean">true</supports_offsite_authorize>
    <supports_offsite_synchronous_purchase type="boolean">true</supports_offsite_synchronous_purchase>
    <supports_offsite_synchronous_authorize type="boolean">true</supports_offsite_synchronous_authorize>
    <supports_3dsecure_purchase type="boolean">true</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">true</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">true</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_network_tokenization type="boolean">true</supports_network_tokenization>
    <supports_populate_mit_fields type="boolean">true</supports_populate_mit_fields>
    <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_reference_authorization type="boolean">true</supports_reference_authorization>
    <supports_3dsecure_2_purchase type="boolean">true</supports_3dsecure_2_purchase>
    <supports_3dsecure_2_authorize type="boolean">true</supports_3dsecure_2_authorize>
    <supports_stored_credentials type="boolean">true</supports_stored_credentials>
  </characteristics>
  <credentials>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>simulate_error</gateway_specific_field>
    <gateway_specific_field>simulate_decline</gateway_specific_field>
    <gateway_specific_field>idempotency_key</gateway_specific_field>
    <gateway_specific_field>mit_override_demo</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>sprel</payment_method>
    <payment_method>third_party_token</payment_method>
    <payment_method>bank_account</payment_method>
    <payment_method>apple_pay</payment_method>
    <payment_method>google_pay</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">false</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2023-06-06T17:16:02Z</created_at>
  <updated_at type="dateTime">2023-06-06T17:16:02Z</updated_at>
</gateway>

Create (provision) a test gateway in the authenticated environment. A test gateway is used to test your integration to Spreedly and can only be used with test payment methods.

URL Parameters

Parameter Description
format
required
One of json or xml

Request Body

Element Description
gateway Root element
❯ gateway_type
required
The type of gateway, e.g., test for a test gateway.

Response Body

Notable response elements include:

Element Description
gateway Root element
❯ token The token identifying the provisioned gateway at Spreedly
❯ name The human readable name of the gateway
❯ gateway_type The type (short name) of the gateway. Use this value when provisioning a gateway
❯ description The description of the provisioned gateway
❯ merchant_profile_key The token of the Merchant Profile associated with the provisioned gateway
❯ sub_merchant_key The token of the Sub-merchant associated with the provisioned gateway
❯ state The storage state of the gateway (retained, redacted, etc…)
❯ sandbox If the gateway was created in sandbox mode or not
❯ redacted If this gateway is redacted or not
❯ credentials The non-sensitive credentials used for this gateway
❯ gateway_settings The non-credential fields that can be specified at the gateway level, and included in all transactions
❯ characteristics A list of operations (such as purchase, capture etc…) that the gateway supports
❯ payment_methods A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports
❯ gateway_specific_fields The list of gateway specific fields that can be specified in supported gateway transactions

Create sandbox gateway

POST /v1/gateways.<format> HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/<format>

{
  "gateway": {
    "gateway_type": "stripe",
    "login": "your Stripe API secret",
    "sandbox": true
  }
}
<gateway>
  <gateway_type>stripe</gateway_type>
  <login>your api secret key</login>
  <sandbox>true</sandbox>
</gateway>

HTTPS/1.1 201 Created
{
  "gateway": {
    "token": "UlSR3GCgSBzryKio8zeIF4aIHqm",
    "gateway_type": "stripe",
    "description": null,
    "merchant_profile_key": null,
    "sub_merchant_key": null,
    "payment_methods": [
      "credit_card",
      "third_party_token",
      "apple_pay",
      "bank_account",
      "google_pay"
    ],
    "state": "retained",
    "created_at": "2022-06-22T20:15:29Z",
    "updated_at": "2022-06-22T20:15:29Z",
    "name": "Stripe",
    "characteristics": [
      "purchase",
      "authorize",
      "capture",
      "credit",
      "void",
      "verify",
      "3dsecure_purchase",
      "3dsecure_authorize",
      "store",
      "remove"
    ],
    "credentials": [

    ],
    "gateway_settings": {
      "webhook_id": null,
      "version_override": null
    },
    "gateway_specific_fields": [
      "receipt_email",
      "radar_session_id",
      "skip_radar_rules",
      "application_fee",
      "stripe_account",
      "metadata",
      "idempotency_key",
      "reason",
      "refund_application_fee",
      "refund_fee_amount",
      "reverse_transfer",
      "account_id",
      "customer_id",
      "validate",
      "make_default",
      "statement_description",
      "statement_descriptor_suffix",
      "destination",
      "destination_amount",
      "merchant_reference",
      "customer_reference",
      "shipping_address_zip",
      "shipping_from_zip",
      "shipping_amount",
      "line_items",
      "transfer_destination",
      "transfer_amount",
      "transfer_group",
      "on_behalf_of",
      "application_fee_amount",
      "recurring"
    ],
    "redacted": false,
    "sandbox": true,
    "mode": "default"
  }
}
<gateway>
  <token>XalHWUjzXpdSfHUTGUYtFvtEbll</token>
  <gateway_type>stripe</gateway_type>
  <name>Stripe</name>
  <description nil="true"></description>
  <merchant_profile_key nil="true"></merchant_profile_key>
  <sub_merchant_key nil="true"></sub_merchant_key>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">true</supports_authorize>
    <supports_capture type="boolean">true</supports_capture>
    <supports_credit type="boolean">true</supports_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_3dsecure_purchase type="boolean">true</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">true</supports_3dsecure_authorize>
    <supports_3dsecure_2_mpi_purchase type="boolean">false</supports_3dsecure_2_mpi_purchase>
    <supports_3dsecure_2_mpi_authorize type="boolean">false</supports_3dsecure_2_mpi_authorize>
    <supports_store type="boolean">true</supports_store>
    <supports_remove type="boolean">true</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_network_tokenization type="boolean">false</supports_network_tokenization>
    <supports_populate_mit_fields type="boolean">false</supports_populate_mit_fields>
  </characteristics>
  <credentials>
  </credentials>
  <gateway_settings>
    <webhook_id nil="true"></webhook_id>
    <version_override nil="true"></version_override>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>receipt_email</gateway_specific_field>
    <gateway_specific_field>radar_session_id</gateway_specific_field>
    <gateway_specific_field>skip_radar_rules</gateway_specific_field>
    <gateway_specific_field>application_fee</gateway_specific_field>
    <gateway_specific_field>stripe_account</gateway_specific_field>
    <gateway_specific_field>metadata</gateway_specific_field>
    <gateway_specific_field>idempotency_key</gateway_specific_field>
    <gateway_specific_field>reason</gateway_specific_field>
    <gateway_specific_field>refund_application_fee</gateway_specific_field>
    <gateway_specific_field>refund_fee_amount</gateway_specific_field>
    <gateway_specific_field>reverse_transfer</gateway_specific_field>
    <gateway_specific_field>account_id</gateway_specific_field>
    <gateway_specific_field>customer_id</gateway_specific_field>
    <gateway_specific_field>validate</gateway_specific_field>
    <gateway_specific_field>make_default</gateway_specific_field>
    <gateway_specific_field>statement_description</gateway_specific_field>
    <gateway_specific_field>statement_descriptor_suffix</gateway_specific_field>
    <gateway_specific_field>destination</gateway_specific_field>
    <gateway_specific_field>destination_amount</gateway_specific_field>
    <gateway_specific_field>merchant_reference</gateway_specific_field>
    <gateway_specific_field>customer_reference</gateway_specific_field>
    <gateway_specific_field>shipping_address_zip</gateway_specific_field>
    <gateway_specific_field>shipping_from_zip</gateway_specific_field>
    <gateway_specific_field>shipping_amount</gateway_specific_field>
    <gateway_specific_field>line_items</gateway_specific_field>
    <gateway_specific_field>transfer_destination</gateway_specific_field>
    <gateway_specific_field>transfer_amount</gateway_specific_field>
    <gateway_specific_field>transfer_group</gateway_specific_field>
    <gateway_specific_field>on_behalf_of</gateway_specific_field>
    <gateway_specific_field>application_fee_amount</gateway_specific_field>
    <gateway_specific_field>recurring</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>third_party_token</payment_method>
    <payment_method>apple_pay</payment_method>
    <payment_method>bank_account</payment_method>
    <payment_method>google_pay</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">true</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2022-06-22T20:15:27Z</created_at>
  <updated_at type="dateTime">2022-06-22T20:15:27Z</updated_at>
</gateway>

Create (provision) a gateway to process simulated card data and transactions in the authenticated environment. A sandbox gateway should be used to test out complex integrations like 3D Secure. It is recommended that you create all your sandboxed gateways in their own environment and add a description that highlights that the gateway is intended for sandbox based transactions only. When interacting with a sandbox gateway, you need to ensure that you’re not using real payment method data; instead you should be using the gateway’s test payment method data. Here is an example of Stripe’s sandbox payment method data from their testing guide.

Sandbox gateways are created using the credentials required for that gateway, meaning each call is slightly different depending on the gateway’s API requirements. This example uses Stripe, but any supported gateway will have a similar call.

URL Parameters

Parameter Description
format
required
One of json or xml

Request Body

Element Description
gateway Root element
❯ gateway_type
required
The type of gateway, e.g., stripe, braintree, etc…. You can find the list of supported gateways and their respective gateway types on this page
gateway specific credential field(s)
required
The merchant credentials required for this type of gateway. Stripe has login, but your gateway type will most likely require a different set of credentials. Please reference the gateway’s documentation to determine the appropriate credential(s) to pass here.
❯ description A description of the gateway. Useful to differentiate between multiple gateways of the same type provisioned within your system. EG: “Sandboxed gateway, not for production use.”
❯ merchant_profile_key optional The token for an existing Merchant Profile in your environment. Useful for organizing gateways in an environment with multiple merchants, or associating merchant data with gateway transactions.
❯ sandbox optional true or false (false if omitted). Useful to test out a gateway’s sandbox mode, this is recommended in situations where the gateway integration is difficult and where you don’t want to execute real transactions.

Response Body

Notable response elements include:

Element Description
gateway Root element
❯ token The token identifying the provisioned gateway at Spreedly
❯ name The human readable name of the gateway
❯ gateway_type The type (short name) of the gateway. Use this value when provisioning a gateway
❯ description The description of the provisioned gateway
❯ merchant_profile_key The token of the Merchant Profile associated with the provisioned gateway
❯ sub_merchant_key The token of the Sub-merchant associated with the provisioned gateway
❯ state The storage state of the gateway (retained, redacted, etc…)
❯ sandbox If the gateway was created in sandbox mode or not
❯ redacted If this gateway is redacted or not
❯ credentials The non-sensitive credentials used for this gateway
❯ gateway_settings The non-credential fields that can be specified at the gateway level, and included in all transactions
❯ characteristics A list of operations (such as purchase, capture etc…) that the gateway supports
❯ payment_methods A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports
❯ gateway_specific_fields The list of gateway specific fields that can be specified in supported gateway transactions

Create production gateway

POST /v1/gateways.<format> HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/<format>

{
  "gateway": {
    "gateway_type": "stripe",
    "login": "your Stripe API secret",
    "sandbox": true
  }
}
<gateway>
  <gateway_type>stripe</gateway_type>
  <login>your api secret key</login>
  <sandbox>true</sandbox>
</gateway>

HTTPS/1.1 201 Created
{
  "gateway": {
    "token": "UlSR3GCgSBzryKio8zeIF4aIHqm",
    "gateway_type": "stripe",
    "description": null,
    "merchant_profile_key": null,
    "sub_merchant_key": null,
    "payment_methods": [
      "credit_card",
      "third_party_token",
      "apple_pay",
      "bank_account",
      "google_pay"
    ],
    "state": "retained",
    "created_at": "2022-06-22T20:15:29Z",
    "updated_at": "2022-06-22T20:15:29Z",
    "name": "Stripe",
    "characteristics": [
      "purchase",
      "authorize",
      "capture",
      "credit",
      "void",
      "verify",
      "3dsecure_purchase",
      "3dsecure_authorize",
      "store",
      "remove"
    ],
    "credentials": [

    ],
    "gateway_settings": {
      "webhook_id": null,
      "version_override": null
    },
    "gateway_specific_fields": [
      "receipt_email",
      "radar_session_id",
      "skip_radar_rules",
      "application_fee",
      "stripe_account",
      "metadata",
      "idempotency_key",
      "reason",
      "refund_application_fee",
      "refund_fee_amount",
      "reverse_transfer",
      "account_id",
      "customer_id",
      "validate",
      "make_default",
      "statement_description",
      "statement_descriptor_suffix",
      "destination",
      "destination_amount",
      "merchant_reference",
      "customer_reference",
      "shipping_address_zip",
      "shipping_from_zip",
      "shipping_amount",
      "line_items",
      "transfer_destination",
      "transfer_amount",
      "transfer_group",
      "on_behalf_of",
      "application_fee_amount",
      "recurring"
    ],
    "redacted": false,
    "sandbox": true,
    "mode": "default"
  }
}
<gateway>
  <token>XalHWUjzXpdSfHUTGUYtFvtEbll</token>
  <gateway_type>stripe</gateway_type>
  <name>Stripe</name>
  <description nil="true"></description>
  <merchant_profile_key nil="true"></merchant_profile_key>
  <sub_merchant_key nil="true"></sub_merchant_key>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">true</supports_authorize>
    <supports_capture type="boolean">true</supports_capture>
    <supports_credit type="boolean">true</supports_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_3dsecure_purchase type="boolean">true</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">true</supports_3dsecure_authorize>
    <supports_3dsecure_2_mpi_purchase type="boolean">false</supports_3dsecure_2_mpi_purchase>
    <supports_3dsecure_2_mpi_authorize type="boolean">false</supports_3dsecure_2_mpi_authorize>
    <supports_store type="boolean">true</supports_store>
    <supports_remove type="boolean">true</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_network_tokenization type="boolean">false</supports_network_tokenization>
    <supports_populate_mit_fields type="boolean">false</supports_populate_mit_fields>
  </characteristics>
  <credentials>
  </credentials>
  <gateway_settings>
    <webhook_id nil="true"></webhook_id>
    <version_override nil="true"></version_override>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>receipt_email</gateway_specific_field>
    <gateway_specific_field>radar_session_id</gateway_specific_field>
    <gateway_specific_field>skip_radar_rules</gateway_specific_field>
    <gateway_specific_field>application_fee</gateway_specific_field>
    <gateway_specific_field>stripe_account</gateway_specific_field>
    <gateway_specific_field>metadata</gateway_specific_field>
    <gateway_specific_field>idempotency_key</gateway_specific_field>
    <gateway_specific_field>reason</gateway_specific_field>
    <gateway_specific_field>refund_application_fee</gateway_specific_field>
    <gateway_specific_field>refund_fee_amount</gateway_specific_field>
    <gateway_specific_field>reverse_transfer</gateway_specific_field>
    <gateway_specific_field>account_id</gateway_specific_field>
    <gateway_specific_field>customer_id</gateway_specific_field>
    <gateway_specific_field>validate</gateway_specific_field>
    <gateway_specific_field>make_default</gateway_specific_field>
    <gateway_specific_field>statement_description</gateway_specific_field>
    <gateway_specific_field>statement_descriptor_suffix</gateway_specific_field>
    <gateway_specific_field>destination</gateway_specific_field>
    <gateway_specific_field>destination_amount</gateway_specific_field>
    <gateway_specific_field>merchant_reference</gateway_specific_field>
    <gateway_specific_field>customer_reference</gateway_specific_field>
    <gateway_specific_field>shipping_address_zip</gateway_specific_field>
    <gateway_specific_field>shipping_from_zip</gateway_specific_field>
    <gateway_specific_field>shipping_amount</gateway_specific_field>
    <gateway_specific_field>line_items</gateway_specific_field>
    <gateway_specific_field>transfer_destination</gateway_specific_field>
    <gateway_specific_field>transfer_amount</gateway_specific_field>
    <gateway_specific_field>transfer_group</gateway_specific_field>
    <gateway_specific_field>on_behalf_of</gateway_specific_field>
    <gateway_specific_field>application_fee_amount</gateway_specific_field>
    <gateway_specific_field>recurring</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>third_party_token</payment_method>
    <payment_method>apple_pay</payment_method>
    <payment_method>bank_account</payment_method>
    <payment_method>google_pay</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">true</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2022-06-22T20:15:27Z</created_at>
  <updated_at type="dateTime">2022-06-22T20:15:27Z</updated_at>
</gateway>

Create (provision) a gateway to process real card data and transactions in the authenticated environment.

Production gateways are created using the credentials required for that gateway, meaning each call is slightly different depending on the gateway’s API requirements. This example uses Stripe, but any supported gateway will have a similar call.

suggestion If you’d like to test out a gateway in test / sandbox mode, you can do so by including the sandbox parameter when creating a gateway. If you do so, you’ll need to check the gateway’s documentation to determine test cards in sandbox mode. Once you’re satisfied with your testing and ready for a real transaction, you’ll need to create another gateway without the sandbox parameter.

Example sandbox workflow

  • create a gateway in sandbox mode
  • verify your integration with Spreedly and the gateway
  • create another gateway without sandbox mode
  • start transacting with real payments

note If you wish to go straight to production with transactions, skip the first two steps.

URL Parameters

Parameter Description
format
required
One of json or xml

Request Body

Element Description
gateway Root element
❯ gateway_type
required
The type of gateway, e.g., stripe, braintree, etc…. You can find the list of supported gateways and their respective gateway types on this page
gateway specific credential field(s)
required
The merchant credentials required for this type of gateway. Stripe has login, but your gateway type will most likely require a different set of credentials. Please reference the gateway’s documentation to determine the appropriate credential(s) to pass here.
❯ description A description of the gateway. Useful to differentiate between multiple gateways of the same type provisioned within your system.
❯ merchant_profile_key optional The token for an existing Merchant Profile in your environment. Useful to organize gateways in an environment with multiple merchants, or to associate merchant data with gateway transactions.
❯ sub_merchant_key optional The token for an existing Sub-merchant in your environment. Useful for tagging the transactions through this gateway with the sub-merchant who transacts through the gateway.
❯ sandbox optional true or false. Useful to test out a gateway’s sandbox mode, this is recommended in situations where the gateway integration is difficult and where you don’t want to execute real transactions.

Response Body

Notable response elements include:

Element Description
gateway Root element
❯ token The token identifying the provisioned gateway at Spreedly
❯ name The human readable name of the gateway
❯ gateway_type The type (short name) of the gateway. Use this value when provisioning a gateway
❯ description The description of the provisioned gateway
❯ merchant_profile_key The token of the Merchant Profile associated with the provisioned gateway
❯ sub_merchant_key The token of the Sub-merchant associated with the provisioned gateway
❯ state The storage state of the gateway (retained, redacted, etc…)
❯ sandbox If the gateway was created in sandbox mode or not
❯ redacted If this gateway is redacted or not
❯ credentials The non-sensitive credentials used for this gateway
❯ gateway_settings The non-credential fields that can be specified at the gateway level, and included in all transactions
❯ characteristics A list of operations (such as purchase, capture etc…) that the gateway supports
❯ payment_methods A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports
❯ gateway_specific_fields The list of gateway specific fields that can be specified in supported gateway transactions

Show

GET /v1/gateways/<gateway_token>.<format> HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

HTTPS/1.1 200 OK
{
  "gateway": {
    "token": "T11bJAANtTWnxl36GYjKWvbNK0g",
    "gateway_type": "test",
    "description": null,
    "merchant_profile_key": null,
    "sub_merchant_key": null,
    "payment_methods": [
      "credit_card",
      "sprel",
      "third_party_token",
      "bank_account",
      "apple_pay",
      "google_pay"
    ],
    "state": "retained",
    "created_at": "2017-06-26T16:57:27Z",
    "updated_at": "2017-11-27T20:04:25Z",
    "name": "Spreedly Test",
    "characteristics": [
      "purchase",
      "authorize",
      "capture",
      "credit",
      "general_credit",
      "void",
      "adjust",
      "verify",
      "reference_purchase",
      "purchase_via_preauthorization",
      "offsite_purchase",
      "offsite_authorize",
      "offsite_synchronous_purchase",
      "offsite_synchronous_authorize",
      "3dsecure_purchase",
      "3dsecure_authorize",
      "3dsecure_2_mpi_purchase",
      "3dsecure_2_mpi_authorize",
      "store",
      "remove",
      "network_tokenization",
      "populate_mit_fields",
      "transaction_retry",
      "reference_authorization",
      "3dsecure_2_purchase",
      "3dsecure_2_authorize",
      "stored_credentials"
    ],
    "credentials": [

    ],
    "gateway_settings": {
    },
    "gateway_specific_fields": [
      "simulate_error",
      "simulate_decline",
      "idempotency_key",
      "mit_override_demo"
    ],
    "redacted": false,
    "sandbox": false,
    "mode": "default"
  }
}
<gateway>
  <token>T11bJAANtTWnxl36GYjKWvbNK0g</token>
  <gateway_type>test</gateway_type>
  <name>Spreedly Test</name>
  <description nil="true"></description>
  <merchant_profile_key nil="true"></merchant_profile_key>
  <sub_merchant_key nil="true"></sub_merchant_key>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">true</supports_authorize>
    <supports_capture type="boolean">true</supports_capture>
    <supports_credit type="boolean">true</supports_credit>
    <supports_general_credit type="boolean">true</supports_general_credit>
    <supports_void type="boolean">true</supports_void>
    <supports_adjust type="boolean">true</supports_adjust>
    <supports_verify type="boolean">true</supports_verify>
    <supports_reference_purchase type="boolean">true</supports_reference_purchase>
    <supports_purchase_via_preauthorization type="boolean">true</supports_purchase_via_preauthorization>
    <supports_offsite_purchase type="boolean">true</supports_offsite_purchase>
    <supports_offsite_authorize type="boolean">true</supports_offsite_authorize>
    <supports_offsite_synchronous_purchase type="boolean">true</supports_offsite_synchronous_purchase>
    <supports_offsite_synchronous_authorize type="boolean">true</supports_offsite_synchronous_authorize>
    <supports_3dsecure_purchase type="boolean">true</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">true</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">true</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_network_tokenization type="boolean">true</supports_network_tokenization>
    <supports_populate_mit_fields type="boolean">true</supports_populate_mit_fields>
    <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_reference_authorization type="boolean">true</supports_reference_authorization>
    <supports_3dsecure_2_purchase type="boolean">true</supports_3dsecure_2_purchase>
    <supports_3dsecure_2_authorize type="boolean">true</supports_3dsecure_2_authorize>
    <supports_stored_credentials type="boolean">true</supports_stored_credentials>
  </characteristics>
  <credentials>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>simulate_error</gateway_specific_field>
    <gateway_specific_field>simulate_decline</gateway_specific_field>
    <gateway_specific_field>idempotency_key</gateway_specific_field>
    <gateway_specific_field>mit_override_demo</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>sprel</payment_method>
    <payment_method>third_party_token</payment_method>
    <payment_method>bank_account</payment_method>
    <payment_method>apple_pay</payment_method>
    <payment_method>google_pay</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">false</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2017-06-26T16:57:27Z</created_at>
  <updated_at type="dateTime">2017-11-27T20:04:25Z</updated_at>
</gateway>

Get a gateway with the given token.

URL Parameters

Parameter Description
gateway_token
required
The token of the gateway to execute against
format
required
One of json or xml

Response Body

Notable response elements include:

Element Description
gateway Root element
❯ token The token identifying the provisioned gateway at Spreedly
❯ name The human readable name of the gateway
❯ gateway_type The type (short name) of the gateway. Use this value when provisioning a gateway
❯ description The description of the provisioned gateway
❯ merchant_profile_key The token of the Merchant Profile associated with the provisioned gateway
❯ sub_merchant_key The token of the Sub-merchant associated with the provisioned gateway
❯ state The storage state of the gateway (retained, redacted, etc…)
❯ sandbox If the gateway was created in sandbox mode or not
❯ redacted If this gateway is redacted or not
❯ credentials The non-sensitive credentials used for this gateway
❯ gateway_settings The non-credential fields that can be specified at the gateway level, and included in all transactions
❯ characteristics A list of operations (such as purchase, capture etc…) that the gateway supports
❯ payment_methods A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports
❯ gateway_specific_fields The list of gateway specific fields that can be specified in supported gateway transactions

Update

PUT /v1/gateways/<gateway_token>.<format> HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/<format>


{
  "gateway": {
    "login": "updated Stripe API secret"
  }
}
<gateway>
  <login>updated Stripe API secret</login>
</gateway>

HTTPS/1.1 200 OK
{
  "gateway": {
    "token": "YhtVn4t7MJRd6ukjktiHn6RXX5P",
    "gateway_type": "stripe",
    "description": null,
    "merchant_profile_key": null,
    "sub_merchant_key": null,
    "payment_methods": [
      "credit_card",
      "third_party_token",
      "apple_pay",
      "bank_account",
      "google_pay"
    ],
    "state": "retained",
    "created_at": "2021-06-01T19:13:25Z",
    "updated_at": "2022-03-16T17:58:13Z",
    "name": "Stripe",
    "characteristics": [
      "purchase",
      "authorize",
      "capture",
      "credit",
      "void",
      "verify",
      "3dsecure_purchase",
      "3dsecure_authorize",
      "store",
      "remove"
    ],
    "credentials": [

    ],
    "gateway_settings": {
      "webhook_id": null,
      "version_override": null
    },
    "gateway_specific_fields": [
      "receipt_email",
      "radar_session_id",
      "skip_radar_rules",
      "application_fee",
      "stripe_account",
      "metadata",
      "idempotency_key",
      "reason",
      "refund_application_fee",
      "refund_fee_amount",
      "reverse_transfer",
      "account_id",
      "customer_id",
      "validate",
      "make_default",
      "statement_description",
      "statement_descriptor_suffix",
      "destination",
      "destination_amount",
      "merchant_reference",
      "customer_reference",
      "shipping_address_zip",
      "shipping_from_zip",
      "shipping_amount",
      "line_items",
      "transfer_destination",
      "transfer_amount",
      "transfer_group",
      "on_behalf_of",
      "application_fee_amount",
      "recurring"
    ],
    "redacted": false,
    "sandbox": false,
    "mode": "default"
  }
}
<gateway>
  <token>YhtVn4t7MJRd6ukjktiHn6RXX5P</token>
  <gateway_type>stripe</gateway_type>
  <name>Stripe</name>
  <description nil="true"></description>
  <merchant_profile_key nil="true"></merchant_profile_key>
  <sub_merchant_key nil="true"></sub_merchant_key>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">true</supports_authorize>
    <supports_capture type="boolean">true</supports_capture>
    <supports_credit type="boolean">true</supports_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_3dsecure_purchase type="boolean">true</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">true</supports_3dsecure_authorize>
    <supports_3dsecure_2_mpi_purchase type="boolean">false</supports_3dsecure_2_mpi_purchase>
    <supports_3dsecure_2_mpi_authorize type="boolean">false</supports_3dsecure_2_mpi_authorize>
    <supports_store type="boolean">true</supports_store>
    <supports_remove type="boolean">true</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_network_tokenization type="boolean">false</supports_network_tokenization>
    <supports_populate_mit_fields type="boolean">false</supports_populate_mit_fields>
  </characteristics>
  <credentials>
  </credentials>
  <gateway_settings>
    <webhook_id nil="true"></webhook_id>
    <version_override nil="true"></version_override>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>receipt_email</gateway_specific_field>
    <gateway_specific_field>radar_session_id</gateway_specific_field>
    <gateway_specific_field>skip_radar_rules</gateway_specific_field>
    <gateway_specific_field>application_fee</gateway_specific_field>
    <gateway_specific_field>stripe_account</gateway_specific_field>
    <gateway_specific_field>metadata</gateway_specific_field>
    <gateway_specific_field>idempotency_key</gateway_specific_field>
    <gateway_specific_field>reason</gateway_specific_field>
    <gateway_specific_field>refund_application_fee</gateway_specific_field>
    <gateway_specific_field>refund_fee_amount</gateway_specific_field>
    <gateway_specific_field>reverse_transfer</gateway_specific_field>
    <gateway_specific_field>account_id</gateway_specific_field>
    <gateway_specific_field>customer_id</gateway_specific_field>
    <gateway_specific_field>validate</gateway_specific_field>
    <gateway_specific_field>make_default</gateway_specific_field>
    <gateway_specific_field>statement_description</gateway_specific_field>
    <gateway_specific_field>statement_descriptor_suffix</gateway_specific_field>
    <gateway_specific_field>destination</gateway_specific_field>
    <gateway_specific_field>destination_amount</gateway_specific_field>
    <gateway_specific_field>merchant_reference</gateway_specific_field>
    <gateway_specific_field>customer_reference</gateway_specific_field>
    <gateway_specific_field>shipping_address_zip</gateway_specific_field>
    <gateway_specific_field>shipping_from_zip</gateway_specific_field>
    <gateway_specific_field>shipping_amount</gateway_specific_field>
    <gateway_specific_field>line_items</gateway_specific_field>
    <gateway_specific_field>transfer_destination</gateway_specific_field>
    <gateway_specific_field>transfer_amount</gateway_specific_field>
    <gateway_specific_field>transfer_group</gateway_specific_field>
    <gateway_specific_field>on_behalf_of</gateway_specific_field>
    <gateway_specific_field>application_fee_amount</gateway_specific_field>
    <gateway_specific_field>recurring</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>third_party_token</payment_method>
    <payment_method>apple_pay</payment_method>
    <payment_method>bank_account</payment_method>
    <payment_method>google_pay</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">false</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2021-06-01T19:13:25Z</created_at>
  <updated_at type="dateTime">2022-03-16T17:58:12Z</updated_at>
</gateway>

Update a gateway.

Updating a redacted gateway’s credentials will set its state back to retained, allowing it to be used for transactions.

URL Parameters

Parameter Description
gateway_token
required
The token of the gateway to execute against
format
required
One of json or xml

Request Body

Element Description
gateway Root element
gateway specific credential field(s)
required
The merchant credentials required for this type of gateway. Stripe has login, but your gateway type will most likely require a different set of credentials. Please reference the gateway’s documentation to determine the appropriate credential(s) to pass here.
❯ description A description of the gateway. Useful to differentiate between multiple gateways of the same type provisioned within your system.
❯ merchant_profile_key optional The token for an existing Merchant Profile in your environment. Useful to organize gateways in an environment with multiple merchants, or to associate merchant data with gateway transactions.
❯ sub_merchant_key optional The token for an existing Sub-merchant in your environment. Useful for tagging the transactions through this gateway with the sub-merchant who transacts through the gateway.

Response Body

Notable response elements include:

Element Description
gateway Root element
❯ token The token identifying the provisioned gateway at Spreedly
❯ name The human readable name of the gateway
❯ gateway_type The type (short name) of the gateway. Use this value when provisioning a gateway
❯ description The description of the provisioned gateway
❯ merchant_profile_key The token of the Merchant Profile associated with the provisioned gateway
❯ sub_merchant_key The token of the Sub-merchant associated with the provisioned gateway
❯ state The storage state of the gateway (retained, redacted, etc…)
❯ sandbox If the gateway was created in sandbox mode or not
❯ redacted If this gateway is redacted or not
❯ credentials The non-sensitive credentials used for this gateway
❯ gateway_settings The non-credential fields that can be specified at the gateway level, and included in all transactions
❯ characteristics A list of operations (such as purchase, capture etc…) that the gateway supports
❯ payment_methods A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports
❯ gateway_specific_fields The list of gateway specific fields that can be specified in supported gateway transactions

Retain

PUT /v1/gateways/<gateway_token>/retain.<format> HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==


HTTPS/1.1 200 OK
{
  "transaction": {
    "token": "9EwxsDWR0g3EsE686j8qsX5gAuS",
    "created_at": "2020-04-03T18:22:31Z",
    "updated_at": "2020-04-03T18:22:31Z",
    "succeeded": true,
    "transaction_type": "RetainGateway",
    "message_key": "messages.transaction_succeeded",
    "message": "Succeeded!",
    "gateway": {
      "token": "RpnIaNabjy9E8Itba4JPV4Zgapz",
      "gateway_type": "authorize_net",
      "description": null,
      "payment_methods": [
        "credit_card",
        "bank_account",
        "apple_pay",
        "third_party_token"
      ],
      "state": "retained",
      "created_at": "2020-04-03T18:22:31Z",
      "updated_at": "2020-04-03T18:22:31Z",
      "name": "Authorize.Net",
      "login": "Your Authorize.Net API Login ID",
      "characteristics": [
        "purchase",
        "authorize",
        "capture",
        "credit",
        "general_credit",
        "void",
        "verify",
        "store",
        "fraud_review"
      ],
      "credentials": [
        {
          "name": "login",
          "value": "Your Authorize.Net API Login ID"
        }
      ],
      "gateway_settings": {
        "opt_out_recurring_default": null
      },
      "gateway_specific_fields": [
        "customer_id",
        "customer_profile_id",
        "duplicate_window",
        "disable_partial_auth",
        "market_type",
        "recurring",
        "email_customer",
        "header_email_receipt",
        "line_items",
        "po_number",
        "tax_exempt",
        "tax",
        "duty",
        "shipping",
        "transaction_id",
        "require_billing_address",
        "customer_payment_profile_id",
        "ship_from_address",
        "summary_commodity_code",
        "authentication_indicator",
        "cardholder_authentication_value"
      ],
      "redacted": false,
      "sandbox": false
    }
  }
}
<transaction>
  <token>7fQWQ3hA9sv80Gl5pLff4KPkG2d</token>
  <created_at type="dateTime">2020-04-03T18:22:31Z</created_at>
  <updated_at type="dateTime">2020-04-03T18:22:31Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <transaction_type>RetainGateway</transaction_type>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway>
    <token>GULbQX8cBftv3qXyGGKsoowkRDy</token>
    <gateway_type>authorize_net</gateway_type>
    <name>Authorize.Net</name>
    <description nil="true"></description>
    <login>Your Authorize.Net API Login ID</login>
    <characteristics>
      <supports_purchase type="boolean">true</supports_purchase>
      <supports_authorize type="boolean">true</supports_authorize>
      <supports_capture type="boolean">true</supports_capture>
      <supports_credit type="boolean">true</supports_credit>
      <supports_general_credit type="boolean">true</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_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
      <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
      <supports_3dsecure_2_mpi_purchase type="boolean">false</supports_3dsecure_2_mpi_purchase>
      <supports_3dsecure_2_mpi_authorize type="boolean">false</supports_3dsecure_2_mpi_authorize>
      <supports_store type="boolean">true</supports_store>
      <supports_remove type="boolean">false</supports_remove>
      <supports_fraud_review type="boolean">true</supports_fraud_review>
    </characteristics>
    <credentials>
      <credential>
        <name>login</name>
        <value>Your Authorize.Net API Login ID</value>
      </credential>
    </credentials>
    <gateway_settings>
      <opt_out_recurring_default nil="true"></opt_out_recurring_default>
    </gateway_settings>
    <gateway_specific_fields>
      <gateway_specific_field>customer_id</gateway_specific_field>
      <gateway_specific_field>customer_profile_id</gateway_specific_field>
      <gateway_specific_field>duplicate_window</gateway_specific_field>
      <gateway_specific_field>disable_partial_auth</gateway_specific_field>
      <gateway_specific_field>market_type</gateway_specific_field>
      <gateway_specific_field>recurring</gateway_specific_field>
      <gateway_specific_field>email_customer</gateway_specific_field>
      <gateway_specific_field>header_email_receipt</gateway_specific_field>
      <gateway_specific_field>line_items</gateway_specific_field>
      <gateway_specific_field>po_number</gateway_specific_field>
      <gateway_specific_field>tax_exempt</gateway_specific_field>
      <gateway_specific_field>tax</gateway_specific_field>
      <gateway_specific_field>duty</gateway_specific_field>
      <gateway_specific_field>shipping</gateway_specific_field>
      <gateway_specific_field>transaction_id</gateway_specific_field>
      <gateway_specific_field>require_billing_address</gateway_specific_field>
      <gateway_specific_field>customer_payment_profile_id</gateway_specific_field>
      <gateway_specific_field>ship_from_address</gateway_specific_field>
      <gateway_specific_field>summary_commodity_code</gateway_specific_field>
      <gateway_specific_field>authentication_indicator</gateway_specific_field>
      <gateway_specific_field>cardholder_authentication_value</gateway_specific_field>
    </gateway_specific_fields>
    <payment_methods>
      <payment_method>credit_card</payment_method>
      <payment_method>bank_account</payment_method>
      <payment_method>apple_pay</payment_method>
      <payment_method>third_party_token</payment_method>
    </payment_methods>
    <state>retained</state>
    <redacted type="boolean">false</redacted>
    <sandbox type="boolean">false</sandbox>
    <created_at type="dateTime">2020-04-03T18:22:30Z</created_at>
    <updated_at type="dateTime">2020-04-03T18:22:31Z</updated_at>
  </gateway>
</transaction>

When gateways are created via the API, they are automatically retained. However, gateways created via the unauthenticated API (e.g., from a browser/javascript library) are created in the “cached” state. Only by retaining a cached gateway will it be saved and available for future use.

URL Parameters

Parameter Description
gateway_token
required
The token of the gateway to execute against
format
required
One of json or xml

Response Body

Notable response elements include:

Element Description
transaction Root element
❯ token The token uniquely identifying this transaction at Spreedly
❯ succeeded true if the transaction request was successfully executed, false otherwise
❯ message A human-readable string indicating the result of the transaction
❯ gateway The gateway that was redacted
❯❯ redacted If the gateway is redacted
❯❯ state The new state of the gateway (retained)

Redact

PUT /v1/gateways/<gateway_token>/redact.<format> HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==


HTTPS/1.1 200 OK
{
  "transaction": {
    "token": "kKMybjJETZqTBhyVjr71zAE5Cf",
    "created_at": "2020-04-03T18:22:29Z",
    "updated_at": "2020-04-03T18:22:29Z",
    "succeeded": true,
    "transaction_type": "RedactGateway",
    "message_key": "messages.transaction_succeeded",
    "message": "Succeeded!",
    "gateway": {
      "token": "Dj9T30zWhNRIlJbfdcSCbw2o6Yp",
      "gateway_type": "authorize_net",
      "description": null,
      "payment_methods": [
        "credit_card",
        "bank_account",
        "apple_pay",
        "third_party_token"
      ],
      "state": "redacted",
      "created_at": "2020-04-03T18:22:29Z",
      "updated_at": "2020-04-03T18:22:29Z",
      "name": "Authorize.Net",
      "login": "Your Authorize.Net API Login ID",
      "characteristics": [
        "purchase",
        "authorize",
        "capture",
        "credit",
        "general_credit",
        "void",
        "verify",
        "store",
        "fraud_review"
      ],
      "credentials": [
        {
          "name": "login",
          "value": "Your Authorize.Net API Login ID"
        }
      ],
      "gateway_settings": {
        "opt_out_recurring_default": null
      },
      "gateway_specific_fields": [
        "customer_id",
        "customer_profile_id",
        "duplicate_window",
        "disable_partial_auth",
        "market_type",
        "recurring",
        "email_customer",
        "header_email_receipt",
        "line_items",
        "po_number",
        "tax_exempt",
        "tax",
        "duty",
        "shipping",
        "transaction_id",
        "require_billing_address",
        "customer_payment_profile_id",
        "ship_from_address",
        "summary_commodity_code",
        "authentication_indicator",
        "cardholder_authentication_value"
      ],
      "redacted": true,
      "sandbox": false
    }
  }
}
<transaction>
  <token>GQxQpU4iKeYkUzk8Y8lKFDel4Dp</token>
  <created_at type="dateTime">2020-04-03T18:22:28Z</created_at>
  <updated_at type="dateTime">2020-04-03T18:22:28Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <transaction_type>RedactGateway</transaction_type>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway>
    <token>HF664DtDUtyxHyAS4qHgqUuy2kM</token>
    <gateway_type>authorize_net</gateway_type>
    <name>Authorize.Net</name>
    <description nil="true"></description>
    <login>Your Authorize.Net API Login ID</login>
    <characteristics>
      <supports_purchase type="boolean">true</supports_purchase>
      <supports_authorize type="boolean">true</supports_authorize>
      <supports_capture type="boolean">true</supports_capture>
      <supports_credit type="boolean">true</supports_credit>
      <supports_general_credit type="boolean">true</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_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
      <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
      <supports_3dsecure_2_mpi_purchase type="boolean">false</supports_3dsecure_2_mpi_purchase>
      <supports_3dsecure_2_mpi_authorize type="boolean">false</supports_3dsecure_2_mpi_authorize>
      <supports_store type="boolean">true</supports_store>
      <supports_remove type="boolean">false</supports_remove>
      <supports_fraud_review type="boolean">true</supports_fraud_review>
    </characteristics>
    <credentials>
      <credential>
        <name>login</name>
        <value>Your Authorize.Net API Login ID</value>
      </credential>
    </credentials>
    <gateway_settings>
      <opt_out_recurring_default nil="true"></opt_out_recurring_default>
    </gateway_settings>
    <gateway_specific_fields>
      <gateway_specific_field>customer_id</gateway_specific_field>
      <gateway_specific_field>customer_profile_id</gateway_specific_field>
      <gateway_specific_field>duplicate_window</gateway_specific_field>
      <gateway_specific_field>disable_partial_auth</gateway_specific_field>
      <gateway_specific_field>market_type</gateway_specific_field>
      <gateway_specific_field>recurring</gateway_specific_field>
      <gateway_specific_field>email_customer</gateway_specific_field>
      <gateway_specific_field>header_email_receipt</gateway_specific_field>
      <gateway_specific_field>line_items</gateway_specific_field>
      <gateway_specific_field>po_number</gateway_specific_field>
      <gateway_specific_field>tax_exempt</gateway_specific_field>
      <gateway_specific_field>tax</gateway_specific_field>
      <gateway_specific_field>duty</gateway_specific_field>
      <gateway_specific_field>shipping</gateway_specific_field>
      <gateway_specific_field>transaction_id</gateway_specific_field>
      <gateway_specific_field>require_billing_address</gateway_specific_field>
      <gateway_specific_field>customer_payment_profile_id</gateway_specific_field>
      <gateway_specific_field>ship_from_address</gateway_specific_field>
      <gateway_specific_field>summary_commodity_code</gateway_specific_field>
      <gateway_specific_field>authentication_indicator</gateway_specific_field>
      <gateway_specific_field>cardholder_authentication_value</gateway_specific_field>
    </gateway_specific_fields>
    <payment_methods>
      <payment_method>credit_card</payment_method>
      <payment_method>bank_account</payment_method>
      <payment_method>apple_pay</payment_method>
      <payment_method>third_party_token</payment_method>
    </payment_methods>
    <state>redacted</state>
    <redacted type="boolean">true</redacted>
    <sandbox type="boolean">false</sandbox>
    <created_at type="dateTime">2020-04-03T18:22:28Z</created_at>
    <updated_at type="dateTime">2020-04-03T18:22:28Z</updated_at>
  </gateway>
</transaction>

Redact (strip of any sensitive credentials and make inactive) a provisioned gateway.

URL Parameters

Parameter Description
gateway_token
required
The token of the gateway to execute against
format
required
One of json or xml

Response Body

Notable response elements include:

Element Description
transaction Root element
❯ token The token uniquely identifying this transaction at Spreedly
❯ succeeded true if the transaction request was successfully executed, false otherwise
❯ message A human-readable string indicating the result of the transaction
❯ gateway The gateway that was redacted
❯❯ redacted If the gateway is now redacted
❯❯ state The new state of the gateway (redacted)

Transactions

GET /v1/gateways/<gateway_token>/transactions.<format>?order=desc HTTPS/1.1
Host: core.spreedly.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Example response has been truncated for brevity

HTTPS/1.1 200 OK
{
  "transactions": [
    {
      "on_test_gateway": true,
      "created_at": "2021-06-01T18:12:58Z",
      "updated_at": "2021-06-01T18:12:58Z",
      "succeeded": true,
      "state": "succeeded",
      "token": "HTDLYnmo52ZEKrpLgW5mmFw3Mss",
      "transaction_type": "Purchase",
      "order_id": null,
      "ip": null,
      "description": null,
      "email": null,
      "merchant_name_descriptor": null,
      "merchant_location_descriptor": null,
      "merchant_profile_key": null,
      "gateway_specific_fields": null,
      "gateway_specific_response_fields": {
      },
      "gateway_transaction_id": "50",
      "gateway_latency_ms": 0,
      "stored_credential_initiator": null,
      "stored_credential_reason_type": null,
      "warning": null,
      "application_id": null,
      "amount": 100,
      "currency_code": "USD",
      "retain_on_success": false,
      "payment_method_added": false,
      "smart_routed": false,
      "message_key": "messages.transaction_succeeded",
      "message": "Succeeded!",
      "gateway_token": "T11bJAANtTWnxl36GYjKWvbNK0g",
      "gateway_type": "test",
      "response": {
        "success": true,
        "message": "Successful purchase",
        "avs_code": null,
        "avs_message": null,
        "cvv_code": null,
        "cvv_message": null,
        "pending": false,
        "result_unknown": false,
        "error_code": null,
        "error_detail": null,
        "cancelled": false,
        "fraud_review": null,
        "created_at": "2021-06-01T18:12:58Z",
        "updated_at": "2021-06-01T18:12:58Z"
      },
      "shipping_address": {
        "name": "Newfirst Newlast",
        "address1": null,
        "address2": null,
        "city": null,
        "state": null,
        "zip": null,
        "country": null,
        "phone_number": null
      },
      "api_urls": [
        {
          "referencing_transaction": [

          ]
        },
        {
          "failover_transaction": [

          ]
        }
      ],
      "attempt_3dsecure": false,
      "payment_method": {
        "token": "1rpKvP8zOUhj4Y9EDrIoIYQzzD5",
        "created_at": "2017-06-26T17:04:38Z",
        "updated_at": "2021-06-01T18:12:57Z",
        "email": "joey@example.com",
        "data": {
          "my_payment_method_identifier": "448",
          "extra_stuff": {
            "some_other_things": "Can be anything really"
          }
        },
        "storage_state": "retained",
        "test": true,
        "metadata": {
          "key": "string value"
        },
        "callback_url": null,
        "last_four_digits": "1111",
        "first_six_digits": "411111",
        "card_type": "visa",
        "first_name": "Newfirst",
        "last_name": "Newlast",
        "month": 3,
        "year": 2032,
        "address1": null,
        "address2": null,
        "city": null,
        "state": null,
        "zip": null,
        "country": null,
        "phone_number": null,
        "company": null,
        "full_name": "Newfirst Newlast",
        "eligible_for_card_updater": true,
        "shipping_address1": null,
        "shipping_address2": null,
        "shipping_city": null,
        "shipping_state": null,
        "shipping_zip": null,
        "shipping_country": null,
        "shipping_phone_number": null,
        "payment_method_type": "credit_card",
        "errors": [

        ],
        "fingerprint": "e3cef43464fc832f6e04f187df25af497994",
        "verification_value": "",
        "number": "XXXX-XXXX-XXXX-1111"
      }
    }
  ]
}
<transactions>
  <transaction>
    <on_test_gateway type="boolean">true</on_test_gateway>
    <created_at type="dateTime">2021-06-01T18:12:58Z</created_at>
    <updated_at type="dateTime">2021-06-01T18:12:58Z</updated_at>
    <succeeded type="boolean">true</succeeded>
    <state>succeeded</state>
    <token>HTDLYnmo52ZEKrpLgW5mmFw3Mss</token>
    <transaction_type>Purchase</transaction_type>
    <order_id nil="true"></order_id>
    <ip nil="true"></ip>
    <description nil="true"></description>
    <email nil="true"></email>
    <merchant_name_descriptor nil="true"></merchant_name_descriptor>
    <merchant_location_descriptor nil="true"></merchant_location_descriptor>
    <merchant_profile_key nil="true"></merchant_profile_key>
    <gateway_specific_fields nil="true"></gateway_specific_fields>
    <gateway_specific_response_fields>
    </gateway_specific_response_fields>
    <gateway_transaction_id>50</gateway_transaction_id>
    <gateway_latency_ms type="integer">0</gateway_latency_ms>
    <stored_credential_initiator nil="true"></stored_credential_initiator>
    <stored_credential_reason_type nil="true"></stored_credential_reason_type>
    <warning nil="true"></warning>
    <application_id nil="true"></application_id>
    <amount type="integer">100</amount>
    <currency_code>USD</currency_code>
    <retain_on_success type="boolean">false</retain_on_success>
    <payment_method_added type="boolean">false</payment_method_added>
    <smart_routed type="boolean">false</smart_routed>
    <message key="messages.transaction_succeeded">Succeeded!</message>
    <gateway_token>T11bJAANtTWnxl36GYjKWvbNK0g</gateway_token>
    <gateway_type>test</gateway_type>
    <shipping_address>
      <name>Newfirst Newlast</name>
      <address1 nil="true"></address1>
      <address2 nil="true"></address2>
      <city nil="true"></city>
      <state nil="true"></state>
      <zip nil="true"></zip>
      <country nil="true"></country>
      <phone_number nil="true"></phone_number>
    </shipping_address>
    <response>
      <success type="boolean">true</success>
      <message>Successful purchase</message>
      <avs_code nil="true"></avs_code>
      <avs_message nil="true"></avs_message>
      <cvv_code nil="true"></cvv_code>
      <cvv_message nil="true"></cvv_message>
      <pending type="boolean">false</pending>
      <result_unknown type="boolean">false</result_unknown>
      <error_code nil="true"></error_code>
      <error_detail nil="true"></error_detail>
      <cancelled type="boolean">false</cancelled>
      <fraud_review nil="true"></fraud_review>
      <created_at type="dateTime">2021-06-01T18:12:58Z</created_at>
      <updated_at type="dateTime">2021-06-01T18:12:58Z</updated_at>
    </response>
    <api_urls>
    </api_urls>
    <payment_method>
      <token>1rpKvP8zOUhj4Y9EDrIoIYQzzD5</token>
      <created_at>2017-06-26T17:04:38Z</created_at>
      <updated_at>2021-06-01T18:12:57Z</updated_at>
      <email>joey@example.com</email>
      <data>
        <my_payment_method_identifier>448</my_payment_method_identifier>
        <extra_stuff>
          <some_other_things>Can be anything really</some_other_things>
        </extra_stuff>
      </data>
      <storage_state>retained</storage_state>
      <test type="boolean">true</test>
      <metadata>
        <key>string value</key>
      </metadata>
      <callback_url nil="true"></callback_url>
      <last_four_digits>1111</last_four_digits>
      <first_six_digits>411111</first_six_digits>
      <card_type>visa</card_type>
      <first_name>Newfirst</first_name>
      <last_name>Newlast</last_name>
      <month type="integer">3</month>
      <year type="integer">2032</year>
      <address1 nil="true"></address1>
      <address2 nil="true"></address2>
      <city nil="true"></city>
      <state nil="true"></state>
      <zip nil="true"></zip>
      <country nil="true"></country>
      <phone_number nil="true"></phone_number>
      <company nil="true"></company>
      <full_name>Newfirst Newlast</full_name>
      <eligible_for_card_updater type="boolean">true</eligible_for_card_updater>
      <shipping_address1 nil="true"></shipping_address1>
      <shipping_address2 nil="true"></shipping_address2>
      <shipping_city nil="true"></shipping_city>
      <shipping_state nil="true"></shipping_state>
      <shipping_zip nil="true"></shipping_zip>
      <shipping_country nil="true"></shipping_country>
      <shipping_phone_number nil="true"></shipping_phone_number>
      <payment_method_type>credit_card</payment_method_type>
      <errors>
      </errors>
      <verification_value></verification_value>
      <number>XXXX-XXXX-XXXX-1111</number>
      <fingerprint>e3cef43464fc832f6e04f187df25af497994</fingerprint>
    </payment_method>
    <attempt_3dsecure type="boolean">false</attempt_3dsecure>
  </transaction>
</transactions>

Get an ordered and paginated list of transactions executed against a specific gateway.

URL Parameters

Parameter Description
gateway_token
required
The token of the gateway to execute against
format
required
One of json or xml
order The order of the returned list. Default is asc, which returns the oldest records first. To list newer records first, use desc.
since_token The token of the item to start from (e.g., the last token received in the previous list if iterating through records)
state The transaction state on which to filter the returned list. Can be one of succeeded, failed, gateway_processing_failed, gateway_processing_result_unknown.

Response Body

Notable response elements include:

Element Description
transaction(s) Root element
❯ token The token uniquely identifying this transaction at Spreedly
❯ succeeded true if the transaction request was successfully executed, false otherwise
❯ message A human-readable string indicating the result of the transaction
❯ gateway_transaction_id The id of the transaction at the gateway. To be used when corresponding with the gateway or reconciling transactions
❯ retain_on_success If the payment method was set to be retained on successful completion of the transaction. To determine if the payment method was actually retained, see the payment_method/storage_state field
❯ payment_method_added If the payment method was added as part of this transaction (i.e. a direct pass-in of the payment information) vs. using an already tokenized payment method
❯ response Unmodified details of the gateway response, including the message and error_code, if applicable. For failed transactions these fields can help determine the root cause
❯ payment_method The payment method used in this transaction
❯ merchant_profile_key The token of the Merchant Profile associated with the gateway used for the transaction
❯ sub_merchant_key The token of the sub-merchant associated with the transaction.
❯ gateway_specific_response_fields A hash containing unique optional fields that a gateway may return based on certain customized options.
❯ transaction_metadata The hash of key/value pairs that was included in the transaction request body.