Overview
Click to Pay is the global industry standard for secure, password-free, online checkout. Backed by major networks such as Visa, Mastercard, and American Express, Click to Pay is designed to replace manual card-entry with a ‘one-click’ user-experience. Click to Pay is a digital wallet built into the checkout page of participating websites. Unlike Apple Pay or Google Pay, which are tied to specific devices, Click to Pay works across any browser or device (PC, tablet, or phone) without requiring an application download.
Key Features
- Intelligent Recognition – Automatically recognizes a user via email or ‘remember me’ settings.
- Universal Compatibility – One profile works for all of a user’s cards, including Visa, Mastercard, Amex, and Discover.
- Enhanced Security – Uses tokenization, meaning the user’s card number is never shared with the merchant.
Benefits
- Fast – No need to enter a 16-digit number or billing address.
- Secure – Protects against data breaches because card details are not stored on a merchant server.
- Convenient – Ideal for guest checkouts as there is no need to create a store account.
Three-step Process
- Setup – A user links cards once through a bank application or during checkout.
- Select – At checkout, the user selects the ‘Click to Pay’ icon.
- Confirm – The user verifies identity (usually via a QR code sent to the user’s mobile device) and clicks ‘Pay’.
User-interface and Integration Guidelines
Supported User Flows
This section provides information about supported user flows.
User Recognized via Cookies or Previous Session
A user is recognized via cookies or any previous session. No additional identifier is needed. The user selects a saved card and proceeds.
User Recognized via Email or Mobile Lookup
- If a user is not recognized via cookies or a previous session, a prompt is displayed to obtain an identifier (an email or mobile number).
- The system checks if the identifier matches a Click to Pay profile.
- If found an identifier for the user is found, the user is authenticated (may require one-time password validation).
First-time User
If an identifier is not associated with a Click to Pay profile, the user is considered to be a first-time user.
- The user enters payment credentials directly on the merchant page.
- The user-interface flow includes the entering of email and/or mobile number, a one-time password validation, agreement to service terms, selection of a card, and confirmation of the CVV.
Integration Requirements
Prerequisites
The merchant must be onboarded to Mastercard and have a DPA ID registered with Nuvei.
Payment Request
Non-3DS Payments Mandatory Parameters
amountcurrencynetworkToken.providerDataclass containing:merchantTransactionIdas provided by MastercardcorrelationIdas provided by Mastercard
Example /payments Request – Nuvei Retrieves Token from Mastercard
{
"processingEntityId": "<processingEntityId>",
"transactionType": "Sale",
"amount": 31.25,
"currency": "USD",
"paymentOption": {
"networkToken": {
"provider": "Click2Pay",
"providerData": {
"correlationId": "34f4a04b.4fa1efe4-7df5-4184-8d33-dcd77b3cfd20",
"merchantTransactionId": "0a4e0d3.34f4a04b.388f1066dc24b23daeb0b608e86d41d52288b357"
}
}
},
"buyerDetails": {
"buyerId": "buyerId123",
"firstName": "John",
"lastName": "JSmith",
"companyName": "Nuvei Corp",
"dateOfBirth": "1978-01-01",
"email": "[email protected]",
"phone": "+1234567889",
"billingAddress": {
"state": "TX",
"city": "Austin",
"zip": "78652",
"countryCode": "US"
},
"shippingAddress": {
"sameAsBilling": true
}
},
"deviceDetails": {
"ipAddress": "127.0.0.1"
},
"urlDetails": {
"webhookUrl": "<>"
}
}
Example /payments Response – Nuvei Retrieves Token from Mastercard
{
"paymentId": "746a4e252bef4a38849c4179aded9dfc",
"transactionId": "7110000000019609189",
"amount": 31.25,
"currency": "USD",
"transactionType": "Sale",
"result": {
"status": "approved"
},
"authCode": "111905",
"partialApproval": {
"requestedAmount": 31.25,
"requestedCurrency": "USD"
},
"aftDetails": {
"isAftTransaction": false,
"isAftOverriden": false
},
"paymentOption": {
"networkToken": {
"provider": "Click2Pay",
"expirationMonth": "07",
"expirationYear": "28",
"bin": "520473",
"last4Digits": "8639",
"acquirerId": "19",
"cardBrand": "MASTERCARD",
"cardLast4Digits": "4595"
}
}
}
Retrieving an Identifier
Key Fields to Extract for Payment
merchantTransactionId(from response headers)correlationId(from checkoutResponseData)
Checkout() Request and Response Examples
Example Compare checkoutWithNewCard() Request
{
"encryptedCard": "eyJraWQiOiIyMDIzMDIwNzIyMzUyMS1zYW5kYm94LWZwYW4tZW5jcnlwdGlvbi1zcmMtbWFzdGVyY2FyZC1pbnQiLCJpYXQiOiIxNzY2MzIwODA5IiwiYWxnIjoiUlNBLU9BRVAtMjU2IiwiZW5jIjoiQTI1NkdDTSJ9.Tz-SWa3NdkP8O7OA_1krXR1L-I6Vy3T0fLjk2zMGPRKziw70Wp71hKule98Rw3OtidJDYvOgFJFwAbBzZGDvgw_AN-GUwkGildO4dlqKdRDBzXUC9w07ZVIifBlif5wnDBChmweKOtS6W125Tc9JvoZY5OnmAVX-TZUU0fnTpstrTOT_17-lFAHj8bUZiHPgUe5Jtv8eFTeKyjoiePpgW54CxMs9cIMDVYtaZxPzgRapjUXNrWBTgoPemFuIropwIAYBPzsS3gHQXzRB7HLVyxKiWeVM5LtKmKNclzg-3Tg8sxh2mRORNCaM01I-rrNwWm7PyjttO95aJNc-IFH41g.T3-2k4DPbXf7ZYgv.B6jvt0v8ivPHtZ4YAo6hhWT98fFpgnPFc03enw0sHLkgrzEXQXCyqGz_s8gAI86nfIJLaN3OX4NZQJqkdWTorSCeA5t95hPnwpWVfAQfIeeefBkQMR5gevMP1_qrMkXuUI_chI6X4h_obzAkQ7nYKQfn3iWC4HQCcuDZCDDEmS_Sl7iN3t0df8P3CnyxCQNTxCe5RSAiVEQ4BaDK7iIw-3ZeJtWphOE1cZO84fSuRHMaZYv1Qt3eaLi0VBe4UZSLxJqvh11jRCpzE-5gV9kdCZg.DGlaHMCjkRg6m1AAKn9lpA",
"cardBrand": "mastercard",
"consumer": {
"emailAddress": "[email protected]",
"mobileNumber": {
"phoneNumber": "5557771888",
"countryCode": "1"
},
"firstName": "John",
"lastName": "Doe"
},
"windowRef": "WindowREF",
"checkoutExperience": "WITHIN_CHECKOUT",
"complianceSettings": {
"privacy": {
"acceptedVersion": "LATEST",
"latestVersion": "LATEST",
"latestVersionUri": "https://www.mastercard.com/global/click-to-pay/country-listing/privacy.html"
},
"tnc": {
"acceptedVersion": "LATEST",
"latestVersion": "LATEST",
"latestVersionUri": "https://www.mastercard.com/global/click-to-pay/country-listing/terms.html"
}
},
"rememberMe": "true",
"dpaTransactionOptions": {
"paymentOptions": [
{
"dpaDynamicDataTtlMinutes": 15,
"dynamicDataType": "CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM"
}
],
"authenticationPreferences": {
"payloadRequested": "AUTHENTICATED",
"suppressChallenge": false
},
"merchantCategoryCode": "0001",
"merchantCountryCode": "US",
"acquirerMerchantId": "SRC3DS",
"acquirerBIN": "545301"
}
}
Example Compare checkoutWithNewCard Response
{
"checkoutActionCode": "COMPLETE",
"checkoutResponse": "eyJpc3MiOiJodHRwczpcL1wvbWFzdGVyY2FyZC5jb20iLCJpYXQiOjE3NjYzMjA4MzAsImFsZyI6IlJTMjU2IiwianRpIjoiMTliNjk3MzAtMGE5OS00MjUwLWJjNmUtNjVmMTIxMmQ0MjU5Iiwia2lkIjoiMjAyMzAyMDcxNjQ2MTMtc2FuZGJveC1wYXlsb2FkLXZlcmlmaWNhdGlvbi1zcmMtbWFzdGVyY2FyZC1pbnQifQ.eyJzcmNDb3JyZWxhdGlvbklkIjoiMzRmNGEwNGIuMTRiMzJhODctNjg2My00ZGEwLThhNTAtYjIxNDc5NjBmODk1Iiwic3JjaVRyYW5zYWN0aW9uSWQiOiI5MmFkYjQ5ZC0yN2RiLTRkNzItYTQ4MS04ODY1NTdkODYyZDkiLCJtYXNrZWRDYXJkIjp7InNyY0RpZ2l0YWxDYXJkSWQiOiJjRTlXaHpKMlRqT1I4bWZvbGZ4SkxnMDAwMDAwMDAwMDAwVVMiLCJwYW5CaW4iOiI1MTIwMzUiLCJwYW5MYXN0Rm91ciI6IjQ1MzciLCJkaWdpdGFsQ2FyZERhdGEiOnsic3RhdHVzIjoiQUNUSVZFIiwiZGVzY3JpcHRvck5hbWUiOiJNYXN0ZXJDYXJkIFRlc3QgQmFuayIsImFydFVyaSI6Imh0dHBzOi8vc2J4LmFzc2V0cy5tYXN0ZXJjYXJkLmNvbS9jYXJkLWFydC9jb21iaW5lZC1pbWFnZS1hc3NldC82NzEzZDczZC1hNzAxLTRiZDItYmM5Yi0yZTk4OTQwZGU5YzcucG5nIiwiY29CcmFuZGVkTmFtZSI6InRlc3QgY28tYnJhbmQiLCJpc0NvQnJhbmRlZCI6dHJ1ZSwibG9uZ0Rlc2NyaXB0aW9uIjoiVGVzdCBCYW5rIGZvciBNYXN0ZXJDYXJkIE1URiIsImZvcmVncm91bmRDb2xvciI6IjBGMEYwRiIsImlzc3Vlck5hbWUiOiJUZXN0IElzc3VlcsOCwq4ifSwicGFuRXhwaXJhdGlvbk1vbnRoIjoiMTIiLCJwYW5FeHBpcmF0aW9uWWVhciI6IjIwMzYiLCJwYXltZW50Q2FyZERlc2NyaXB0b3IiOiJtYXN0ZXJjYXJkIiwicGF5bWVudENhcmRUeXBlIjoiQ1JFRElUIiwic2VydmljZUlkIjoiU1JDIiwiZGF0ZU9mQ2FyZENyZWF0ZWQiOiIyMDI1LTEyLTIxVDEyOjQwOjExLjgwNVoifSwibWFza2VkQ29uc3VtZXIiOnsibWFza2VkQ29uc3VtZXJJZGVudGl0eSI6eyJpZGVudGl0eVByb3ZpZGVyIjoiU1JDIiwiaWRlbnRpdHlUeXBlIjoiRU1BSUxfQUREUkVTUyIsIm1hc2tlZElkZW50aXR5VmFsdWUiOiJqKioqKioyQG1haWxuYXRvci5jb20ifSwibWFza2VkRW1haWxBZGRyZXNzIjoiaioqKioqMkBtYWlsbmF0b3IuY29tIiwibWFza2VkTW9iaWxlTnVtYmVyIjp7ImNvdW50cnlDb2RlIjoiMSIsInBob25lTnVtYmVyIjoiKCoqKikgKioqLSo4ODgifSwiY291bnRyeUNvZGUiOiJVUyIsImxhbmd1YWdlQ29kZSI6ImVuIiwibWFza2VkRmlyc3ROYW1lIjoiSioqKiIsIm1hc2tlZExhc3ROYW1lIjoiRCoqIiwibWFza2VkRnVsbE5hbWUiOiJKKioqIEQqKiJ9LCJhc3N1cmFuY2VEYXRhIjp7ImNhcmRWZXJpZmljYXRpb25FbnRpdHkiOiIwMiIsImNhcmRWZXJpZmljYXRpb25NZXRob2QiOiIwMyIsImNhcmRWZXJpZmljYXRpb25SZXN1bHRzIjoiMDMifX0.Dr-ApjrHJbkRiht_Ntf7bkWhVh7-NPmOeAZSF_WpReuQP1bJOoPn-hXofR0t107RADG2fMfR_n1LXp-MqHVEb4f3QYThee7ebDzU2XbGr6kXU-o5auMEgAN4y0dL6NQJ7Py3yzfPDf-6idW9wkBsVVEwOuRBrep6VDT0YMl2-X3TjwelvP__5SHP6XnFHOyulB3zVS5EzkQLWYl42liiORz91OVCNt00RnbLM5GiiYoPkHJ2EqOSL7d484_a5me69iarbuGETfON7H9LRhhk_9lw37CpzbU5a8EFadhcy5BQSlnEsmxH-0m-f1G4FnXKKG-FLaSVc3iufOn3lGYsVA",
"headers": {
"merchant-transaction-id": "0a4e0d3.34f4a04b.6d5ddaf0827376d658af359d92ae5732f20d06ce",
"x-src-cx-flow-id": "34f4a04b.14b32a87-6863-4da0-8a50-b2147960f895.1766321731"
},
"network": "mastercard",
"checkoutResponseData": {
"srcCorrelationId": "34f4a04b.14b32a87-6863-4da0-8a50-b2147960f895",
"srciTransactionId": "92adb49d-27db-4d72-a481-886557d862d9",
"maskedCard": {
"srcDigitalCardId": "cE9WhzJ2TjOR8mfolfxJLg000000000000US",
"panBin": "512035",
"panLastFour": "4537",
"digitalCardData": {
"status": "ACTIVE",
"descriptorName": "MasterCard Test Bank",
"artUri": "https://sbx.assets.mastercard.com/card-art/combined-image-asset/6713d73d-a701-4bd2-bc9b-2e98940de9c7.png",
"coBrandedName": "test co-brand",
"isCoBranded": true,
"longDescription": "Test Bank for MasterCard MTF",
"foregroundColor": "0F0F0F",
"issuerName": "Test Issuer®"
},
"panExpirationMonth": "12",
"panExpirationYear": "2036",
"paymentCardDescriptor": "mastercard",
"paymentCardType": "CREDIT",
"serviceId": "SRC",
"dateOfCardCreated": "2025-12-21T12:40:11.805Z"
},
"maskedConsumer": {
"maskedConsumerIdentity": {
"identityProvider": "SRC",
"identityType": "EMAIL_ADDRESS",
"maskedIdentityValue": "j*****[email protected]"
},
"maskedEmailAddress": "j*****[email protected]",
"maskedMobileNumber": {
"countryCode": "1",
"phoneNumber": "(***) ***-*888"
},
"countryCode": "US",
"languageCode": "en",
"maskedFirstName": "J***",
"maskedLastName": "D**",
"maskedFullName": "J*** D**"
},
"assuranceData": {
"cardVerificationEntity": "02",
"cardVerificationMethod": "03",
"cardVerificationResults": "03"
}
}
}
3DS Transaction and Liability Shift
The following parameters in the /payments endpoint are provided by Mastercard during the checkout frontend call.
networkToken.externalAuthenticationDetailsclass containing:ecidsTransIdcavv
Direct Merchant Integration Flow Diagram
