# Enable a Card for Apple Pay in Issuer’s Mobile App
source: https://developer.mastercard.com/mastercard-processing-digital/documentation/sandbox-testing/enable-card-for-apple-pay/index.md

## Test case -- Success {#test-case--success}

This test case describes generating Issuer-Initiated Digitization Data used for the push provisioning for Apple Pay for a specified card contract stored in the CMS.

**Sample request**

`POST /cards/70001/apple-iidds`

```JSON
{
  "cardExpiryDate": "3004",
  "cardContractName": "John Smith",
  "nonce": "nAIwkg==",
  "nonceSignature": "QIL4g643",
  "walletCertificates": [
    {
      "walletCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMRENDQWhTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREExTVFzd0NRWURWUVFHRXdKQ1JqRVUKTUJJR0ExVUVDaE1MUTI5dGNHRnVlU0JEYnk0eEVEQU9CZ05WQkFNVEIxSnZiM1FnUTBFd0hoY05NVGt4TURFMApNVEF6TmpRM1doY05Namt4TURFME1UQXpOalUzV2pBd01Rc3dDUVlEVlFRR0V3SkNSakVVTUJJR0ExVUVDaE1MClEyOXRjR0Z1ZVNCRGJ5NHhDekFKQmdOVkJBTVRBa05CTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEEKTUlJQkNnS0NBUUVBcll2b0lIVk5MYWhQczRvUDVmVE9Fcmw4dUQxUFZKc01DQ2d1b21oQmJ1N0J3VitaZForRwp2UEhTd0d4bXpjamdIQ1NDdjU1RVZZTktDZnN2NUNiSHlXTlRiajhkUkp4U0l3WlpWaTdCSkVjVVlYamxRZ1poCmtXRU9yaWhHaXVEZ0l3bFBaZTlXQm9ETHhhTjVNSjFGWTdPQzNCSFROQUdMTDZhcUhWcmp0eld5V05UaW85ZlMKM3Z3dG5vekcyR0JHVmJyNmtYcnFYd3NzUXk1YlBBWW1LUFFQN2lxRjhyS1lkOEtQbjltd0lrTitoNUZETnJzYwo1VlVyU1FhMDN2S2U3S09FY3F0cW9lVjZCSVVqSUhvNUd6ZmVmV3hWTUZtb09WcE1GbUFWcUwzZTdQZEl5U2RECjFrWkRjZEN5d09JYXBGdjdmKzE5ZTJVR3dTbVpIcFl1aXdJREFRQUJvMHd3U2pBT0JnTlZIUThCQWY4RUJBTUMKQVFZd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBVEFQQmdOVgpIUkVFQ0RBR2h3Ui9BQUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFEQlpER2dmZmV1VDNlc080SmZ4aHNtCjkwUHFYZUpId2drcnNjT2libzJZRFUvTTFsc2JBQW9ONisrVnRqZHl5QVFtd2FkbXlOS1B1cmRlcWJ5ZWdOMG8KRFc0dVVFZFUyT0oxUGNqeFh3bzdvWktVaGlPMFlqV00wcyt4YXhvTTNNbHpnbVJGUytPbFhOa3p4UjB5RU5wdwpSNERQc3BBUWVTdFV0M2wyMGVZNGIrNG5Lb1B3dVBvTjBjeC90Rm1lQzlIb0pJdkpCMW12ZTh0a3pkbmhOdHVSCkJsZ0F4bGY1UXVSREtoK0x6WURKQ2dPZjRCZm1NUEpQWVY5SEtJanA5V3NjMEMyNE5SQXcvcURNcGpDc1pzQUoKK0ZUTk40QWVWeGppZmhwTUUvdzMzYWU4YVBoMDJabk9Gd1JRMG53dUsvVzhib1FvL1QzZ2FaZWpZZEdhejhFMwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
    }
  ]
}
```

**Sample response**

`200`

