ConnexPay gateway guide

Quick Start

New to integrating ConnexPay with Spreedly? Here's your setup guide:

  1. Retrieve your ConnexPay credentials
    1. Contact the ConnexPay support team to obtain API credentials
  2. Get familiar with the Spreedly API
    1. Review Spreedly API basics
    2. Understand the core concepts: Gateways, Payment Methods, and Transactions
  3. Add ConnexPay gateway to Spreedly in sandbox mode
ℹ️

Review this documentation to understand more about how to test transactions.

Adding a ConnexPay gateway

Required Credentials

username: Your ConnexPay username for api authentication

password: Your ConnexPay password for api authentication

device_guid: Your Connex Pay device guid

Request

curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>connex_pay</gateway_type>
        <username>username</username>
        <password>password</password>
        <device_guid>164e0f86-xxxx-4975-ab86-1c5e1e79xxxx</device_guid>
      </gateway>'

Response

<gateway>
    <token>1AQQTT7X089ZY8RE6YQWG17xxx</token>
    <gateway_type>connex_pay</gateway_type>
    <name>ConnexPay</name>
    <description nil="true"/>
    <merchant_profile_key nil="true"/>
    <sub_merchant_key nil="true"/>
    <username>SpreedlyAPIsandbox</username>
    <device_guid>164e0f86-xxxx-4975-ab86-1c5e1e79xxxx</device_guid>
    <characteristics>
        <supports_purchase type="boolean">true</supports_purchase>
        <supports_authorize type="boolean">true</supports_authorize>
        <supports_capture type="boolean">true</supports_capture>
        <supports_partial_capture type="boolean">false</supports_partial_capture>
        <supports_credit type="boolean">true</supports_credit>
        <supports_partial_credit type="boolean">false</supports_partial_credit>
        <supports_general_credit type="boolean">false</supports_general_credit>
        <supports_void type="boolean">true</supports_void>
        <supports_adjust type="boolean">false</supports_adjust>
        <supports_verify type="boolean">true</supports_verify>
        <supports_reference_purchase type="boolean">false</supports_reference_purchase>
        <supports_purchase_via_preauthorization type="boolean">false</supports_purchase_via_preauthorization>
        <supports_offsite_purchase type="boolean">false</supports_offsite_purchase>
        <supports_offsite_authorize type="boolean">false</supports_offsite_authorize>
        <supports_offsite_synchronous_purchase type="boolean">false</supports_offsite_synchronous_purchase>
        <supports_offsite_synchronous_authorize type="boolean">false</supports_offsite_synchronous_authorize>
        <supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
        <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
        <supports_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>
        <supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>
        <supports_store type="boolean">true</supports_store>
        <supports_remove type="boolean">false</supports_remove>
        <supports_fraud_review type="boolean">false</supports_fraud_review>
        <supports_network_tokenization type="boolean">false</supports_network_tokenization>
        <supports_inquire_by_gateway_transaction_id type="boolean">false</supports_inquire_by_gateway_transaction_id>
        <supports_inquire_by_order_id type="boolean">false</supports_inquire_by_order_id>
        <supports_transaction_retry type="boolean">false</supports_transaction_retry>
        <supports_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
        <supports_stored_credentials type="boolean">true</supports_stored_credentials>
    </characteristics>
    <credentials>
        <credential>
            <name>username</name>
            <value>SpreedlyAPIsandbox</value>
        </credential>
        <credential>
            <name>device_guid</name>
            <value>164e0f86-xxxx-4975-ab86-1c5e1e79xxxx</value>
        </credential>
    </credentials>
    <gateway_settings>
  </gateway_settings>
    <gateway_specific_fields>
        <gateway_specific_field>sequence_number</gateway_specific_field>
        <gateway_specific_field>send_receipt</gateway_specific_field>
        <gateway_specific_field>risk_processing_only</gateway_specific_field>
        <gateway_specific_field>risk_data</gateway_specific_field>
        <gateway_specific_field>sale_tax</gateway_specific_field>
        <gateway_specific_field>association_id</gateway_specific_field>
        <gateway_specific_field>check_risk_score</gateway_specific_field>
        <gateway_specific_field>activation_date</gateway_specific_field>
        <gateway_specific_field>customer_id</gateway_specific_field>
        <gateway_specific_field>expected_payments</gateway_specific_field>
        <gateway_specific_field>void_reason</gateway_specific_field>
    </gateway_specific_fields>
    <payment_methods>
        <payment_method>credit_card</payment_method>
        <payment_method>third_party_token</payment_method>
    </payment_methods>
    <state>retained</state>
    <redacted type="boolean">false</redacted>
    <sandbox type="boolean">true</sandbox>
    <mode>default</mode>
    <created_at type="dateTime">2026-05-04T05:48:18Z</created_at>
    <updated_at type="dateTime">2026-05-04T05:48:18Z</updated_at>
