v1

latestOpenAPI 3.0.02026-07-242035712.0 MB
Card PaySecure WS V2

Generate Apple Digitization Data

<ul> <li class="docBullet">This web service allows to get the digitization data from the provided token to be used in Apple Pay in-app provisioning verification.</li> <li class="docBullet">The ephemeral public key and encryptedCardData is used by Apple Wallet to authorize the provisioning process. The TAV (tokenization authentication value), also known as, activationData or cryptographic OTP, is used by Mastercard to permit the provisioning flow.</li> </ul>
post/sc/v2/sc_generate_apple_digitization_data/

Request body

appleLeafCertificatestring required

Apple leaf certificate (header and footer are stripped out)

appleNoncestring required

Apple generated nonce

appleNonceSignaturestring required

Apple signed nonce

client_idinteger required

Unique identifier for the client which Paymentology will provide at outset

tavDataFieldsstring required

Concatenation of field names separated by '|' delimiter. The applicable values are: dataValidUntilTimestamp, accountNumber, accountExpiry

tavFormatinteger required

Currently 3 is the only supported format.

tavSignedboolean required

When false, the TAV signature is not signed.

tavSigningAlgorithminteger required

1 for RSA-SHA256. Currently this is the only supported algorithm.

tokeninteger required

Public token for the card.

Example request

{
  "appleLeafCertificate": "MIIEEjCCA7igAwIBA...IgTI94NSaIn7DLd47QTK760WILDOr0EdOHiExJMZwYp7c=",
  "appleNonce": "somenonce",
  "appleNonceSignature": "somenoncesignature",
  "client_id": 760131,
  "tavDataFields": "dataValidUntilTimestamp|accountNumber|accountExpiry",
  "tavFormat": 3,
  "tavSigned": true,
  "tavSigningAlgorithm": 1,
  "token": 311012081
}

Response

Successful Response

Example response

{
  "header": {
    "error_desc": "success"
  },
  "body": {
    "clientId": 760131,
    "token": 311012081,
    "tav": "ewogICJ2ZXJzaW9uIiA6ICIzIiwKICAic2lnbmF0dXJlQWxnb3JpdGhtIiA6ICJSU0EtU0hBMjU2IiwKICAiZGF0YVZhbGlkVW50aWxUaW1lc3RhbXAiIDogIjIwMjMtMDEtMThUMDc6MDg6MTRaIiwKICAiaW5jbHVkZWRGaWVsZHNJbk9yZGVyIiA6ICJkYXRhVmFsaWRVbnRpbFRpbWVzdGFtcHxhY2NvdW50TnVtYmVyfGFjY291bnRFeHBpcnkiLAogICJzaWduYXR1cmUiIDogImFmZ2pGZnZCZWdCc21qV25rVnI0b0FTcVhhbDF4M0ZDeXdOOGVLZlJIWitxQnRQVGpZMVpob244WXpOYWlPNkFwWnBBTmh3RDJvN29KcDAzQUQ3cVh3OWl6Zm43SGdwWTBXTFE3ZDFPYUlCM3NoenNVaHhKa3hjVVM5MCtZUlJqTG1hekxodXg5UVhxZjl3R0M1MFNhSmg5MStXcXNkdjQyZFlCbVRaWlBMY25hckNTN0x5NnZNelVEVGxnc1VEcDFXZlFEK1l4UmV4TUxvcmxuNjdOeTRZWkhWOU4wZmhlQTVBTmttSmtVN21lc0VGWTd3S00xNUV4TnZkN1NvNFp1TnVKR3ZiOWl1MjZTUkVyQldydXdFZ0VFZXdCaGdDUEFqOVBsb3B0SzgxNk9tdTU0YWU5WElsaVUxTEk4c1U5VVNKU050UkFGenQ4Rk1xT3d4Q2J1QT09Igp9",
    "encryptedCardData": "eyJlbmNyeXB0ZWREYX...2hpbmdBbGdvcml0aG0iOiJTSEE1MTIifQ",
    "ephemeralPublicKey": "ewogICJ2ZXJzaW9u...IiA6ICIzIiwKICAic2lnbmF0d"
  }
}