```JSON
{
  "issuerInitiatedDigitizationData": " eyJlcGhlbWVyYWxQdWJsaWNLZXkiOiJCQmdKMk16akY2N2dyeWoxOGl2VzZNd1I2Q0dPUTBXOEhUQy90S1NldzdEUG1ORllSOXhxVS9majMvdEZsR201T29WcmkzMGxJUHg0YWYwdDRlSFJBYUU9IiwiYWN0aXZhdGlvbkRhdGEiOiJleUoyWlhKemFXOXVJam9pTWlJc0ltVjRjR2x5WVhScGIyNUVZWFJsU1c1amJIVmtaV1FpT2lKMGNuVmxJaXdpZEc5clpXNVZibWx4ZFdWU1pXWmxjbVZ1WTJWSmJtTnNkV1JsWkNJNkltWmhiSE5sSWl3aWMybG5ibUYwZFhKbFFXeG5iM0pwZEdodElqb2lVbE5CTFZOSVFUSTFOaUlzSW5OcFoyNWhkSFZ5WlNJNklsbENRak52Y1hkdGJrbGlUeTl5ZERWT1VFVlRXVzR5TkZsVWExVnJWRk14UWs5TFptWjFTVVF3T0RWU1RUZFJXWGhQY2tWSU9Hc3piMmxwSzAxb1YwbEVOVmh6UVVoNFVHSlRhemRsWTNCUE5VaFhTMDFTUTFNMVJ6bEZWVEJDZVV4R2NYZzVMMFJLZEhoVk5GQXJaVkUzUzJkUFpXWTJNamQ0WjFSc1RtaGFOVWg2ZVdZNVFqRnpNR3BtVEdOeVVUUlJSbVZZUTFZclpGRXhUbkZVYjJKWmJVWkJWMk4wVUhkMWVtbDRTVkJvZDA5Vk9FeDVhR1ZhTkZGV2IyRTFLM1p1WlZKa00ybFFNUzgwZGxGUGRXaGlSMHhRTDI4cmVGVmpRVlo1TUZoMlkwMUNRbFZyUTAxTE5GUnRPVTltYjJSM1Z6QTNiVTB5VjA1b2JtOTZTR1JrV2swclJGUXZWMEpJVW5ReGNXY3lZbTVVVXpJd2RXSlZlVWQ2WmxVMWJIcDRLME0yUkZGTlpsY3dOWFpWTDFweU5uVkNXVXhsWWxFemExbFBlV1poUVdzd1FXbzJOMDVyY0VkWU9UQnhWVkEzTlVsNVp6MDlJbjA9IiwiZW5jcnlwdGVkUGFzc0RhdGEiOiIwT0pnWEQrdDZVeFdjWkU3bk1FU0tBanR1dXAyUGY4S3I5c0pwNmVBYzF0OXBPZnphb3M0N0JmSzArUmw0VTVYbm9XTWxKSlFCektYc1lmbFZaV3J1MkYrTW96OVlrMnZFY0VneVBZRGhTcHlvL2ZMVzR3MXhobFpWVVJOampCOHFMWXVQTGNJNnByY3RWSEFzNkQ3Vks0aU02Q0l6cGR2Q0xncVhaaEJkL2U2S290cGZaTTVFVmtWSWJlOXhoSzJ4cVNxaVJnVk81cC9zSFhZRzFhWXpmd1dUVTFDZ3RLaGZoRDBTUWpOZWtDT0FkUzIyVmtIRmtVUFdUVkM2V2xCeURlWUh0VkIxTVpoT0c5WW82b3EwOHNwVkxYWGpLLzBRc2JCTnJncEZSeml6UE9YTWhVUUw2L2Vmb1Yxd3ltTzFTZXRDcHc0UjNWcEx2bUNjZ0dWUks5SjhRTUhZY0lQbVlYbVd5MUpHWWZpK3VkbU4zbTBMUGJGdjJjODd3bEZTTzNJTmMzNHFjN3dYQjc5M3l3SU9vRDYifQ=="
}
```

## Test case -- Fail - Invalid Card expiry date {#test-case--fail---invalid-card-expiry-date}

This test case describes an attempt to generate Issuer-Initiated Digitization Data (IIDD) for a specified card contract stored in the CMS by sending the `cardExpiryDate` in the request with an incorrect value.