</gateway>

Purchase (Auth and Capture)

curl https://core.spreedly.com/v1/gateways/[gateway_token]/purchase.json \
-u 'EnvironmentKey:AccessSecret' \
-H "Content-Type: application/json" \
-d '{
  "transaction": {
    "payment_method_token": "payment_method_token",
    "amount": 1000,
    "currency_code": "USD",
    "email": "[email protected]",
    "billing_address": {
        "name": "Mit Donga",
        "address1": "some address1",
        "address": "some address2",
        "city": "NYC",
        "state": "CA",
        "zip": "32191",
        "country": "US"
    },
    "retain_on_success": true
  }
}'

Advanced features

Third-party 3DS2

Spreedly will automatically handle the field mapping for sending third-party 3DS2 authentication data to ConnexPay. For more information about how to use this feature, see the 3DS2 Third-party Authentication Guide. Spreedly fields map to the relevant ConnexPay fields as described in the following table. Please see ConnexPay’s third-party 3DS2 documentation for detailed descriptions of each of these fields and when to use them.

Spreedly fieldConnexPay Field
three_ds_versionCard.ThreeDS.Version
ecommerce_indicatorCard.ThreeDS.ECI
authentication_valueCard.ThreeDS.Cavv
directory_server_transaction_idCard.ThreeDS.DirectoryServerTransactionID
acs_transaction_idCard.ThreeDS.AcsTransactionId
ℹ️

Review Spreedly's documentation to understand more on the Third Party 3DS2

Gateway specific fields

Spreedly supports the following gateway specific fields when transacting with a ConnexPay gateway:

Spreedly Field Name

Type

Required

Use case
(Description)

Example Value

sequence_number

String

No

Transaction sequence number within the client environment

123456

send_receipt

Boolean

No

Indicates whether a receipt should be sent to the customer for the transaction

true

risk_processing_only

Boolean

No

Specifies that the request should run fraud/risk checks only, without actually processing a payment

true

risk_data

Object

No

Object containing additional fraud/risk-related information used for transaction evaluation

{ "session_id": "EQX-SESSION-123456789", "name": "Mit Donga", "gender": "M", "date_of_birth": "1988-07-15", "order_number": "ORD-20260420-001", "seller_id": "CUST-778899" }

sale_tax

String

No

Sales Tax amount

10

association_id

String

No

Identifier used to associate this transaction with a related entity

123452

check_risk_score

Boolean

No

Indicates whether the transaction should be evaluated for a fraud/risk score

true

activation_date

Date

No

Set a future date on which to run this sale, at least one day from creation date and within 600 days

2026-04-08

customer_id

String

No

A unique identifier representing the customer in your system or within ConnexPay.

cust_20262

expected_payments

Integer

No

Number of outbound payments that will be made to suppliers

5

void_reason

String

No

Indicates the reason the transaction was voided.

Allowed values: POST_AUTH_USER_DECLINE, DEVICE_TIMEOUT, DEVICE_UNAVAILABLE, PARTIAL_REVERSAL, TORN_TRANSACTIONS, POST_AUTH_CHIP_DECLINE

POST_AUTH_USER_DECLINE

Purchase request example with GSF:

