Skip to main content

Consumer profile management

Consumer profile management in Checkout enables you to create, store, update, and maintain consumer profiles, as well as payment card information with J.P. Morgan. This enables the consumer to save the payment information securely, and subsequently as a returning consumer they can pay with the saved payment information on Checkout.

Once a consumer profile is created, Checkout will share a unique profile ID and payment information ID that can be used to process future transactions. The following method of payments are supported for consumer profile management:

  • Cards (all supported card brands)
  • Electronic Check Processing (ECP)
  • Single Euro Payments Area (SEPA) 

Before you begin

Contact your relationship manager to enroll the Consumer Profile Management service. This is an optional service offered by J.P. Morgan to manage consumer profiles. 

Create consumer profiles for new consumers

This service allows you to create a consumer profile during a payment transaction by storing the payment method details in the Consumer Profile Management service. All payment transactions (i.e., authorizations, authorizations and captures, verifications) can be used to create the consumer profile inline with the transaction.

How it works

  1. You send a POST /intent (Setup Checkout Intent) request with isSaveConsumerProfile = true to Checkout to indicate your preference to save the consumer profile.
  2. A new consumer is checking out and enters their payment method (card or bank account) on Checkout.
  3. Consumer consents to Save for future payments and submits the payment.
    • If the consumer does not consent to saving the payment , then the payment information is not saved and the consumer profile is not created. 
  4. The payment is submitted and the payment method details are saved in the Consumer Profile Management system.
  5. Checkout returns the consumer profile information in the Profile Notification. (You must perform a GET /notifications call to retrieve the profile notification) 
    • The profileId field returns the consumer profile ID.
    • The paymentMethodId field returns the identifier associated to the payment method that was added.
  6. You can use the profileId to enable the returning user experience for a registered user on Checkout, as well as submit any subsequent payments outside of Checkout to direct payment APIs. 

Card:

New consumer experience using a card.

ECP:

New consumer experience using a ECP.

The following is a sample request of the POST /intent call with isSaveConsumerProfile = true to indicate an intent to create a consumer profile.

HTTP Method: POST

Endpoint: /intent

Json
{
    "currencyCode": "USD",
    "merchantOrderNumber": "JAMESKATIE08",
    "checkoutOptions": {
        "authorization": {
            "authorizationType": "AUTH_METHOD_CART_AMOUNT"
        },
        "cardOnFile": {
            "transactionType": "COF_TRANSACTION_TYPE_UNSCHEDULED"
        },
        "capture": {
            "captureMethod": "CAPTURE_METHOD_NOW"
        },
        "consumerProfileOptions": {
            "isSaveConsumerProfile": true
        }
    },
    "cart": {
        "totalTransactionAmount": 1000
    }
}

Reuse consumer profiles for returning consumers

This service gives you the option of reusing the consumer profile ID of a returning consumer to process subsequent payment transactions.

How it works

  1. You send the consumer profile ID of the returning consumer to Checkout in the field consumerProfileId via POST /intent (Setup Checkout Intent).
  2. Checkout displays the available saved payment methods associated with the consumer profile ID to the consumer.
  3. Consumer performs one of the following actions:
    • Pays with the saved payment method.
Consumer pays with the saved card by clicking on the call to action button.
  • Edits the saved payment method.
    • Cards: Name on the card, expiry, and billing address can be updated.
    • ECP: Name on the account and billing address can be updated.
    • SEPA: Name on the account and billing address can be updated.
Consumer edits the saved payment method information by clicking on the Edit link displayed with the saved payment method.
  • Deletes the saved payment method. The default payment method cannot be deleted.
Consumer deletes the the saved payment method. This will delete the payment method from the consumer profile.
  • Choose to add another supported method of payment.
Consumer can pay with any other supported method of payment which is available under the More ways to pay option.

The follow is a sample request of the POST /intent call with consumerProfileId of the returning user provided.

HTTP Method: POST

Endpoint: /intent

Json
{
    "currencyCode": "USD",
    "merchantOrderNumber": "JAMESKATIE08",
    "consumer": {
        "consumerProfileId": "JPMCW-YF8GN5LKS3JNLI4F"
    },
    "checkoutOptions": {
        "authorization": {
            "authorizationType": "AUTH_METHOD_CART_AMOUNT"
        },
        "cardOnFile": {
            "transactionType": "COF_TRANSACTION_TYPE_UNSCHEDULED"
        },
        "capture": {
            "captureMethod": "CAPTURE_METHOD_NOW"
        },
        "consumerProfileOptions": {
            "isSaveConsumerProfile": true
        }
    },
    "cart": {
        "totalTransactionAmount": 1000
    }
}

Retrieve notification with profile information

You can get the consumer profile information by performing a GET /notifications call to retrieve the profile notification. The following is a sample response of a GET /notifications call.

HTTP Method: GET

Endpoint: /notifications

Json
{
    "messages": [
        {
            "messageInfo": {
                "messageIdentifier": "e38a04b1-e377-4593-8802-a39ea0e501cd",
                "receiptHandle": "5ea7533c-fa30-4b7d-a418-3b159e3e75a0"
            },
            "createdAt": "2025-02-28T12:24:43Z",
            "profileNotification": {
                "profileId": "JPMCW-YF8GN5LKS3JNLI4F",
                "paymentMethodId": "7f0959c1-8be8-4a0f-93a8-fe2520c8fac9",
                "checkoutReference": "bdf91746-bb25-4fc4-88de-da1fd2de0fd1",
                "merchantOrderNumber": "04f6ab97-d509-44fa-af88-df367f0abfcf",
                "requestId": "34f8bcf8-dc70-462e-bb8a-ab1f4fe23ee4",
                "fraudCheckStatus": "1",
                "responseStatus": "SUCCESS",
                "responseCode": "APPROVED",
                "responseMessage": "Transaction approved by Issuer"
            }
        }
    ],
    "nextPageToken": ""
}