# Display a PIN
source: https://developer.mastercard.com/mastercard-processing-core/documentation/sandbox-testing/pin-management/display-pin/index.md

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

This test case describes retrieving an encrypted PIN block for a specified card plastic.

Note: The test case does not describe the end-to-end payload encryption used for every API operation in the Sandbox environment. Refer to [Encryption](https://developer.mastercard.com/mastercard-processing-core/documentation/api-basics-section/encryption/index.md) for more information. For this test case, use the following information in the request:

<br />

|          Header           |                Available value                |
|---------------------------|-----------------------------------------------|
| `Customer-Public-Rsa-Key` | You can use any Public RSA key in DER format. |

|   Path parameter   | Available value |
|--------------------|-----------------|
| `card_contract_id` | 70001           |
|                    | 70002           |
|                    | 70003           |
|                    | 70004           |
|                    | 70005           |

Note: The values in the response depend on the `card_contract_id` value used in the request. For each of the `card_contract_id` available values, the Sandbox uses different PAN/PIN so you can test if you are properly handling PIN block encryption.

| card_contract _id |       PAN        | PIN  |                Zone PIN Key (ZPK)                |
|-------------------|------------------|------|--------------------------------------------------|
| 70001             | 5141576351968605 | 7580 | F94B8CD62A20B85AA9B8E06DB6B0BA6785EC029CB604E861 |
| 70002             | 5185410084016382 | 5336 | F94B8CD62A20B85AA9B8E06DB6B0BA6785EC029CB604E861 |
| 70003             | 5115795782050849 | 2360 | F94B8CD62A20B85AA9B8E06DB6B0BA6785EC029CB604E861 |
| 70004             | 5128839686355014 | 3011 | F94B8CD62A20B85AA9B8E06DB6B0BA6785EC029CB604E861 |
| 70005             | 5121876475234064 | 4041 | F94B8CD62A20B85AA9B8E06DB6B0BA6785EC029CB604E861 |

The calculation of the response is based on the following rules:

* The `encryptedCardContractNumber` field contains encrypted with `Customer-Public-Rsa-Key` PAN value assigned based on the `card_contract_id` value in the request.
* The `encryptedPinBlock` field contains encrypted with the ZPK PIN block in ISO-0 format generated with PAN and PIN assigned based on the `card_contract_id` value in the request.
* The `encryptedZpk` field contains the ZPK encrypted with the `Customer-Public-Rsa-Key`.

**Sample request**

`POST /cards/70001/pins/searches -H 'Customer-Public-Rsa-Key: 30820122300D06092A864886F70D01010105000382010F003082010A0282010100A7D079A8769BCD340574E8E6C0A2810C377279E5EA0B422B9132F955860730E7637DFAB0A1C6F117B25E3DB3D2A5A9F2691BBC7E0178ADFD12908C3E6E6D3A77AA26E25A6570FCC423561628879E918DC0C798527318308C70BBE2BC4597B83B96CB3680FE6F8E60D68B465E2B30558712A2D63A544239BE7B5F2A49C82FB3388A22644741A945EC9ACB3F219C3B6826241BE1706EF384100EC83D0D7FAE6CCF4E69E0EE02BF84C21553FA1999A8DB91C4193D1E671D5A22B1876E1DC81F1ED7033F3A26FF62E492A63ADA58AAE248D5E47896592CB9A7023CB8B8700882B4DCBF34C16F7FA00DF4C3931A4612E0E2A09586780E89D28FAAA195C07ADE88286F0203010001' `

```JSON
{
  "cardExpiryDate": "3004",
  "cardSequenceNumber": "1"
}
```

**Sample response**

`200`

```JSON
{
  "encryptedCardContractNumber": "43165173F6A016EDF4075FFBC4F38DD8C1F59C0ACE3BC35853AB91A2A93AC20FC166C26723CCD261CCE41AE142D0AB0CF08CD1996CA6499D8301ABD9964EAE00B932786357FEF1DD7425D8D332980ABE18642438864CB3313CCFA4A5C4490F6A3D4348037295E9957309757E8D18835F7616869DB4692665EF765948A3D3C61B6B75C0CA130A80AFB8A937B203E009A8FC26BB8FBBFEA4E41FC186416D58129FDADC1F80AB88458A8212551CD874157C3F19F876D1E747D525E534885709906647AF017F0EC7662FD76F886EBAFDB9EF558C1ED5AC3B1A38CB5A34D70FF1517C819CCE26054798E40F9FFECC3B37146D4A3F4AF5B25A4D4554C1B08AA14FAD8B",
  "encryptedPinBlock": "ef52e5bcd3dab693",
  "encryptedZpk": "1c07a3d86737b9508bc812b7cb4369e53c5c576ed0ef5300245ab1ef54c48a9907cc9d3f17330d64be145942b3f83139345bddc88421843d00c103ddb7751d2d42b833e42e60c338d1b76f0d7c9ab7bb8ec37614bc37b02a625c912ebe09883518de4a079ee785e760aa45f197e38ed103c480bdc6471d8de5311969dda73719980d8b5a60a7823d06febb338fb2415fcfeeb328f7ad344bb3ccb1248d5fe4efcd3a50a8f93c9d543090e9b733d2827dfc01f0c99c2ac28bd18fc7a91c070fbb6efe2fc80838e10c17685e86ae3a327fd1d77a915e4aa97391cc0ce4d6dbecfda8fe8036cc85e1c6601dbb79bd764abc5b71eae03b755da03e14d1592d7e1b91"
}
```

Note: The Customer Private RSA key referenced to the Public RSA key used in the sample request (format DER): `308204BE020100300D06092A864886F70D0101010500048204A8308204A40201000282010100A7D079A8769BCD340574E8E6C0A2810C377279E5EA0B422B9132F955860730E7637DFAB0A1C6F117B25E3DB3D2A5A9F2691BBC7E0178ADFD12908C3E6E6D3A77AA26E25A6570FCC423561628879E918DC0C798527318308C70BBE2BC4597B83B96CB3680FE6F8E60D68B465E2B30558712A2D63A544239BE7B5F2A49C82FB3388A22644741A945EC9ACB3F219C3B6826241BE1706EF384100EC83D0D7FAE6CCF4E69E0EE02BF84C21553FA1999A8DB91C4193D1E671D5A22B1876E1DC81F1ED7033F3A26FF62E492A63ADA58AAE248D5E47896592CB9A7023CB8B8700882B4DCBF34C16F7FA00DF4C3931A4612E0E2A09586780E89D28FAAA195C07ADE88286F0203010001028201002DC5FBA92BD10B83E9091E8DF27560E5C829FD7DECFCED2B9D0B5E5F2993C48F18E04004F5DBA1DF68D3B3D8DCD83B26D7ECACD961E55CEFEEA466DC909A529C595909DCC656AF5B8097F6AB4F72BD1901407017ED34E7E926C6D8EDA9BDDC8EC46EE18B05DBBFE6421EF32EB47116A3253E2D58F3AAACBD7C4154F3931B0FB327118F8E47C5730914267C1A3ABB05DA3FAF301D2CD0E0BA9456A3F239147CE31B474FD288CC0B522EB5375AA42F373AE48E406522191F0F89BFF4D8E06168E39679ED52496CDB836BE4562B74970B62E084D264544C8C7197E9EDAEAED8ECF754424F33AF06FA1F728019577F4EC8C897636CCA3B57F759A6715544CF18D44102818100DC63294FC0341F104272A66D3A1F9695759210B72BAE08F4C5CBB42EEA7A59F619C193034BB4EE415571B25BD33633A0E43F7984733AF8507C8D69C1CA8E1D877D39192E59977E138B0BD3EBC3C6F894BAE714E5DFBF2C70E52C311604BD723DF9E770FF911FCF8C88CF661688FBF456DFA2F1F904AC4995E1F29A18038211F902818100C2EE82497CEFA41A8265FF4A0643E8A1D8470690A2AD24547052A0AFE1CF574EDD17F679CCE300D8B53CDF8B6DF9BD29B3E5D657867F6FD89C701932D7E5FEE3F445E3637129CA47C761A25AA5A7333DD75EF09F06D9D109008AC99006869841618C46C8F9BF69387238ADD540234103A67AB14089C20BDB9C7AD394AFDDA7A702818100986B282E14C2B75D1A678A7C6E3F5C789F68569127EF64184D1795D500AB7FBE398FEBE9D2991E522712CC04BFAD73C569361107AE5DF15050E3C8699379F828354DA101B24A9892518EEB90D9C4A934CB92779C87C302AC4D82E3ABD3B965E2410C74D4FB7C61A153190504BED669E50F23F56F8070DB2F82A5B336BA6E61990281801EA212B16FC3CD1B2960D40493057AFA6C1D85479778F41B9CE72F3F54921BDB55DD5D2B78EA3788D6BA713ADD1681069BB1C3C44F6B996D05F08BD5349E7D36DF7D5825997402C8D2E961F532D11AB95E2E1A4C336C69702BB8A3C25174375B16F44F6F67E80FA602352C043627142179B9103FDF26326CD9A367BA9704934302818100A02C7DCE7A80077E65331BB193D14552A09A7379C2B62451708B4B5D4BDC1C5D8193DD820713EBC43F8D7D32B8979959B8E1057637E0A1823C95B80D9A406BC950C366F307D84EB1E6DD858BBB07FE4024F7090CDA35014BD303597790666782192E9EFECBDEB5E26C58150ABFD3799951735340C1A14B6380EB1773E3C2A291`

## Test case -- Fail -- PIN not found {#test-case--fail--pin-not-found}

This test case describes an attempt to retrieve an encrypted PIN block for a specified card plastic with no PIN defined.

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

|   Path parameter   | Available value |
|--------------------|-----------------|
| `card_contract_id` | 10301           |

**Sample request**

`POST /cards/10301/pins/searches -H 'Customer-Public-Rsa-Key: 30820122300D06092A864886F70D01010105000382010F003082010A0282010100A7D079A8769BCD340574E8E6C0A2810C377279E5EA0B422B9132F955860730E7637DFAB0A1C6F117B25E3DB3D2A5A9F2691BBC7E0178ADFD12908C3E6E6D3A77AA26E25A6570FCC423561628879E918DC0C798527318308C70BBE2BC4597B83B96CB3680FE6F8E60D68B465E2B30558712A2D63A544239BE7B5F2A49C82FB3388A22644741A945EC9ACB3F219C3B6826241BE1706EF384100EC83D0D7FAE6CCF4E69E0EE02BF84C21553FA1999A8DB91C4193D1E671D5A22B1876E1DC81F1ED7033F3A26FF62E492A63ADA58AAE248D5E47896592CB9A7023CB8B8700882B4DCBF34C16F7FA00DF4C3931A4612E0E2A09586780E89D28FAAA195C07ADE88286F0203010001'`

```JSON
{
  "cardExpiryDate": "3004",
  "cardSequenceNumber": "1"
}
```

**Sample response**

`400`

```JSON
{
  "Errors": {
    "Error": [
      {
        "Source": "MASTERCARD PROCESSING",
        "ReasonCode": "PIN_NOT_FOUND",       
        "Description": "Cannot find PIN for the card contract with id 10301.",
        "Recoverable": false
      }
    ]
  }
}
```

## Test case -- Fail -- Incorrect card expiry date {#test-case--fail--incorrect-card-expiry-date}

This test case describes an attempt to retrieve an encrypted PIN block for a specified card plastic by sending an incorrect card expiry date.

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

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

**Sample request**

`POST /cards/70001/pins/searches -H 'Customer-Public-Rsa-Key: 30820122300D06092A864886F70D01010105000382010F003082010A0282010100A7D079A8769BCD340574E8E6C0A2810C377279E5EA0B422B9132F955860730E7637DFAB0A1C6F117B25E3DB3D2A5A9F2691BBC7E0178ADFD12908C3E6E6D3A77AA26E25A6570FCC423561628879E918DC0C798527318308C70BBE2BC4597B83B96CB3680FE6F8E60D68B465E2B30558712A2D63A544239BE7B5F2A49C82FB3388A22644741A945EC9ACB3F219C3B6826241BE1706EF384100EC83D0D7FAE6CCF4E69E0EE02BF84C21553FA1999A8DB91C4193D1E671D5A22B1876E1DC81F1ED7033F3A26FF62E492A63ADA58AAE248D5E47896592CB9A7023CB8B8700882B4DCBF34C16F7FA00DF4C3931A4612E0E2A09586780E89D28FAAA195C07ADE88286F0203010001'`

```JSON
{
  "cardExpiryDate": "2101",
  "cardSequenceNumber": "1"
}
```

**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
      }
    ]
  }
}
```