curl https://core.spreedly.com/v1/gateways/LlkjmEk0xNkcWrNixXa1fvNoTP4/purchase.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<transaction>
        <payment_method_token>01K4WT4PY9VZC26F1D63KHAHTQ</payment_method_token>
        <ip>1.127.0.1</ip>
        <amount>1200</amount>
        <currency_code>USD</currency_code>
        <billing_address>
          <name>Mit Donga</name>
          <address1>Purchase address1</address1>
          <address>Purchase address2</address>
          <city>Paris</city>
          <state>PR</state>
          <zip>32191</zip>
          <country>US</country>
        </billing_address>
        <order_id>ORD-1211</order_id>
        <email>[email protected]</email>
        <description>Some product</description>
        <gateway_specific_fields>
          <connex_pay>
            <sequence_number>12343322</sequence_number>
            <send_receipt>true</send_receipt>
            <customer_id>MitDonga</customer_id>
            <sale_tax>1</sale_tax>
            <association_id>12343322</association_id>
            <check_risk_score>true</check_risk_score>
            <risk_data>
              <session_id>EQX-SESSION-123456789</session_id>
              <name>Mit Donga</name>
              <gender>M</gender>
              <date_of_birth>1988-07-15</date_of_birth>
              <billing_phone_number>+14155551234</billing_phone_number>
              <billing_address1>123 Market Street</billing_address1>
              <billing_address2>Suite 400</billing_address2>
              <billing_city>San Francisco</billing_city>
              <billing_state>CA</billing_state>
              <billing_postal_code>94105</billing_postal_code>
              <billing_country_code>US</billing_country_code>
              <email>[email protected]</email>
              <product_type>Flight</product_type>
              <product_description>Round Trip Flight</product_description>
              <product_item>ROUNDTRIP01</product_item>
              <product_quantity>1</product_quantity>
              <product_price>42400</product_price>
              <order_number>ORD-20260420-001</order_number>
              <seller_id>CUST-778899</seller_id>
              <flight_data>
                <airline>AA</airline>
                <departure_airport>JFK</departure_airport>
                <departure_date>05/15/2026</departure_date>
                <destination_airport>LAX</destination_airport>
                <hours_to_departure>72</hours_to_departure>
                <journey_type>Day</journey_type>
                <route>Direct</route>
                <route_by_country>US, US</route_by_country>
                <flight_passengers type="array">
                  <flight_passenger>
                    <country>USA</country>
                    <date_of_birth>1988-07-15</date_of_birth>
                    <id>P12345678</id>
                    <name>John Doe 1</name>
                  </flight_passenger>
                  <flight_passenger>
                    <country>USA</country>
                    <date_of_birth>1990-09-22</date_of_birth>
                    <id>P87654321</id>
                    <name>Jane Doe 2</name>
                  </flight_passenger>
                </flight_passengers>
              </flight_data>
            </risk_data>
          </connex_pay>
        </gateway_specific_fields>
      </transaction>'

Purchase response example with GSF:

