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 Capability | Category | Countries | Currencies | Features | Integrations |
|---|---|---|---|---|---|
| Click to Pay | Card Capability | Global* | Card-based | Fast checkout, Card-on-file, Secure auth | Payment 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.
- Select card payment
At checkout, the customer selects the card payment option. - 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. - 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. - 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. - Choose a card or continue manually
The customer can select one of the available cards or proceed by manually entering card details. - 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
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
Request Fields
These are the only request fields that influence Click to Pay behavior.
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| transaction.paymentMethod | Array | Mandatory | Must include “CARD” to enable card-based flows (including Click to Pay) | [“CARD”] |
| customer.customerInfo.customerEmail | String | Recommended | Used to identify the customer and retrieve stored cards | john@email.com |
| transaction.forceDisableClickToPay | Boolean | Optional | Disables Click to Pay even if enabled in backend | True |
| tokenisation.paymentTokens.tokenType | String | Optional | Can 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.
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| clickToPay.clickToPayService | Boolean | Optional | Indicates if Click to Pay is enabled for this transaction | True |
| tokenList.tokenType | String | Optional | Can include “Click To Pay” when using token flows | “Click To Pay” |
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:
- The checkout solution handles Click to Pay interaction with the card scheme
- Card data is securely retrieved and tokenized.
- An encrypted payload is generated
- The merchant processes the payment using the standard card flow
- 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
