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.
<<paymentGateway>> offers you an end-to-end solution to provide Click to Pay with Mastercard Passkeys. You can do this through <<hostedSession>> or <<checkout>> using Mastercard payment passkeys through TAS.
- For <<hostedSession>>, you must integrate the Click to Pay Gateway SDK and use API version 84 or later.
- For <<checkout>>, you must have API version 63 or later and for new <<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 <<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 <<hostedSession>> integration
You must follow these steps for TAS Hosted Session integration in Click to Pay:
- Integrate to <<paymentGateway>>'s Click to Pay SDK using Click to Pay Hosted Session Integration.
- Create a session using the
CREATE SESSIONoperation. - Update fields from the wallet in an existing session using the
UPDATE SESSION FROM WALLEToperation. - Retrieve the session details using the
RETRIEVE SESSIONoperation. - Evaluate the authentication result using the following response fields:
- Submit an
AuthorizeorPayrequest.
| 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 <<checkout>> integration
For integrating <<checkout>>, you must have API version 63 or later and for new <<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
<<checkout>> through website
Refer to the following API requests and responses if you have integrated <<paymentGateway>>'s Click to Pay SDK using <<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" }
<<checkout>> through payment link
Refer to the following API requests and responses if you have integrated <<paymentGateway>>'s Click to Pay SDK using <<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 <<hostedSession>>
Refer to the following sample API requests and responses if you are using <<hostedSession>>:
- 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" }