<transaction>
    <on_test_gateway type="boolean">true</on_test_gateway>
    <created_at type="dateTime">2026-05-04T08:32:24Z</created_at>
    <updated_at type="dateTime">2026-05-04T08:32:27Z</updated_at>
    <succeeded type="boolean">true</succeeded>
    <state>succeeded</state>
    <token>01KQS1VYG2ZR2VNY76MZ373G5B</token>
    <transaction_type>Purchase</transaction_type>
    <order_id>a63ea7ac9411f10a22e5b03accc547f5</order_id>
    <ip>1.127.0.1</ip>
    <description>Some product</description>
    <email>[email protected]</email>
    <merchant_name_descriptor nil="true"/>
    <merchant_location_descriptor nil="true"/>
    <merchant_profile_key nil="true"/>
    <gateway_specific_fields>
        <connex_pay>
            <sequence_number>12343322</sequence_number>
            <send_receipt>true</send_receipt>
            <customer_id>MitDonga</customer_id>
            <sale_tax>1</sale_tax>
            <association_id>12343322</association_id>
            <check_risk_score>true</check_risk_score>
            <risk_data>
                <session_id>EQX-SESSION-123456789</session_id>
                <name>Mit Donga</name>
                <gender>M</gender>
                <date_of_birth>1988-07-15</date_of_birth>
                <billing_phone_number>+14155551234</billing_phone_number>
                <billing_address1>123 Market Street</billing_address1>
                <billing_address2>Suite 400</billing_address2>
                <billing_city>San Francisco</billing_city>
                <billing_state>CA</billing_state>
                <billing_postal_code>94105</billing_postal_code>
                <billing_country_code>US</billing_country_code>
                <email>[email protected]</email>
                <product_type>Flight</product_type>
                <product_description>Round Trip Flight</product_description>
                <product_item>ROUNDTRIP01</product_item>
                <product_quantity>1</product_quantity>
                <product_price>42400</product_price>
                <order_number>ORD-20260420-001</order_number>
                <seller_id>CUST-778899</seller_id>
                <flight_data>
                    <airline>AA</airline>
                    <departure_airport>JFK</departure_airport>
                    <departure_date>05/15/2026</departure_date>
                    <destination_airport>LAX</destination_airport>
                    <hours_to_departure>72</hours_to_departure>
                    <journey_type>Day</journey_type>
                    <route>Direct</route>
                    <route_by_country>US, US</route_by_country>
                    <flight_passengers type="array">
                        <flight_passenger>
                            <country>USA</country>
                            <date_of_birth>1988-07-15</date_of_birth>
                            <id>P12345678</id>
                            <name>John Doe 1</name>
                        </flight_passenger>
                        <flight_passenger>
                            <country>USA</country>
                            <date_of_birth>1990-09-22</date_of_birth>
                            <id>P87654321</id>
                            <name>Jane Doe 2</name>
                        </flight_passenger>
                    </flight_passengers>
                </flight_data>
            </risk_data>
        </connex_pay>
    </gateway_specific_fields>
    <gateway_specific_response_fields>
        <connex_pay>
            <guid>bedc05c9-553d-438f-b99e-fb2f5dbe2d89</guid>
            <status>Transaction - Approved</status>
            <risk_response>
                <transactionId>KW4T420NP44Y1W94</transactionId>
                <response>Approved</response>
                <reason></reason>
                <score></score>
                <omniscore>6.1</omniscore>
            </risk_response>
            <customer_id>MitDonga</customer_id>
            <processor_status_code>A0000</processor_status_code>
            <processor_response_message>Success</processor_response_message>
            <auth_code>VTLMC1</auth_code>
            <batch_status>Batch - Open</batch_status>
            <card_guid>12fd5485-0e26-4fa7-a7aa-ef430d075589</card_guid>
        </connex_pay>
    </gateway_specific_response_fields>
    <gateway_transaction_id>bedc05c9-553d-438f-b99e-fb2f5dbe2d89</gateway_transaction_id>
    <sub_merchant_key nil="true"/>
    <gateway_latency_ms type="integer">3618</gateway_latency_ms>
    <warning nil="true"/>
    <application_id nil="true"/>
    <risk_data>
  </risk_data>
    <merchant_metadata>
  </merchant_metadata>
    <customer_data>
  </customer_data>
    <order_data>
  </order_data>
    <workflow_key nil="true"/>
    <protection_parameters>
  </protection_parameters>
    <amount type="integer">1200</amount>
    <local_amount type="integer">12</local_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>
    <stored_credential_initiator nil="true"/>
    <stored_credential_reason_type nil="true"/>
    <stored_credential_alternate_gateway nil="true"/>
    <stored_credential_final_payment type="boolean">false</stored_credential_final_payment>
    <message key="messages.transaction_succeeded">Succeeded!</message>
    <gateway_token>7XQ6VCWEK79S3SSH9H9D15YRAW</gateway_token>
    <gateway_type>connex_pay</gateway_type>
    <billing_address>
        <name>Mit Donga</name>
        <address1>Purchase address1</address1>
        <address2 nil="true"/>
        <city>Paris</city>
        <state>PR</state>
        <zip>32191</zip>
        <country>US</country>
        <phone_number nil="true"/>
    </billing_address>
    <shipping_address>
        <name>John Doe</name>
        <address1 nil="true"/>
        <address2 nil="true"/>
        <city nil="true"/>
        <state nil="true"/>
        <zip nil="true"/>
        <country nil="true"/>
        <phone_number nil="true"/>
    </shipping_address>
    <response>
        <success type="boolean">true</success>
        <message>Transaction - Approved</message>
        <avs_code>N</avs_code>
        <avs_message>Street address and postal code do not match. For American Express: Card member's name, street address and postal code do not match.</avs_message>
        <cvv_code nil="true"/>
        <cvv_message nil="true"/>
        <pending type="boolean">false</pending>
        <result_unknown type="boolean">false</result_unknown>
        <error_code nil="true"/>
        <error_detail nil="true"/>
        <cancelled type="boolean">false</cancelled>
        <fraud_review nil="true"/>
        <created_at type="dateTime">2026-05-04T08:32:27Z</created_at>
        <updated_at type="dateTime">2026-05-04T08:32:27Z</updated_at>
        <status nil="true"/>
        <network_transaction_id>1212MCC111369**</network_transaction_id>
    </response>
    <api_urls>
  </api_urls>
    <payment_method>
        <token>01KQA6XRKYTXBSQK7Y1F7XC016</token>
        <created_at>2026-04-28T14:12:09.982Z</created_at>
        <updated_at>2026-05-04T08:31:54.728Z</updated_at>
        <email nil="true"/>
        <data nil="true"/>
        <storage_state>retained</storage_state>
        <test type="boolean">false</test>
        <metadata nil="true"/>
        <callback_url nil="true"/>
        <last_successfully_used>2026-05-04T08:31:54.000Z</last_successfully_used>
        <last_four_digits>0057</last_four_digits>
        <first_six_digits>549974</first_six_digits>
        <card_type>master</card_type>
        <first_name>John</first_name>
        <last_name>Doe</last_name>
        <month type="integer">3</month>
        <year type="integer">2030</year>
        <address1>116 Main Street</address1>
        <address2 nil="true"/>
        <city>Durham</city>
        <state>NC</state>
        <zip>85284</zip>
        <country>US</country>
        <phone_number nil="true"/>
        <company nil="true"/>
        <full_name>John Doe</full_name>
        <eligible_for_card_updater type="boolean">true</eligible_for_card_updater>
        <shipping_address1 nil="true"/>
        <shipping_address2 nil="true"/>
        <shipping_city nil="true"/>
        <shipping_state nil="true"/>
        <shipping_zip nil="true"/>
        <shipping_country nil="true"/>
        <shipping_phone_number nil="true"/>
        <issuer_identification_number>54997400</issuer_identification_number>
        <click_to_pay type="boolean">false</click_to_pay>
        <managed type="boolean">true</managed>
        <bin_metadata>
            <card_brand>MASTERCARD</card_brand>
            <issuing_bank>MASTERCARD - TEST ICAS</issuing_bank>
            <card_type>CREDIT</card_type>
            <card_category>MIXED</card_category>
            <issuing_country_iso_number>840</issuing_country_iso_number>
            <issuing_bank_website>HTTPS://WWW.MASTERCARD.US/</issuing_bank_website>
            <issuing_bank_phone_number>1-800-307-7309</issuing_bank_phone_number>
            <max_pan_length type="integer">16</max_pan_length>
            <bin_type>PERSONAL</bin_type>
            <regulated>N</regulated>
            <issuing_country_iso_a2_code>US</issuing_country_iso_a2_code>
            <issuing_country_iso_a3_code>USA</issuing_country_iso_a3_code>
            <issuing_country_iso_name>UNITED STATES</issuing_country_iso_name>
        </bin_metadata>
        <subscribed_to_mastercard_abu type="boolean">false</subscribed_to_mastercard_abu>
        <payment_method_type>credit_card</payment_method_type>
        <stored_credential_usage>
            <connex_pay>
                <original_network_transaction_id>1212MCC111790**</original_network_transaction_id>
                <network_transaction_id>1212MCC111337**</network_transaction_id>
            </connex_pay>
        </stored_credential_usage>
        <errors>
    </errors>
        <verification_value></verification_value>
        <number>XXXX-XXXX-XXXX-0057</number>
        <fingerprint>44b94f6084057d83d6d61447a3ac452f2d7d</fingerprint>
    </payment_method>
    <attempt_3dsecure type="boolean">false</attempt_3dsecure>
