Airwallex Gateway Guide
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, Client Api Key
Onboarding Merchants in:
-
Austria
-
Australia
-
Belgium
-
Bulgaria
-
Cyprus
-
Czech Republic
-
Germany
-
Denmark
-
Estonia
-
Greece
-
Spain
-
Finland
-
France
-
United Kingdom
-
Hong Kong
-
Croatia
-
Hungary
-
Ireland
-
Italy
-
Lithuania
-
Luxembourg
-
Latvia
-
Malta
-
Netherlands
-
Poland
-
Portugal
-
Romania
-
Sweden
-
Singapore
-
Slovenia
-
Slovakia
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.
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.