Token Authentication Service for Click to Pay
Overview
Click to Pay with Mastercard payment passkey authentication improves the efficiency and security of transactions. This service enables fast, seamless payment processing while using advanced security measures to help prevent fraud and scams. The Mastercard payment passkeys protect sensitive payment details and biometric information by ensuring they are not shared with third parties during transactions. This security model increases consumer trust and helps merchants meet stringent regulatory requirements without requiring additional Multi-Factor Authentication (MFA) implementations.
Mastercard Gateway offers you an end-to-end solution to provide Click to Pay with Mastercard Passkeys. You can do this through Hosted Session or Hosted Checkout using Mastercard payment passkeys through TAS.
- For Hosted Session, you must integrate the Click to Pay Gateway SDK and use API version 84 or later.
- For Hosted Checkout, you must have API version 63 or later and for new Hosted Checkout integrations, the latest API version is recommended.
Prerequisites
To use TAS for Click to Pay, contact your payment service provider to ensure that:
- You must have 3DS2 privileges and configurations for the Mastercard scheme.
- You must have Hosted Checkout privileges and configurations.
- Your country must have Click to Pay enabled. For more information on regional availability, see Click to Pay region availability.
- Ensure that your country is included in the list of TAS available countries.
Compatible devices and browsers
Following is the list of compatible devices and browsers.
Device type | Supported browsers |
---|---|
Windows™ |
|
Android™ 12 or 14 and onwards |
|
iPhone™ 11, 12, or 14 and onwards | Safari™ |
MacBook™ | Safari™ |
- Consider the following information before TAS integration:
- The current version of TAS supports integration with web application only and does not support integration with native applications.
- TAS authentication User Interface (UI) only supports pop-up windows. Support for iFrame or WebView is not available in the current TAS version.
TAS Hosted Session integration
You must follow these steps for TAS Hosted Session integration in Click to Pay:
- Integrate to Mastercard Gateway's Click to Pay SDK using Click to Pay Hosted Session Integration.
- Create a session using the
CREATE SESSION
operation. - Update fields from the wallet in an existing session using the
UPDATE SESSION FROM WALLET
operation. - Retrieve the session details using the
RETRIEVE SESSION
operation. - Evaluate the authentication result using the following response fields:
- Submit an
Authorize
orPay
request.
Field | Description | Possible Values |
---|---|---|
order.authenticationStatus |
Indicates if the TAS authentication was successful. | SUCCESS , FAILED , or PENDING |
order.authenticationType |
Specifies the type of authentication used. | Passkey , Passive , or 3DS |
TAS Hosted Checkout integration
For integrating Hosted Checkout, you must have API version 63 or later and for new Hosted Checkout integrations, the latest API version is recommended.
Testing your integration
Test your integration using the MTF Test setup.
Setup prerequisites
Following are the setup prerequisites:
- Ensure that you have completed these prerequisites steps.
- Ensure that you use these test cards when testing your integration for TAS for Click to Pay.
WS-API request and response samples
Hosted Checkout through website
Refer to the following API requests and responses if you have integrated Mastercard Gateway's Click to Pay SDK using Hosted Checkout through website:
- Initiate Checkout request
{ "apiOperation": "INITIATE_CHECKOUT", "checkoutMode": "WEBSITE", "interaction": { "operation": "PURCHASE", "merchant": { "name": "JK Enterprises LLC" } }, "order": { "currency": "{{currency}}", "amount": "250.00", "id": "{{orderId}}", "description": "Goods and Services" } }
-
Initiate Checkout response
{ "checkoutMode": "WEBSITE", "merchant": "DD_TEST_MPGS", "result": "SUCCESS", "session": { "id": "SESSION[REDACTED]F56109370L5", "updateStatus": "SUCCESS", "version": "adbbfca001" }, "successIndicator": "4a92eec3201f45af" }
-
Authorize or Pay response
{ "amount": 250, "authentication": { "3ds": { "acsEci": "02", "authenticationToken": "kBIYYgZVs2ywKD1jxBvI2YQBijv5", "transactionId": "dace62b3-ff62-450e-87d6-d0157c8ced59" } }, "chargeback": { "amount": 0, "currency": "USD" }, "creationTime": "[REDACTED]T11:11:27.562Z", "currency": "USD", "customer": { "email": "[REDACTED_EMAIL]", "mobilePhone": "[REDACTED_PHONE]" }, "description": "Goods and Services", "fundingStatus": "IN_PROGRESS", "id": "[REDACTED]", "lastUpdatedTime": "[REDACTED]T11:11:28.426Z", "merchant": "DD_TEST_MPGS", "merchantAmount": 250, "merchantCategoryCode": "5999", "merchantCurrency": "USD", "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "deviceSpecificExpiry": { "month": "7", "year": "28" }, "deviceSpecificNumber": "[REDACTED_CARD]", "expiry": { "month": "12", "year": "39" }, "fundingMethod": "CREDIT", "issuerCountryCode": "USA", "number": "[REDACTED_CARD]", "paymentAccountReference": "50012MOIQJ7EFDM0FSDAGZ2JU76DN", "scheme": "MASTERCARD", "storedOnFile": "NOT_STORED" } }, "type": "SCHEME_TOKEN" }, "status": "CAPTURED", "totalAuthorizedAmount": 250, "totalCapturedAmount": 250, "totalDisbursedAmount": 0, "totalRefundedAmount": 0, "transaction": [ { "authentication": { "3ds": { "acsEci": "02", "authenticationToken": "kBIYYgZVs2ywKD1jxBvI2YQBijv5", "transactionId": "dace62b3-ff62-450e-87d6-d0157c8ced59" }, "3ds2": { "authenticationScheme": "MASTERCARD", "dsTransactionId": "dace62b3-ff62-450e-87d6-d0157c8ced59", "transactionStatus": "Y" }, "amount": 250, "version": "3DS2" }, "authorizationResponse": { "commercialCardIndicator": "1", "date": "0624", "financialNetworkCode": "MDS", "financialNetworkDate": "[REDACTED]", "posData": "[REDACTED]", "posEntryMode": "812", "processingCode": "000000", "responseCode": "00", "stan": "262134", "time": "111127", "transactionIdentifier": "00WF9T" }, "customer": { "email": "[REDACTED_EMAIL]", "mobilePhone": "[REDACTED_PHONE]" }, "gatewayEntryPoint": "CHECKOUT_VIA_WEBSITE", "merchant": "DD_TEST_MPGS", "order": { "amount": 250, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "chargeback": { "amount": 0, "currency": "USD" }, "creationTime": "[REDACTED]T11:11:27.562Z", "currency": "USD", "description": "Goods and Services", "fundingStatus": "IN_PROGRESS", "id": "[REDACTED]", "lastUpdatedTime": "[REDACTED]T11:11:28.426Z", "merchantAmount": 250, "merchantCategoryCode": "5999", "merchantCurrency": "USD", "status": "CAPTURED", "totalAuthorizedAmount": 250, "totalCapturedAmount": 250, "totalDisbursedAmount": 0, "totalRefundedAmount": 0, "wallet": { "secureRemoteCommerce": { "srcCorrelationId": "4f339be7.35853fdf-8acc-442f-b4c9-0cd2f559af42" } }, "walletProvider": "SECURE_REMOTE_COMMERCE" }, "response": { "acquirerCode": "00", "acquirerMessage": "Approved", "gatewayCode": "APPROVED", "gatewayRecommendation": "PROCEED" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "deviceSpecificExpiry": { "month": "7", "year": "28" }, "deviceSpecificNumber": "[REDACTED_CARD]", "expiry": { "month": "12", "year": "39" }, "fundingMethod": "CREDIT", "issuerCountryCode": "USA", "number": "[REDACTED_CARD]", "paymentAccountReference": "50012MOIQJ7EFDM0FSDAGZ2JU76DN", "scheme": "MASTERCARD", "storedOnFile": "NOT_STORED" } }, "type": "SCHEME_TOKEN" }, "timeOfLastUpdate": "[REDACTED]T11:11:28.426Z", "timeOfRecord": "[REDACTED]T11:11:27.595Z", "transaction": { "acquirer": { "batch": 20250624, "date": "0624", "id": "CISTEST_S2I", "merchantId": "SRC3DS", "settlementDate": "[REDACTED]", "timeZone": "+1000", "transactionId": "00WF9T" }, "amount": 250, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "authorizationCode": "319153", "currency": "USD", "funding": { "status": "IN_PROGRESS" }, "id": "1", "receipt": "[REDACTED]", "source": "INTERNET", "stan": "262134", "terminal": "11111113", "type": "PAYMENT" }, "version": "100" } ], "wallet": { "secureRemoteCommerce": { "srcCorrelationId": "4f339be7.35853fdf-8acc-442f-b4c9-0cd2f559af42" } }, "walletProvider": "SECURE_REMOTE_COMMERCE" }
Hosted Checkout through payment link
Refer to the following API requests and responses if you have integrated Mastercard Gateway's Click to Pay SDK using Hosted Checkout through payment link:
- Initiate Checkout request
{ "apiOperation": "INITIATE_CHECKOUT", "checkoutMode": "PAYMENT_LINK", "interaction": { "operation": "AUTHORIZE", "merchant": { "name": "{{MID}}", "url": "https://www.abc.net.au" } }, "order": { "currency": "USD", "amount": 568, "id": "{{OrderID}}", "description": "ORDER_DESC_{{OrderID}}" }, "paymentLink": { "errorUrl": "https://merchant.com", "expiryDateTime": "[REDACTED]T12:37:00.993Z", "numberOfAllowedAttempts": "3" } }
- Initiate Checkout response
{ "checkoutMode": "PAYMENT_LINK", "merchant": "DD_TEST_MPGS", "paymentLink": { "errorUrl": "https://merchant.com", "expiryDateTime": "[REDACTED]T12:37:00.993Z", "id": "PAYLINK[REDACTED]E98539006H5", "numberOfAllowedAttempts": 3, "url": "https://mtf.gateway.mastercard.com/pbl/PAYLINK[REDACTED]E98539006H5" }, "result": "SUCCESS", "successIndicator": "ec27ef888dac4b25" }
- Authorize or Pay response
{ "amount": 568, "authentication": { "3ds": { "acsEci": "02", "authenticationToken": "kBIYYgZVQPK9XUaCC5/J3YQBFVGT", "transactionId": "b7783c09-a316-413c-90e5-7772b8f15783" } }, "billing": { "address": { "city": "[REDACTED_CITY]", "postcodeZip": "[REDACTED_ZIP]" } }, "certainty": "FINAL", "chargeback": { "amount": 0, "currency": "USD" }, "creationTime": "[REDACTED]T11:17:14.457Z", "currency": "USD", "custom": { "paymentLink": "true", "paymentLinkSuccessIndicator": "ec27ef888dac4b25" }, "customer": { "email": "[REDACTED_EMAIL]", "mobilePhone": "[REDACTED_PHONE]" }, "description": "ORDER_DESC_[REDACTED]", "fundingStatus": "NON_FUNDED", "id": "[REDACTED]", "lastUpdatedTime": "[REDACTED]T11:17:15.522Z", "merchant": "DD_TEST_MPGS", "merchantAmount": 568, "merchantCategoryCode": "5999", "merchantCurrency": "USD", "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "deviceSpecificExpiry": { "month": "7", "year": "28" }, "deviceSpecificNumber": "[REDACTED_CARD]", "expiry": { "month": "12", "year": "39" }, "fundingMethod": "CREDIT", "issuerCountryCode": "USA", "number": "[REDACTED_CARD]", "paymentAccountReference": "50012MOIQJ7EFDM0FSDAGZ2JU76DN", "scheme": "MASTERCARD", "storedOnFile": "NOT_STORED" } }, "type": "SCHEME_TOKEN" }, "status": "AUTHORIZED", "totalAuthorizedAmount": 568, "totalCapturedAmount": 0, "totalDisbursedAmount": 0, "totalRefundedAmount": 0, "transaction": [ { "authentication": { "3ds": { "acsEci": "02", "authenticationToken": "kBIYYgZVQPK9XUaCC5/J3YQBFVGT", "transactionId": "b7783c09-a316-413c-90e5-7772b8f15783" }, "3ds2": { "authenticationScheme": "MASTERCARD", "dsTransactionId": "b7783c09-a316-413c-90e5-7772b8f15783", "transactionStatus": "Y" }, "amount": 568, "version": "3DS2" }, "authorizationResponse": { "avsCode": "S", "commercialCardIndicator": "1", "date": "0624", "financialNetworkCode": "MDS", "financialNetworkDate": "[REDACTED]", "posData": "[REDACTED]", "posEntryMode": "812", "processingCode": "000000", "responseCode": "00", "stan": "266394", "time": "111714", "transactionIdentifier": "00XE9T" }, "billing": { "address": { "city": "[REDACTED_CITY]", "postcodeZip": "[REDACTED_ZIP]" } }, "customer": { "email": "[REDACTED_EMAIL]", "mobilePhone": "[REDACTED_PHONE]" }, "gatewayEntryPoint": "CHECKOUT_VIA_PAYMENT_LINK", "merchant": "DD_TEST_MPGS", "order": { "amount": 568, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "certainty": "FINAL", "chargeback": { "amount": 0, "currency": "USD" }, "creationTime": "[REDACTED]T11:17:14.457Z", "currency": "USD", "custom": { "paymentLink": "true", "paymentLinkSuccessIndicator": "ec27ef888dac4b25" }, "description": "ORDER_DESC_[REDACTED]", "fundingStatus": "NON_FUNDED", "id": "[REDACTED_PHONE]", "lastUpdatedTime": "[REDACTED]T11:17:15.522Z", "merchantAmount": 568, "merchantCategoryCode": "5999", "merchantCurrency": "USD", "status": "AUTHORIZED", "totalAuthorizedAmount": 568, "totalCapturedAmount": 0, "totalDisbursedAmount": 0, "totalRefundedAmount": 0, "wallet": { "secureRemoteCommerce": { "srcCorrelationId": "4f339be7.d98aba36-c0de-4598-8cc8-974e0047689c" } }, "walletProvider": "SECURE_REMOTE_COMMERCE" }, "response": { "acquirerCode": "00", "acquirerMessage": "Approved", "cardholderVerification": { "avs": { "acquirerCode": "S", "gatewayCode": "SERVICE_NOT_SUPPORTED" } }, "gatewayCode": "APPROVED", "gatewayRecommendation": "PROCEED" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "deviceSpecificExpiry": { "month": "7", "year": "28" }, "deviceSpecificNumber": "[REDACTED_CARD]", "expiry": { "month": "12", "year": "39" }, "fundingMethod": "CREDIT", "issuerCountryCode": "USA", "number": "[REDACTED_CARD]", "paymentAccountReference": "50012MOIQJ7EFDM0FSDAGZ2JU76DN", "scheme": "MASTERCARD", "storedOnFile": "NOT_STORED" } }, "type": "SCHEME_TOKEN" }, "timeOfLastUpdate": "[REDACTED]T11:17:15.522Z", "timeOfRecord": "[REDACTED]T11:17:14.484Z", "transaction": { "acquirer": { "batch": 20250624, "date": "0624", "id": "CISTEST_S2I", "merchantId": "SRC3DS", "transactionId": "00XE9T" }, "amount": 568, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "authorizationCode": "210103", "currency": "USD", "funding": { "status": "NON_FUNDED" }, "id": "1", "receipt": "[REDACTED]", "source": "INTERNET", "stan": "266394", "terminal": "11111113", "type": "AUTHORIZATION" }, "version": "100" } ], "wallet": { "secureRemoteCommerce": { "srcCorrelationId": "4f339be7.d98aba36-c0de-4598-8cc8-974e0047689c" } }, "walletProvider": "SECURE_REMOTE_COMMERCE" }
TAS for Click to Pay through Hosted Session
Refer to the following sample API requests and responses if you are using Hosted Session:
- Request
POST:https://{{host}}/api/rest/version/llaatteesstt/merchant/{{MID}}/session
- Response
{ "merchant": "DD_TEST_MPGS", "result": "SUCCESS", "session": { "aes256Key": "Ixmm1v8KB7VMdKxw1PqUCdpPTUzSs3agvjfl7TOJw+U=", "authenticationLimit": 5, "id": "SESSION[REDACTED]E19356112M8", "updateStatus": "NO_UPDATE", "version": "13d190e201" } }
Update session
- Request
PUT https://{{host}}/api/rest/version/100/merchant/{{MID}}/session/{{SessionId}}
- Response
{ "order":{ "amount":123.00, "currency":"USD" } } { "merchant": "DD_TEST_MPGS", "order": { "amount": "123.00", "currency": "USD" }, "session": { "id": "SESSION[REDACTED_PHONE]E19356112M8", "updateStatus": "SUCCESS", "version": "894a3aff02" }, "version": "100" }
Update Session from Wallet
- Request
{ "apiOperation": "UPDATE_SESSION_FROM_WALLET", "order": { "walletProvider": "SECURE_REMOTE_COMMERCE" }, "wallet": { "secureRemoteCommerce": { "srcCorrelationId": "4f339be7.634bb738-cbb9-4f9e-9906-676c1508c9bd", "scheme": "MASTERCARD" } } }
- Response
{ "authentication": { "3ds": { "acsEci": "02", "authenticationToken": "kBIYYgZV3U5+/DAMC5/J3YQBwXs6", "transactionId": "11c48101-be33-466b-ac7f-baafedfcc279" }, "3ds2": { "transactionStatus": "Y" } }, "billing": { "address": { "city": "[REDACTED_CITY]", "country": "USA", "postcodeZip": "[REDACTED_ZIP]", "stateProvince": "NY", "street": "[REDACTED_ADDRESS]" } }, "customer": { "email": "[REDACTED_EMAIL]", "mobilePhone": "[REDACTED_PHONE]" }, "merchant": "DD_TEST_MPGS", "order": { "amount": "123.00", "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "authenticationType": "3DS", "currency": "USD", "walletProvider": "SECURE_REMOTE_COMMERCE" }, "session": { "id": "SESSION[REDACTED]E19356112M8", "updateStatus": "SUCCESS", "version": "24c981c903" }, "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "devicePayment": { "onlinePaymentCryptogram": "MLqXa/veDgwDAA/yHO//AAADFIA=", "paymentToken": "[REDACTED_CARD]" }, "expiry": { "month": "7", "year": "28" }, "fundingMethod": "CREDIT", "maskedFpan": "[REDACTED_CARD]", "maskedFpanExpiry": { "month": "12", "year": "39" }, "number": "[REDACTED_CARD]", "scheme": "MASTERCARD" } }, "type": "SCHEME_TOKEN" }, "version": "100", "wallet": { "secureRemoteCommerce": { "scheme": "MASTERCARD", "srcCorrelationId": "4f339be7.634bb738-cbb9-4f9e-9906-676c1508c9bd" } } }
Process Auth transaction
- Request
{ "apiOperation": "AUTHORIZE", "session": { "id": "{{SessionId}}" } }
- Response
{ "authentication": { "3ds": { "acsEci": "02", "authenticationToken": "kBIYYgZV3U5+/DAMC5/J3YQBwXs6", "transactionId": "11c48101-be33-466b-ac7f-baafedfcc279" }, "3ds2": { "authenticationScheme": "MASTERCARD", "dsTransactionId": "11c48101-be33-466b-ac7f-baafedfcc279", "transactionStatus": "Y" }, "amount": 123, "version": "3DS2" }, "authorizationResponse": { "avsCode": "S", "commercialCardIndicator": "1", "date": "0625", "financialNetworkCode": "MDS", "financialNetworkDate": "[REDACTED]", "posData": "[REDACTED]", "posEntryMode": "812", "processingCode": "000000", "responseCode": "00", "stan": "264295", "time": "093614", "transactionIdentifier": "0CRG9T" }, "billing": { "address": { "city": "[REDACTED_CITY]", "country": "USA", "postcodeZip": "[REDACTED_ZIP]", "stateProvince": "NY", "street": "[REDACTED_ADDRESS]" } }, "customer": { "email": "[REDACTED_EMAIL]", "mobilePhone": "[REDACTED_PHONE]" }, "gatewayEntryPoint": "WEB_SERVICES_API", "merchant": "DD_TEST_MPGS", "order": { "amount": 123, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "certainty": "FINAL", "chargeback": { "amount": 0, "currency": "USD" }, "creationTime": "[REDACTED]T09:36:13.931Z", "currency": "USD", "fundingStatus": "NON_FUNDED", "id": "[REDACTED]", "lastUpdatedTime": "[REDACTED]T09:36:14.899Z", "merchantAmount": 123, "merchantCategoryCode": "5999", "merchantCurrency": "USD", "status": "AUTHORIZED", "totalAuthorizedAmount": 123, "totalCapturedAmount": 0, "totalDisbursedAmount": 0, "totalRefundedAmount": 0, "wallet": { "secureRemoteCommerce": { "srcCorrelationId": "4f339be7.634bb738-cbb9-4f9e-9906-676c1508c9bd" } }, "walletProvider": "SECURE_REMOTE_COMMERCE" }, "response": { "acquirerCode": "00", "acquirerMessage": "Approved", "cardholderVerification": { "avs": { "acquirerCode": "S", "gatewayCode": "SERVICE_NOT_SUPPORTED" } }, "gatewayCode": "APPROVED", "gatewayRecommendation": "PROCEED" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "deviceSpecificExpiry": { "month": "7", "year": "28" }, "deviceSpecificNumber": "[REDACTED_CARD]", "expiry": { "month": "12", "year": "39" }, "fundingMethod": "CREDIT", "issuerCountryCode": "USA", "number": "[REDACTED_CARD]", "paymentAccountReference": "50012MOIQJ7EFDM0FSDAGZ2JU76DN", "scheme": "MASTERCARD", "storedOnFile": "NOT_STORED" } }, "type": "SCHEME_TOKEN" }, "timeOfLastUpdate": "[REDACTED]T09:36:14.899Z", "timeOfRecord": "[REDACTED]T09:36:13.953Z", "transaction": { "acquirer": { "batch": 20250625, "date": "0625", "id": "CISTEST_S2I", "merchantId": "SRC3DS", "transactionId": "0CRG9T" }, "amount": 123, "authenticationStatus": "AUTHENTICATION_SUCCESSFUL", "authorizationCode": "313577", "currency": "USD", "funding": { "status": "NON_FUNDED" }, "id": "[REDACTED]", "receipt": "[REDACTED]", "source": "INTERNET", "stan": "264295", "terminal": "11111113", "type": "AUTHORIZATION" }, "version": "100" }