</transaction>

Gateway specific response fields

A response from ConnexPay gateway may contain some specific fields, which you can find in the gateway_specific_response_fields

For example:

<gateway_specific_response_fields>
  <connex_pay>
    <guid>bedc05c9-553d-438f-b99e-fb2f5dbe2d89</guid>
    <status>Transaction - Approved</status>
    <risk_response>
      <transactionId>KW4T420NP44Y1W94</transactionId>
      <response>Approved</response>
      <reason></reason>
      <score></score>
      <omniscore>6.1</omniscore>
    </risk_response>
    <customer_id>MitDonga</customer_id>
    <processor_status_code>A0000</processor_status_code>
    <processor_response_message>Success</processor_response_message>
    <auth_code>VTLMC1</auth_code>
    <batch_status>Batch - Open</batch_status>
    <card_guid>12fd5485-0e26-4fa7-a7aa-ef430d075589</card_guid>
  </connex_pay>
</gateway_specific_response_fields>
Spreedly Field NameTypeDescription
guidStringTransaction Id
statusStringTransaction status
risk_responseObjectRisk response with reason and score
customer_idStringCustomer ID
processor_status_codeStringprocessor status code
processor_response_messageStringprocessor response message
auth_codeStringAuth code
batch_statusStringBatch status
card_guidStringVaulted card ID

Stored Credentials

For ConnexPay, sending stored credential fields can be done using Spreedly’s first class support. For any Authorize or Purchase request, you need to include two fields which tell Spreedly a little bit more about the nature of the transaction:

  • stored_credential_initiator
  • stored_credential_reason_type
ℹ️

Learn more about how Spreedly enables use of stored credentials by reviewing our Stored Credentials guide

First / credential-on-file setup (CIT)

reason_typeinitiatorCard.IsRecurring
installmentcardholderfalse
recurringcardholderfalse
unscheduledcardholderfalse

Subsequent use

reason_typeinitiatorCard.IsRecurring
installmentmerchantfalse
installmentcardholderfalse
recurringmerchanttrue
recurringcardholderfalse
unscheduledmerchantfalse
unscheduledcardholderfalse

Additional resources

📘

If you need support with this gateway, please contact Support at [email protected].

📘

ConnexPay documentation: Reference

API Endpoint: https://salesapi.connexpay.com/api/v1 (Production)

Test API Endpoint: https://sandboxsalesapi.connexpay.com/api/v1 (Sandbox)