Skip to main content

Consumer profile management

Checkout's consumer profile management allows you to create, store, update, and maintain consumer profiles along with the payment card details through J.P. Morgan. This feature ensures that consumers can securely save their payment information, enabling them to use the stored payment details for future transactions as returning customers on Checkout.

After a consumer profile is created, Checkout provides a unique profile ID and payment information ID, which can be utilized for processing future transactions. The supported payment methods for consumer profile management include:

  • 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. Consumer’s consent is required to save the payment information in a consumer profile. Consent can be collected in two ways:
    • Collect the consent on your webpage.
    • Checkout can collect the consent on the payment method form. You can configure this by enabling the Saving for future payments option in Checkout settings on Commerce Center.
  2. Consumer or accountholder name is required to create a consumer profile for the payment method. If you accept cards, then you can enable Checkout to collect the consumer’s name by enabling one or both of the following options in Checkout settings on Commerce Center. (For ECP and SEPA, Checkout always collects the accountholder name)
    • Name on Card under Credit or debit card.
    • Full Name under Billing address.
    • If both are provided, then Name on Card is used to create a profile.
  3. You send a POST /intent (Set up checkout intent) request with isSaveConsumerProfile = true to Checkout to indicate your preference to save the consumer profile.
  4. A new consumer is checking out and enters their payment method details (card or bank account) on Checkout.
  5. Based on the Checkout settings and the consumer's choice to provide consent or not, one of the following will occur:
    • If Saving for future payments option is enabled, then Checkout will collect the consumer’s consent on the checkout form.
      • If the consumer consents to saving the payment method and submits the payment, then the payment is processed and the payment method details are saved in the Consumer Profile Management system.
      • If the consumer does not consent to saving the payment method and submits the payment, then the payment is processed without saving the payment information and the consumer profile is not created. 
    • If you send a POST /intent (Set up checkout intent) request with isSaveConsumerProfile = true and Saving for future payments option in Checkout settings on Commerce Center is disabled, then it is your responsibility to collect consumer’s consent to save payment method details in the Consumer Profile Management system.
  6. 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.
  7. 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. 
Note

You must provide the profileId and paymentMethodId to submit a payment to the Online Payment API (POST /payments) using a consumer profile.

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 (Set up 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 following 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 notifications 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": ""
}