Chase Pay Payments

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 Payment 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.

  1. On payment confirmation, submit the encrypted payment token returned by Chase Pay to your server.
  2. Decrypt the payment token on your server using your private key. For decryption steps, please contact Chase.
  3. Provide the keys from the decrypted payment token in the corresponding transaction fields on the Authorize/Pay request or the Update Session request.

    For a decrypted Chase Pay payment token, the payload will contain:

    Chase Pay JSON Key
    Corresponding API Request Field
    Description
    DPAN 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.3DSecure. onlinePaymentCryptogram Cryptogram in 3DSecure format.
    eciIndicator sourceOfFunds.provided.card.devicePayment.3DSecure.eciIndicator ECI indicator as per 3DSecure specification

    sourceOfFunds.provided.card.devicePayment [REST][NVP]

  4. 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 or PAYER_TERMINAL_ON_PREMISES. If you do not provide a value, PAYER_TERMINAL_OFF_PREMISES is used.

Example Request

Sample Authorization Request for Chase Pay
 {
   "apiOperation": "AUTHORIZE",
   "order": {
     "amount": "100",
     "currency": "USD",
     "walletProvider": "CHASE_PAY"
   },
   "sourceOfFunds": {
     "provided": {
       "card": {
         "expiry": {
           "month": "05",
           "year": "17"
         },
         "number": "4444333322221111",
         "devicePayment": {
           "cryptogramFormat": "3DSECURE",
           "3DSecure": {
             "onlinePaymentCryptogram": "gIG4FrSFGCg4iYqLjI2Oj5CRkpM=",
             "eciIndicator": "05"
           }
         }
       }
     },
     "type": "CARD",
     "tokenRequestorID": "12345678901"
   },
   "transaction": {
     "frequency": "SINGLE",
     "source": "INTERNET"
   }
 } 

Example Response

Sample Authorization Response for Chase Pay
{
    "authorizationResponse": {
        "commercialCardIndicator": "Y"
    },
    "gatewayEntryPoint": "WEB_SERVICES_API",
    "merchant": "WTF79250222",
    "order": {
        "amount": 100,
        "chargeback": {
            "amount": 0,
            "currency": "USD"
        },
        "creationTime": "2018-08-21T10:32:15.530Z",
        "currency": "USD",
        "fundingStatus": "NOT_SUPPORTED",
        "id": "4ed0cb9f-e1cf-4c5d-a7b4-77b3e876f357",
        "status": "AUTHORIZED",
        "totalAuthorizedAmount": 100,
        "totalCapturedAmount": 0,
        "totalRefundedAmount": 0,
        "walletProvider": "CHASE_PAY"
    },
    "response": {
        "acquirerCode": "100",
        "acquirerMessage": "Approved",
        "cardholderVerification": {
            "avs": {
                "acquirerCode": "N1"
            }
        },
        "gatewayCode": "APPROVED",
        "gatewayRecommendation": "PROCEED"
    },
    "result": "SUCCESS",
    "sourceOfFunds": {
        "provided": {
            "card": {
                "brand": "VISA",
                "devicePayment": {
                    "cryptogramFormat": "3DSECURE"
                },
                "deviceSpecificExpiry": {
                    "month": "5",
                    "year": "17"
                },
                "deviceSpecificNumber": "444433xxxxxx1111",
                "expiry": {
                    "month": "5",
                    "year": "17"
                },
                "fundingMethod": "UNKNOWN",
                "number": "xxxxxxxxxxxxxxxx",
                "scheme": "VISA",
                "tags": "{\"LEVEL_3_INTERCHANGE_ELIGIBLE\":true}"
            }
        },
        "tokenRequestorID": "12345678901",
        "type": "CARD"
    },
    "timeOfRecord": "2018-08-21T10:32:15.530Z",
    "transaction": {
        "acquirer": {
            "batch": 1,
            "id": "PAYMENTECH_SALEM_2",
            "merchantId": "036988",
            "transactionId": "F39332CC28AB30B55465DA"
        },
        "amount": 100,
        "authorizationCode": "123456",
        "currency": "USD",
        "frequency": "SINGLE",
        "funding": {
            "status": "NOT_SUPPORTED"
        },
        "id": "1",
        "source": "INTERNET",
        "terminal": "22222",
        "type": "AUTHORIZATION"
    },
    "version": "50"
}

Copyright © 2020 Mastercard