Chase Pay
Chase Pay is a digital wallet service by Chase that enables secure, seamless online checkout experiences for payers on the web on any device using credit/debit cards saved to their Chase account. Chase Pay is a supported device payment in the Mastercard Gateway.
This page describes integration details specific to Chase Pay. It's recommended that you read the integration guidelines for device payments, before building your Chase Pay integration.
Prerequisites
To accept Chase Pay payments:
- You must sign up with Chase.
- Your merchant profile on the gateway must be enabled for Device Payments by your payment service provider.
Adding support for Chase Pay to your integration
You can integrate Chase Pay into your mobile app or the checkout page of your website using Direct Payment.
- On payment confirmation, submit the encrypted payment token returned by Chase Pay to your server.
- Decrypt the payment token on your server using your private key. For decryption steps, please contact Chase.
- Provide the keys from the decrypted payment token in the corresponding transaction fields on the
Authorize
/Pay
request or theUpdate Session
request.
For a decrypted Chase Pay payment token, the payload will contain:
Chase Pay JSON KeyCorresponding API Request FieldDescriptionDPAN sourceOfFunds.provided.card.number The token of the card that funded this transaction. TokenRequestorID sourceOfFunds.tokenRequestorID The unique identifier assigned to you by the Token Service Provider that you requested a token from, for this payment. paymentCryptogram sourceOfFunds.provided.card.devicePayment. onlinePaymentCryptogram Cryptogram in 3DSecure format. eciIndicator sourceOfFunds.provided.card.devicePayment.eciIndicator ECI indicator as per 3DSecure specification - In addition to the above fields, include these in the Authorize/Pay request and submit it to the gateway.
- transaction.source=INTERNET
- order.walletProvider=CHASE_PAY
- device.mobilePhoneModel: (optional) The identifier of the mobile device used to initiate the payment.
- sourceOfFunds.provided.card.expiry
- order.amount
- order.currency
- posTerminal.location: You can specify
PAYER_TERMINAL_OFF_PREMISES
orPAYER_TERMINAL_ON_PREMISES
. If you do not provide a value,PAYER_TERMINAL_OFF_PREMISES
is used.
Example Request
Here's a sample Authorization Request in REST where payment token is decrypted by the gateway.
URL | 'https://test-nbkpayment.mtf.gateway.mastercard.com/api/rest/version/71/merchant/MADA_DMS_AU/order/169133315/transaction/884896907' |
HTTP Method | PUT |
Header | 'Authorization: Basic bWVyY2hhbnQuTUFEQV9ETVNfQVU6M2RjYTQ2YTU1ODYwNDlmMjhhM2FmZGJmZDEwMGNmNWQ=' |
'{ "apiOperation": "AUTHORIZE", "order": { "amount": "100", "currency": "USD", "walletProvider": "CHASE_PAY" }, "sourceOfFunds": { "provided": { "card": { "expiry": { "month": "05", "year": "17" }, "number": "4444333322221111", "devicePayment": { "cryptogramFormat": "3DSECURE", "onlinePaymentCryptogram": "gIG4FrSFGCg4iYqLjI2Oj5CRkpM=", "eciIndicator": "05" } } }, "type": "CARD", "tokenRequestorID": "12345678901" }, "transaction": { "source": "INTERNET" } }'
Example Response
{ "authorizationResponse": { "commercialCard": "!01", "commercialCardIndicator": "0", "date": "0314", "posData": "1025104006600", "posEntryMode": "812", "processingCode": "003000", "responseCode": "00", "returnAci": "Y", "stan": "44427", "time": "104520" }, "gatewayEntryPoint": "WEB_SERVICES_API", "merchant": "MADA_DMS_AU", "order": { "amount": 100.00, "authenticationStatus": "AUTHENTICATION_NOT_IN_EFFECT", "certainty": "FINAL", "chargeback": { "amount": 0, "currency": "USD" }, "creationTime": "2023-03-14T10:45:20.127Z", "currency": "USD", "id": "169133315", "lastUpdatedTime": "2023-03-14T10:45:20.671Z", "merchantAmount": 100.00, "merchantCategoryCode": "1234", "merchantCurrency": "USD", "status": "AUTHORIZED", "totalAuthorizedAmount": 100.00, "totalCapturedAmount": 0.00, "totalDisbursedAmount": 0.00, "totalRefundedAmount": 0.00, "walletProvider": "CHASE_PAY" }, "response": { "acquirerCode": "00", "acquirerMessage": "Approved", "gatewayCode": "APPROVED", "gatewayRecommendation": "NO_ACTION" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "VISA", "devicePayment": { "cryptogramFormat": "3DSECURE" }, "deviceSpecificExpiry": { "month": "5", "year": "17" }, "deviceSpecificNumber": "444433xxxxxx1111", "fundingMethod": "UNKNOWN", "number": "xxxxxxxxxxxxxxxx", "scheme": "VISA", "storedOnFile": "NOT_STORED" } }, "tokenRequestorID": "12345678901", "type": "CARD" }, "timeOfLastUpdate": "2023-03-14T10:45:20.671Z", "timeOfRecord": "2023-03-14T10:45:20.331Z", "transaction": { "acquirer": { "batch": 20230314, "date": "0314", "id": "SYSTEST_ACQ_S2I", "merchantId": "12345678" }, "amount": 100.00, "authenticationStatus": "AUTHENTICATION_NOT_IN_EFFECT", "authorizationCode": "112233", "currency": "USD", "id": "884896907", "receipt": "307310044427", "source": "INTERNET", "stan": "44427", "terminal": "1111", "type": "AUTHORIZATION" }, "version": "71" }