On This Page
Create Tokenized Card Payment Credentials with Payment Passkey
Payment Passkey
This section describes how to create tokenized
card payment credentials with
Payment Passkey
.Endpoint
Test:
POST
https://apitest.cybersource.com
/pts/v2/paymentsProduction:
POST
https://api.cybersource.com
/pts/v2/paymentsProduction in India:
POST
https://api.in.cybersource.com
/pts/v2/paymentsProduction in Saudi Arabia:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest in Saudi Arabia:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for Creating a Tokenized Card Payment
Credentials with VPP
- Required ifauthenticatedIdentities.provideris set toCLIENT_DEVICE_CERT_JWS.
Optional Fields for Creating a Tokenized Card Payment
Credentials with VPP
- WhenauthenticatedIdentities.provideris set toCLIENT_DEVICE_CERT_JWS, this field is a JSON Web Signature (JWS) made up of these elements:
- Header:
- alg: Signature algorithm (e.g.,"PS256"for RSA-PSS with SHA-256)
- kid: Client device ID (e.g.,"1234")
- typ:"JOSE"
- cty:"application/json"(payload content type)
- iat: UTC timestamp when transaction was created/signed
- Payload{ "clientDeviceID": "<clientDeviceID>", "clientReferenceID": "<clientCorrelationId>", "vProvisionedTokenID": "<tokenizedCard.tokenReferenceId>", "nonce": "<Random 5 digit number>" }
- Signature
- Algorithm:RSA-PSSwith SHA-256 and MGF1
- algin header set to"PS256"
- WhenauthenticatedIdentities.provideris set toVISA_PAYMENT_PASSKEY, the value of this field is from the iframe.
Related Information
REST Example: Creating a Tokenized Card Payment Credentials
with Payment Passkey
Request1
{ "clientReferenceInformation": { "code": "<clientCorrelationId>" }, "processingInformation": { "authorizationOptions": { "aftIndicator": "<true = transactionType: AFT>" } }, "paymentInformation": { "customer": { "id": "<id in payment-credentials url>" } }, "orderInformation": { "amountDetails": { "totalAmount": "<orderInformation.amountDetails.totalAmount>", "currency": "<orderInformation.amountDetails.currency>" }, "billTo": { "firstName": "<orderInformation.billTo.firstName>", "lastName": "<orderInformation.billTo.lastName>", "address1": "<orderInformation.billTo.address1>", "locality": "<orderInformation.billTo.locality>", "administrativeArea": "<orderInformation.billTo.administrativeArea>", "postalCode": "<orderInformation.billTo.postalCode>", "country": "<orderInformation.billTo.country>", "email": "<orderInformation.billTo.email>", "phoneNumber": "<orderInformation.billTo.phoneNumber>" } }, "deviceInformation": { "ipAddress": "<deviceInformation.ipAddress>", "httpAcceptContent": "<deviceInformation.httpAcceptContent>", "httpBrowserLanguage": "<deviceInformation.httpBrowserLanguage>", "httpBrowserJavaEnabled": "<deviceInformation.httpBrowserJavaEnabled>", "httpBrowserJavaScriptEnabled": "<deviceInformation.httpBrowserJavaScriptEnabled>", "httpBrowserColorDepth": "<deviceInformation.httpBrowserColorDepth>", "httpBrowserScreenHeight": "<deviceInformation.httpBrowserScreenHeight>", "httpBrowserScreenWidth": "<deviceInformation.httpBrowserScreenWidth>", "httpBrowserTimeDifference": "<deviceInformation.httpBrowserTimeDifference>", "userAgentBrowserValue": "<deviceInformation.userAgentBrowserValue>" }, "merchantInformation": { "merchantDescriptor": { "name": "<merchantInformation.merchantDescriptor.name>", "url": "<merchantInformation.merchantDescriptor.url>" } }, "tokenInformation": { "clientCorrelationId": "<clientCorrelationId>", "tokenAuthenticationInformation": { "authenticatedIdentities": [ { "data": "<authenticatedIdentities[].data>", "provider": "<authenticatedIdentities[].provider>", "id": "<authenticatedIdentities[].id>", "relyingPartyId": "<authenticatedIdentities[].relyingPartyId>", "userAuthenticationMethod": "<authenticatedIdentities[].userAuthenticationMethod>" } ] } } }
Response to a Successful Request