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