Airwallex gateway guide

Adding an Airwallex gateway

To add an Airwallex gateway:

curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>airwallex</gateway_type>
        <client_id>Your client_id</client_id>
        <client_api_key>Your client_api_key</client_api_key>
      </gateway>'
<gateway>
  <token>EV51aGxpyQ50OSMDph183cTQczz</token>
  <gateway_type>airwallex</gateway_type>
  <name>Airwallex</name>
  <description nil="true"/>
  <merchant_profile_key nil="true"/>
  <sub_merchant_key nil="true"/>
  <client_id>Your client_id</client_id>
  <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">true</supports_3dsecure_2_mpi_purchase>
    <supports_3dsecure_2_mpi_authorize type="boolean">true</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>
  </characteristics>
  <credentials>
    <credential>
      <name>client_id</name>
      <value>Your client_id</value>
    </credential>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>request_id</gateway_specific_field>
    <gateway_specific_field>merchant_order_id</gateway_specific_field>
    <gateway_specific_field>return_url</gateway_specific_field>
    <gateway_specific_field>skip_3ds</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">false</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2022-08-18T06:23:35Z</created_at>
  <updated_at type="dateTime">2022-08-18T06:23:35Z</updated_at>
</gateway>

Third-party 3DS2 auth data

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

Spreedly fieldAirwallex field
three_ds_versionversion
ecommerce_indicatoreci
authentication_valueauthentication_value
directory_server_transaction_idds_transaction_id
three_ds_server_trans_idthree_ds_server_transaction_id

Gateway specific fields

Spreedly supports the following gateway specific fields when transacting with an Airwallex gateway:

  • request_id
  • merchant_order_id
  • return_url
  • skip_3ds

The request_id is a unique identifier for each transaction call. Since most calls to Airwallex via Spreedly will result in multiple calls between Spreedly and Airwallex, Spreedly will append the type of request being made to the end of the request_id to satisfy uniqueness requirements. If you wish to provide your own value, note that this field must be unique per transaction.

The merchant_order_id may be used to correspond with an ID in your order system.

Unique values for request_id and merchant_order_id will automatically be provided if not supplied.

skip_3ds is a boolean and by default it is not passed (false). Set it to true if you want to skip 3DS regardless of the risk score and SCA. Merchants will need to reach out to Airwallex in order to enable this configuration on their Airwallex account.

Stored Credentials

For Airwallex, 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.