The Pay with Points API lets Citi customers use their Citi Points to pay for all or part of a transaction on your app. To simplify integration, transaction payments are processed through your existing payment gateway. A matching statement credit is then applied to the customer's Citi account, usually within 1-3 days.

 

Note: The Developer Hub Sandbox is a test environment that allows you to make API calls that are the same in form and function to our production environments. It contains dummy test data so that you can prototype your application as if it were the real thing. When you’re finished testing, contact sales to request production access.

Pay with Points resources must be called in a specific order:

1) Enroll in Pay with Points (Required once for a credit card)
2) Token Activation (Required once for a token)
3) Retrieve rewards balance
4) Submit redemption request

,

Note: Skip this step if you already created an app and have a pair of Client ID and Client Secret.

  1. Sign in to developer.citi.com
  2. Select My Applications tab.
  3. Click Register a New App
     

a. Fill out the required details

b. Upload an icon for your app (optional)

c. Click Submit

d. You will receive a pair of Client ID and Client Secret. Store this information securely. Use the Show button/checkbox to see your Client ID and Client Secret.

Note: Client secret is shown only once, so make sure you save this information. If in any case you lose your credential set, you can use the Regenerate button to get a new set of Client ID & Client Secret.

,

An access token is required to call all functional APIs. To retrieve your access token, visit your market’s Authorize guide.

,

Enrolls the customer into the Pay with Points program and returns a token, which requires activation and that will be used for subsequent API calls. Separate enrollment is required for each credit card.

 

Sample Request:

Authorization: Bearer <<Authorization Token>>

uuid: 8120e2d6-0381-4e52-9d90-a5bf771ff243

Accept: application/json

Content-Type :application/json

Accept-Language:en-us

Client_ID: e5245bed-daaf-4eac-867b-57a564604fda

RewardsLinkageRequest:

 

{"lastFourDigitsCardNumber":"7411","citiCardHolderPhoneNumber":"2608191234","merchantCustomerReferenceId":"2608191234111"}

 

Content-Type :application/json

,

Activate the Rewards Token associated with the last four digits of the credit card number provided and the phone number.

 

Sample Request:

 

uuid: 8120e2d6-0381-4e52-9d90-a5bf771ff243

Accept: application/json

Client_ID: e5245bed-daaf-4eac-867b-57a564604fda

Content-Type :application/json

Authorization: Bearer <<Authorization Token>>

Accept-Language:en-us

rewardLinkCode :9988799798383690000

 

RewardsLinkageActivationRequest: {"linkageConfirmationCode":"735937"}

 

Content-Type :application/json

,

Returns the Citi Rewards Points balance and the details for converting the specified token to a dollar amount. 

 

Sample Request:

 

rewardLinkCode :9988799798383690000

 

Authorization: Bearer <<Authorization Token>>

uuid: 8120e2d6-0381-4e52-9d90-a5bf771ff243

Accept: application/json

Client_ID: e5245bed-daaf-4eac-867b-57a564604fda

Accept-Language:en-us

,

Submits a points redemption request for the credit card associated with the specified token. Redemptions are processed as statement credits to the Citi customer's account.

 

Sample Request:

 

rewardLinkCode :9988799798383690000

 

Authorization: Bearer <<Authorization Token>>

uuid: 8120e2d6-0381-4e52-9d90-a5bf771ff243

Accept: application/json

Client_ID: e5245bed-daaf-4eac-867b-57a564604fda

Accept-Language:en-us

RewardPointsRedemptionRequest:

 

{"transactionReferenceNumber":"132323454de6234543","redemptionOrder":{"transactionAmount":100.5,"currencyCode":"AUD","pointsToRedeem":1005,"transactionDescription":"Completed"}}