Airwallex Gateway Guide

close

Services and Compatibility

Payment Gateway Company Name:
Airwallex
Services that work with Spreedly:
  • Airwallex
Supported operations:
Purchase, Authorize, Capture, Refund, Void, Verify
Supported payment types:
Credit Card
Spreedly 3DS2 Global Supported
Yes
Gateway Specific 3DS1 Supported
No
Gateway Specific 3DS2 Supported
No
Regions:
Asia Pacific, Europe
API endpoint URL:
https://pci-api.airwallex.com/api/v1

Authentication and Security

Specific names for credentials:
Client Id, Client Api Key

Onboarding Merchants in:

Additional Notes

The return_url is must be supplied for authorize and purchase transactions. See the “Gateway specific fields” section for further details.

Adding an Airwallex gateway

To add a 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>Q8xfAZ1Ka7h3FKQ78mXyUDkC2d0</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_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>
  </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_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-04-11T19:13:38Z</created_at>
  <updated_at type="dateTime">2022-04-11T19:13:38Z</updated_at>
</gateway>


env = Spreedly::Environment.new('C7cRfNJGODKh4Iu5Ox3PToKjniY', '4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ', base_url: 'https://core.spreedly.com')
env.add_gateway(:airwallex, client_id: "Your login", client_api_key: "Your client_api_key")


#<Spreedly::Gateway:0x00007fca20385ff8
@token="ZR6VHHKwrMnu4quLTdhGQW00cX1",
@created_at="2022-04-11T19:13:38Z",
@updated_at="2022-04-11T19:13:38Z",
@gateway_type="airwallex",
@state="retained",
@name="Airwallex",
@credentials={"client_id"=>"Your login"}>

Third-party 3D Secure 2 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 Field Airwallex Field
three_ds_version version
ecommerce_indicator eci
authentication_value authentication_value
directory_server_transaction_id ds_transaction_id
three_ds_server_trans_id three_ds_server_transaction_id

Gateway specific fields

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

  • request_id
  • merchant_order_id
  • return_url

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.

The return_url is required for authorize and purchase transactions. This URL is required by Airwallex as a target to which a customer will be redirected after supplying confirmation on the card issuer’s site. This feature is not currently supported by Spreedly. If you are experiencing a high rate of transaction failure, we recommend adjusting risk score threshholds in your Airwallex dashboard.

Please refer to using a payment method for more information on how to send GSFs

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 seamless use of stored credentials by reviewing our Stored Credentials Guide.