For this test case, use the following information in the request:

|      Field       | Available value |
|------------------|-----------------|
| `cardExpiryDate` | 2101            |

**Sample request**

`POST /cards/70001/apple-iidds`

```JSON
{
  "cardExpiryDate": "2101",
  "cardContractName": "John Smith",
  "nonce": "nAIwkg==",
  "nonceSignature": "QIL4g643",
  "walletCertificates": [
    {
      "walletCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMRENDQWhTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREExTVFzd0NRWURWUVFHRXdKQ1JqRVUKTUJJR0ExVUVDaE1MUTI5dGNHRnVlU0JEYnk0eEVEQU9CZ05WQkFNVEIxSnZiM1FnUTBFd0hoY05NVGt4TURFMApNVEF6TmpRM1doY05Namt4TURFME1UQXpOalUzV2pBd01Rc3dDUVlEVlFRR0V3SkNSakVVTUJJR0ExVUVDaE1MClEyOXRjR0Z1ZVNCRGJ5NHhDekFKQmdOVkJBTVRBa05CTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEEKTUlJQkNnS0NBUUVBcll2b0lIVk5MYWhQczRvUDVmVE9Fcmw4dUQxUFZKc01DQ2d1b21oQmJ1N0J3VitaZForRwp2UEhTd0d4bXpjamdIQ1NDdjU1RVZZTktDZnN2NUNiSHlXTlRiajhkUkp4U0l3WlpWaTdCSkVjVVlYamxRZ1poCmtXRU9yaWhHaXVEZ0l3bFBaZTlXQm9ETHhhTjVNSjFGWTdPQzNCSFROQUdMTDZhcUhWcmp0eld5V05UaW85ZlMKM3Z3dG5vekcyR0JHVmJyNmtYcnFYd3NzUXk1YlBBWW1LUFFQN2lxRjhyS1lkOEtQbjltd0lrTitoNUZETnJzYwo1VlVyU1FhMDN2S2U3S09FY3F0cW9lVjZCSVVqSUhvNUd6ZmVmV3hWTUZtb09WcE1GbUFWcUwzZTdQZEl5U2RECjFrWkRjZEN5d09JYXBGdjdmKzE5ZTJVR3dTbVpIcFl1aXdJREFRQUJvMHd3U2pBT0JnTlZIUThCQWY4RUJBTUMKQVFZd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBVEFQQmdOVgpIUkVFQ0RBR2h3Ui9BQUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFEQlpER2dmZmV1VDNlc080SmZ4aHNtCjkwUHFYZUpId2drcnNjT2libzJZRFUvTTFsc2JBQW9ONisrVnRqZHl5QVFtd2FkbXlOS1B1cmRlcWJ5ZWdOMG8KRFc0dVVFZFUyT0oxUGNqeFh3bzdvWktVaGlPMFlqV00wcyt4YXhvTTNNbHpnbVJGUytPbFhOa3p4UjB5RU5wdwpSNERQc3BBUWVTdFV0M2wyMGVZNGIrNG5Lb1B3dVBvTjBjeC90Rm1lQzlIb0pJdkpCMW12ZTh0a3pkbmhOdHVSCkJsZ0F4bGY1UXVSREtoK0x6WURKQ2dPZjRCZm1NUEpQWVY5SEtJanA5V3NjMEMyNE5SQXcvcURNcGpDc1pzQUoKK0ZUTk40QWVWeGppZmhwTUUvdzMzYWU4YVBoMDJabk9Gd1JRMG53dUsvVzhib1FvL1QzZ2FaZWpZZEdhejhFMwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
    }
  ]
}
```

**Sample response**

`404`

```JSON
{
  "Errors": {
    "Error": [
      {
        "Source": "MASTERCARD PROCESSING",
        "ReasonCode": "INVALID_EXPIRY_DATE",
        "Description": "Expiry date 2101 does not match for the card contract with id 70001.",
        "Recoverable": false
      }
    ]
  }
}
```

## Test case -- Fail - Missing Card Contract Name {#test-case--fail---missing-card-contract-name}

