Skip to navigation

Step 2 of Pay with Points - Complete transaction

POST /loyalty/v2/paywithpoints/redemption will complete the Pay with Points transaction. To complete the transaction, you will supply:

  • Points Selection: Specifying the number of the Points selected by the Card Member as payment.
  • Amount Information: Providing amount for selected points.

Critical Note: To ensure the best experience to Card Members, the expected behavior of the system for all scenarios in which a 500, timeout (or other non-specified error) is received when submitting the POST /loyalty/v2/paywithpoints/redemption update, is for the Card Member to receive a message indicating a successful completion of Pay with Points. The error condition must then be resolved asynchronously to any remaining purchase process.

Example: The current basket’s checkout process should complete as though everything was successful, while a retry to Pay with Points is made in the background.

If Pay with Points is unable to be completed, a notification will be sent by the American Express to the Card Member.

Authentication

AuthorizationBearer

OAuth 2.0 client credentials. Exchange your API key and secret for a bearer token, then send it as Authorization: Bearer <token>.

Headers

X-AMEX-API-KEYstringRequired

A unique Consumer Developer key for Enterprise Web Proxy authentication. Please see the API key, https://developer.americanexpress.com/documentation#api-key

AuthorizationstringRequired

The OAuth2 Bearer token that the API Consumer use to gain access to the American Express API. The value provided here is the response of the Access Token API.

client_idstringRequired<=32 characters

Merchant Identification Code: This is a unique ID assigned to each Merchant when onboarding to the Pay with Points program.

Note: You will be able to access the client_id from your Application Keys when moving to both the Sandbox and Production environments. A standard Sandbox key is available within the Test Data section below.

message_idstringRequired<=36 characters

A unique ID generated by the Merchant for each /loyalty/v2/paywithpoints/eligibility. The scope of uniqueness is limited to the Merchant.

The same message_id should never be re-used across different transactions.

partner_country_codestringRequired<=3 characters

The numeric geographical code (geocode) to represent country and dependent areas

channel_idenumOptional

The channel from which the redemption transaction originated. Used for reporting and analytics purposes only.

Allowed values:

Request

This endpoint expects an object.
account_keyobjectRequired

The consumer can use any of the following types of identification methods for this API.

amountobjectRequired

A generic object for any amount that is related to a specific transaction.
Note: It is mandatory in case of Single-step scenario.

points_neededdoubleRequired

The number of Points the Card Member has approved to be used toward the purchase.

requestor_order_idstringOptional

The message_id header value received in the request.

charge_idstringOptional

A unique transaction identifier for the Card charge.

charge_id_typeenumOptional

The type of the transaction for the Card charge.

Allowed values:
basket_amountobjectOptional

A generic object for any amount that is related to a specific transaction.
Note: It is mandatory in case of Single-step scenario.

conversion_ratedoubleOptional

The points conversion rate.

merchant_service_establishment_idstringOptional

The Merchant Store Number if applicable.

Note: This field is applicable only for non-USA market partners. The partners can choose to send this field, but it is not required.

This field is non-applicable for USA market partners.

merchant_nameenumOptional

The Merchant Name if applicable.

Note: This field is applicable only for non-USA market partners. The partners can choose to send this field, but it is not required.

This field is non-applicable for USA market partners.

Allowed values:
merchant_pricing_codestringOptional

The Merchant pricing code passed in request. This is configured by the American Express and shared to the Partner at the time of onboarding.

Note: This field is mandatory only for non-USA market partners.

This field is non-mandatory for USA market partners.

fraud_checkobjectOptional

Depending on the terms of your agreement in participating with Pay with Points, the cid, exp_month, and exp_year properties may also be required.

Response

Pay with points response
idstringOptional

The internal transaction ID generated for the processing request.

requestor_order_idstringOptional

The message_id header value received in the request.

account_keyobjectOptional

The consumer can use any of the following types of identification methods for this API.

charge_idstringOptional

A unique transaction identifier for the Card charge.

charge_id_typeenumOptional

The type of the transaction for the Card charge.

Allowed values:
amountobjectOptional

A generic object for any amount that is related to a specific transaction.
Note: It is mandatory in case of Single-step scenario.

points_neededdoubleOptional

The number of Points the Card Member has approved to be used toward the purchase.

conversion_ratedoubleOptional

The points conversion rate.

merchant_service_establishment_idstringOptional

The Merchant Store Number if applicable.

Note: This field is applicable only for non-USA market partners. The partners can choose to send this field, but it is not required.

This field is non-applicable for USA market partners.

merchant_nameenumOptional

The Merchant Name if applicable.

Note: This field is applicable only for non-USA market partners. The partners can choose to send this field, but it is not required.

This field is non-applicable for USA market partners.

Allowed values:
merchant_pricing_codestringOptional

The Merchant pricing code passed in request. This is configured by the American Express and shared to the Partner at the time of onboarding.

Note: This field is mandatory only for non-USA market partners.

This field is non-mandatory for USA market partners.

_embeddedobjectOptional

This object embeds the reward program account information like current balance, tier code, reward unit, minimum and maximum dollar amount limits per transaction.

Errors

400
Bad Request Error
500
Internal Server Error