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
- You send a
POST /intent
(Setup Checkout Intent) request withisSaveConsumerProfile = true
to Checkout to indicate your preference to save the consumer profile. - A new consumer is checking out and enters their payment method (card or bank account) on Checkout.
- 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.
- The payment is submitted and the payment method details are saved in the Consumer Profile Management system.
- 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.
- The
- 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:

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
{
"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
- You send the consumer profile ID of the returning consumer to Checkout in the field
consumerProfileId
viaPOST /intent
(Setup Checkout Intent). - Checkout displays the available saved payment methods associated with the consumer profile ID to the consumer.
- Consumer performs one of the following actions:
- Pays with the saved payment method.

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

- Deletes the saved payment method. The default payment method cannot be deleted.

- Choose to add another supported method of payment.

The follow is a sample request of the POST /intent
call with consumerProfileId
of the returning user provided.
HTTP Method: POST
Endpoint: /intent
{
"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
{
"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": ""
}