This test case describes an attempt to generate IIDD for a specified card contract stored in the CMS by sending the `cardContractName` in the request with an empty value.

For this test case, use the following information in the request:

|       Field        |           Available value           |
|--------------------|-------------------------------------|
| `cardContractName` | *the field not sent in the request* |

**Sample request**

`POST /cards/70001/apple-iidds`

```JSON
{
  "cardExpiryDate": "3004",
  "nonce": "nAIwkg==",
  "nonceSignature": "QIL4g643",
  "walletCertificates": [
    {
      "walletCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMRENDQWhTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREExTVFzd0NRWURWUVFHRXdKQ1JqRVUKTUJJR0ExVUVDaE1MUTI5dGNHRnVlU0JEYnk0eEVEQU9CZ05WQkFNVEIxSnZiM1FnUTBFd0hoY05NVGt4TURFMApNVEF6TmpRM1doY05Namt4TURFME1UQXpOalUzV2pBd01Rc3dDUVlEVlFRR0V3SkNSakVVTUJJR0ExVUVDaE1MClEyOXRjR0Z1ZVNCRGJ5NHhDekFKQmdOVkJBTVRBa05CTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEEKTUlJQkNnS0NBUUVBcll2b0lIVk5MYWhQczRvUDVmVE9Fcmw4dUQxUFZKc01DQ2d1b21oQmJ1N0J3VitaZForRwp2UEhTd0d4bXpjamdIQ1NDdjU1RVZZTktDZnN2NUNiSHlXTlRiajhkUkp4U0l3WlpWaTdCSkVjVVlYamxRZ1poCmtXRU9yaWhHaXVEZ0l3bFBaZTlXQm9ETHhhTjVNSjFGWTdPQzNCSFROQUdMTDZhcUhWcmp0eld5V05UaW85ZlMKM3Z3dG5vekcyR0JHVmJyNmtYcnFYd3NzUXk1YlBBWW1LUFFQN2lxRjhyS1lkOEtQbjltd0lrTitoNUZETnJzYwo1VlVyU1FhMDN2S2U3S09FY3F0cW9lVjZCSVVqSUhvNUd6ZmVmV3hWTUZtb09WcE1GbUFWcUwzZTdQZEl5U2RECjFrWkRjZEN5d09JYXBGdjdmKzE5ZTJVR3dTbVpIcFl1aXdJREFRQUJvMHd3U2pBT0JnTlZIUThCQWY4RUJBTUMKQVFZd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBVEFQQmdOVgpIUkVFQ0RBR2h3Ui9BQUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFEQlpER2dmZmV1VDNlc080SmZ4aHNtCjkwUHFYZUpId2drcnNjT2libzJZRFUvTTFsc2JBQW9ONisrVnRqZHl5QVFtd2FkbXlOS1B1cmRlcWJ5ZWdOMG8KRFc0dVVFZFUyT0oxUGNqeFh3bzdvWktVaGlPMFlqV00wcyt4YXhvTTNNbHpnbVJGUytPbFhOa3p4UjB5RU5wdwpSNERQc3BBUWVTdFV0M2wyMGVZNGIrNG5Lb1B3dVBvTjBjeC90Rm1lQzlIb0pJdkpCMW12ZTh0a3pkbmhOdHVSCkJsZ0F4bGY1UXVSREtoK0x6WURKQ2dPZjRCZm1NUEpQWVY5SEtJanA5V3NjMEMyNE5SQXcvcURNcGpDc1pzQUoKK0ZUTk40QWVWeGppZmhwTUUvdzMzYWU4YVBoMDJabk9Gd1JRMG53dUsvVzhib1FvL1QzZ2FaZWpZZEdhejhFMwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
    }
  ]
}
```

**Sample response**

`400`

```JSON
{
  "Errors": {
    "Error": [
      {
        "Source": "MASTERCARD PROCESSING",
        "ReasonCode": "CARD_CONTRACT_NAME_IS_MISSING",
        "Description": "Card Contract Name is missing for the card contract with id 70001.",
        "Recoverable": false
      }
    ]
  }
}
```

