Skip to content

Click to Pay

Click to Pay is a card-based payment capability developed by Visa and Mastercard that enables a faster and more secure checkout experience for online payments.
It allows customers to complete transactions using stored card details, without manually entering card information at each purchase.

Click to Pay leverages the existing card payment infrastructure, using the same API and backend processing as standard card transactions, and provides a consistent digital wallet experience across participating merchants and issuers.

Payment CapabilityCategoryCountriesCurrenciesFeaturesIntegrations
Click to PayCard CapabilityGlobal*Card-basedFast checkout, Card-on-file, Secure authPayment Form, Plugins

*Availability depends on scheme and issuer participation.

Why use Click to Pay

Click to Pay improves both the customer experience and the performance of online card payments.

  • Faster checkout – Customers can complete payments without manually entering card details
  • Reduced friction – Simplifies the checkout flow, especially on mobile devices
  • Higher conversion potential – Fewer steps at checkout can lead to improved payment completion rates
  • Secure by design – Card details are stored and managed by the card schemes
  • Consistent experience – Customers can reuse their cards across multiple merchants

How it Works

Click to Pay simplifies the checkout experience by leveraging scheme-managed wallets.

  1. Select card payment
    At checkout, the customer selects the card payment option.
  2. Click to Pay is presented (if eligible)
    When the card form is displayed, Click to Pay may be offered as part of the experience, depending on configuration, customer profile, and device recognition.
  3. Identify the customer
    If the customer is recognized, they may be required to verify their identity (e.g. via OTP), especially when using a new or unrecognized device.
  4. Display available cards
    Once identified and verified, stored cards are retrieved from the card scheme and presented to the customer. Only eligible cards are shown based on issuer and scheme participation.
  5. Choose a card or continue manually
    The customer can select one of the available cards or proceed by manually entering card details.
  6. Authenticate and pay
    If required, the customer completes authentication (e.g. OTP or 3DS), and the transaction is processed as a standard card payment.

Integration

Click to Pay is part of the standard card payment flow and does not require a dedicated integration.
It uses the existing card payment infrastructure and transactions are processed as standard card payments.

Integration Types and Supported Services

Click to Pay is supported on the following integration types:

  • Payment Form – see full integration details [here]
  • Plugins – see supported platforms and setup [here]

Click to Pay can also be used through additional services:

  • Link to Pay – see service details [here]
    • Link to Pay is not an integration type; it leverages existing Payment Form or Plugin integrations
    • Transactions executed via Link to Pay can include Click to Pay when enabled
    • No additional backend integration is required
Notification

Important

Click to Pay is only supported on frontend integrations (Payment Form and Plugins) and is not compatible with Server-to-Server setups.

Integration Scope

Click to Pay is part of the frontend checkout experience.

It is enabled through Payment Form or Plugin configuration and is managed entirely within those components. No additional implementation is required beyond standard card payment integration using Payment Form or Plugins.

Click to Pay Activation (What you need to ensure)

This is the most important section for you as an integrator.
Click to Pay is not triggered by a dedicated field, but there are specific conditions you must guarantee.

Click to Pay availability is determined by configuration and scheme eligibility.

Required conditions

Payment method must include CARD:

</>JSON
"transaction": {
  "paymentMethod": ["CARD"]
}

This field does not activate Click to Pay directly. It is a prerequisite for card processing.

• You must render the Payment Form using formContext returned by Checkout API.

Strongly recommended

To ensure optimal behavior, provide customer email: customer.customerInfo.customerEmail

This allows:

  • Customer recognition
  • Retrieval of stored cards
  • Better conversion
Notification

Important

For integration details (authentication, request structure and mandatory fields), refer to the Card Payment (Payment Form / Plugins) integration documentation. Click to Pay is handled as a capability within the CARD payment flow and does not require additional API integration.

Request Fields

These are the only request fields that influence Click to Pay behavior.

FieldTypeConditionDescriptionExample
transaction.paymentMethodArrayMandatoryMust include “CARD” to enable card-based flows (including Click to Pay)[“CARD”]
customer.customerInfo.customerEmailStringRecommendedUsed to identify the customer and retrieve stored cardsjohn@email.com
transaction.forceDisableClickToPayBooleanOptionalDisables Click to Pay even if enabled in backendTrue
tokenisation.paymentTokens.tokenTypeStringOptionalCan include “Click To Pay” when using token flows“Click To Pay”
Response (Integration Output)

This response is returned after the Checkout API call.
It contains all required data to render the Payment Form and determine Click to Pay availability.

Checkout Request Example
<JSON/>

{
  "merchant": {
    "terminalId": "1000590",
    "channel": "WEB",
    "merchantTransactionId": "5599883",
    "websiteAddress": "https://yourwebsite.com"
  },
  "customer": {
    "customerInfo": {
      "customerName": "John Smith",
      "customerEmail": "john@email.com"
    }
  },
  "transaction": {
    "amount": {
      "value": 100,
      "currency": "EUR"
    },
    "paymentMethod": ["CARD"],
    "forceDisableClickToPay": false
  }
}
Checkout Response Example
<JSON/>
{
  "returnStatus": { "statusCode": "000" },
  "paymentMethodList": ["CARD"],
  "clickToPay": {
    "clickToPayService": true,
    "cards": [
      {
        "maskedCardNumber": "**** **** **** 1234",
        "expiryDate": "12/26"
      }
    ]
  },
  "formContext": "eyJQYXltZW50…"
}

This table lists only the response fields relevant to Click to Pay, for merchants with the Click to Pay system active.

FieldTypeConditionDescriptionExample
clickToPay.clickToPayServiceBooleanOptionalIndicates if Click to Pay is enabled for this transactionTrue
tokenList.tokenTypeStringOptionalCan include “Click To Pay” when using token flows“Click To Pay”
Notification

Important

Response Note

  • If clickToPay.clickToPayService = true → Click to Pay is available in Payment Form
  • If false or absent → Click to Pay will not be presented

 

formContext (object) – Mandatory

The formContext is returned in the Checkout Response.
The integrator must:

  • Receive formContext
  • Pass it to the Payment Form rendering layer

This is required for the checkout UI to be correctly initialized.

Transaction Processing

From a backend perspective, Click to Pay transactions follow the same processing flow as standard card payments:

  1. The checkout solution handles Click to Pay interaction with the card scheme
  2. Card data is securely retrieved and tokenized.
  3. An encrypted payload is generated
  4. The merchant processes the payment using the standard card flow
  5. The transaction is authorized and completed

No changes are required in backend integration logic.

Important Considerations
  • Card availability depends on issuer participation and scheme eligibility
  • Not all cards may be available, particularly during early rollout
  • Customers must have a Click to Pay profile
  • The checkout experience may vary depending on:
    • Device recognition
    • Authentication requirements
    • Available cards
Privacy Overview
blank

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.