American Express
Intro
Started as an express mail company as early as 1850, American Express introduced its Traveler’s Checks already in 1891 with the aim to help Americans travelling around Europe. To further expand company’s presence in the financial industry, supported by various bank acquisitions, Amex introduced its first charge card in 1958. Almost 30 years later American Express introduced its first credit card product that did not have to be paid in full at the end of the month. To broaden card acceptance Amex dropped its focus on exclusivity, as a result at the end of 2017 the company had 112.8 million cards in place.
Amex SafeKey
Amex SafeKey leverages 3-D Secure to detect and reduce online fraud by adding an extra layer of security when consumers shop online.
Countries & currencies
Supported countries
- Albania
- Algeria
- American Samoa
- Andorra
- Angola
- Australia
- Austria
- Belgium
- Benin
- Bolivia
- Bonaire, Saba and Sint Eustatius
- Bouvet Island
Supported currencies
- Albanian lek (ALL)
- Algerian dinar (DZD)
- Australian dollar (AUD)
- Boliviano (BOB)
- Bulgarian lev (BGN)
- Canadian dollar (CAD)
- CFA franc BCEAO (XOF)
- Chinese yuan (CNY)
- Croatian kuna (HRK)
- Czech koruna (CZK)
- Danish krone (DKK)
- Egyptian pound (EGP)
Integration
We offer this payment methods for the following integration modes. Learn in our dedicated guides about their individual differences:
Find a high level overview in the "Process flows" chapter.
Depending on the integration mode, differences apply:
Hosted Checkout Page
Add the following properties to a standard CreateHostedCheckout request:
{
"HostedCheckoutSpecificInput": {
"ReturnUrl": "https://yourReturnUrl.com"
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "EUR"
}
}
}
Properties | Remarks |
---|---|
hostedCheckoutSpecificInput.returnURL |
The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
Find detailed information about this object and its properties in our CreateHostedCheckoutAPI.
Hosted Tokenization Page
Add the following properties to a standard CreatePayment request (including mandatory 3-D Secure properties) after you have tokenised the card:
{
"CardPaymentMethodSpecificInput": {
"Token": "tokenId",
"ThreeDSecure": {
"RedirectionData": {
"ReturnUrl": "https://yourRedirectionUrl.com"
}
}
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "EUR"
},
"Customer": {
"Device": {
"AcceptHeader":
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Locale": "en_EN",
"TimezoneOffsetUtcMinutes": -180,
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"Browserdata": {
"ColorDepth": 24,
"JavaScriptEnabled": false,
"ScreenHeight": "1080",
"ScreenWidth": "1920"
}
}
}
}
}
Properties | Remarks |
---|---|
cardPaymentMethodSpecificInput.token |
Token: The tokenised credit card credentials you have received by tokenising the credentials/getting the token. Learn more in our dedicated Hosted Tokenization Page guide. |
cardPaymentMethodSpecificInput.threeDSecure |
returnURL: The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
customer.device |
Minimum properties to comply with SCA for 3-D Secure authentication. Check our dedicated guide to learn how to request 3-D Secure correctly and our API reference for more information about the properties. |
Find detailed information about this object and its properties in our HostedTokenizationAPI/ CreatePaymentAPI.
Server-to-server
Add the following properties to a standard CreatePayment request (including mandatory 3-D Secure properties):
{
"CardPaymentMethodSpecificInput": {
"PaymentProductId": XXX,
"SkipAuthentication": false,
"Card": {
"CardholderName": "John Doe",
"CardNumber": "0000000000000000",
"Cvv": 123,
"ExpiryDate": 1236
},
"ThreeDSecure": {
"RedirectionData": {
"ReturnUrl": "https://yourRedirectionUrl.com"
}
}
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "EUR"
},
"Customer": {
"Device": {
"AcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Locale": "en_EN",
"TimezoneOffsetUtcMinutes": -180,
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"Browserdata": {
"ColorDepth": 24,
"JavaScriptEnabled": false,
"ScreenHeight": "1080",
"ScreenWidth": "1920"
}
}
}
}
}
Properties | Remarks |
---|---|
cardPaymentMethodSpecificInput.paymentProductId cardPaymentMethodSpecificInput.card cardPaymentMethodSpecificInput.ThreeDSecure |
paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter.
returnURL: The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
customer.device |
Minimum properties to comply with SCA for 3-D Secure authentication. Check our dedicated guide to learn how to request 3-D Secure correctly and our API reference for more information about the properties. |
Find detailed information about this object and its properties in our CreatePaymentAPI.
Process flows
We offer this payment method for all our integration modes. Regardless of the mode you choose, the flow follows some basic steps as described below. Learn in our dedicated guides about the individual differences:
- Your customers finalise an order in your shop and select this payment method.
- You send a CreateHostedCheckout/CreatePayment request to our platform. Depending on your integration mode, differences apply. Check out the “Integration” chapter to find examples for each mode.
- Our platform sends you a response with instructions for the next steps of the flow.
- Your customers provide their credit card number and are redirected to their issuer for 3-D Secure authentication.
- Our system receives the 3-D authentication result from the issuer.
- We process the transaction and receive the result from the acquirer.
- We redirect your customer to your returnUrl
- You request the transaction result from our platform via GetPaymentDetails /GetHostedCheckout or receive the result via webhooks.
- If the transaction was successful, you can deliver the goods / service.
Testing
Refer to our Test cases for test data and detailed instructions.
Make sure to use the right endpoint and switch back to the live URL as soon as you have finished your tests.