# Enable a Card for Click to Pay in Issuer’s Mobile App (through MDES Token Connect API)
source: https://developer.mastercard.com/mastercard-processing-digital/documentation/sandbox-testing/enable-card-for-click-to-pay-mdes/index.md

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

This test case describes the process of generating encrypted `pushFundingAccounts` object to be consumed by the MDES Token Connect `pushMultipleAccounts` API.

**Sample request**

`POST /clients/650971000/funding-accounts/searches -H " Token-Connect-Client-Encryption-Key: MIIEZDCCA0ygAwIBAgIQQUmirRSB0Og8AbLmOXxo/DANBgkqhkiG9w0BAQUFADCBrjETMBEGCgmSJomT8ixkARkWA2NvbTEaMBgGCgmSJomT8ixkARkWCm1hc3RlcmNhcmQxHTAbBgNVBAoTFE1hc3RlckNhcmQgV29ybGRXaWRlMSQwIgYDVQQLExtHbG9iYWwgSW5mb3JtYXRpb24gU2VjdXJpdHkxNjA0BgNVBAMTLVBSRCBNQyBQcm9kdWN0aW9uIE5ldHdvcmsgQXBwbGljYXRpb25zIHN1YiBDQTAeFw0xNjAxMDUwODEwMzJaFw0yMDAxMDMyMzA2MjBaMIHKMUcwRQYDVQQDEz5XcmFwcGluZyBLZXkgLSBUb2tlbml6YXRpb24gQVBJIFNhbmRib3ggRW5jcnlwdCAtIE1ERVMgRGVjcnlwdDETMBEGA1UECxMKTURFUyAtIE1URjE0MDIGA1UEChMrTWFzdGVyQ2FyZCBXb3JsZFdpZGUgLSBDb21tb24gUHJvZEluZnJhIFNTTDEUMBIGA1UEBxMLU2FpbnQgTG91aXMxETAPBgNVBAgTCE1pc3NvdXJpMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALMQmc1tg4Olwn15Zu20Ojxn10U5p/IwhM7oXZTC+p1LnCYlA0So+R1BOXaCRqCJvVxprJW2l1nBJ/mBcPP1B0V8OoQErYDFQoBzxnbf6aRdoJ7YL/OBb1GYOvFoDtE4+iGvW9sCHD0uYHiOhYFm5JsJ24Tq9qj0xEo/2qcqcpibBnzEEqxUaaIyurbzGSTctohq2fnuj8jLt87r9JBXlV5Jb1oKMK3sR7zRz6l6oip6bgfytHyonQAqbuxuhKj7IqFjE+UyEos5anhP+gKB+PUm59BDI9KKik9xiLhzOL8JSNYG1Vew0QFFr5dpjc4ZAEDgcp8g/fpgkbKHUzwIdhECAwEAAaNgMF4wHwYDVR0jBBgwFoAUPeXQ5iyKbL1ne56Kq3GEPOrclQUwDAYDVR0TBAUwAwIBADAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYEFOqIblm9zwz+xo1K9WzEZ0MI8asSMA0GCSqGSIb3DQEBBQUAA4IBAQCMcAHSlE8N4r0yvtNU4R2qhlmDltBjv63XADjNSRxYzdtkgq/4CbjgiLqNGKbkkba9hDsUcjRzTe86lnRL7HG1M5j0lV5b6i0nHaQEjDcdOfTwfOkCyP9aRD08POGA8tday45pBvegMLwNudDNZ5Rhc4LVbyHNxF0NNCIsXCzqpQoQ3FV6A3/8/fV7Fwj1vKxZVtvh7cjZwlArfE9BncDD2X5FBKdIUxYmhq8AeFHUZiLwBK0DLRpoE7nKUQ6KkgSG4YF3r7XuF+WTJAF4wdb2Opt7BY7kj/WHuxU+gps3qO1JwkvYcKrF2r2MYyNJqNB/esCUspOtA8vMNS/WmhB4"`

```JSON
{
    "requestId": "619145fd5cdb4d68b00d1ef052",
    "pushFundingAccounts": [
        {
            "cardAccount": {
                "cardContractId": 1661534910,
                "pushAccountId": "CA-132d72d4fcb2f4136a0532d3093ff1ab"
            },
            "accountHolderData": {
                "accountHolderName": "robbin",
                "accountHolderEmailAddress": "mrobbin@mc.com",
                "accountHolderMobilePhoneNumber": {
                    "countryDialInCode": "001",
                    "phoneNumber": "0019898522121212"
                },
                "accountHolderAddress": {
                    "line1": "street1",
                    "line2": "street2",
                    "city": "california",
                    "countrySubdivision": "USA",
                    "postalCode": "001234",
                    "country": "USA"
                }
            }
        }
    ],
    "tokenRequestorId": "50123197928",
    "signatureData": {
        "callbackURL": "http://www.tokenIssuer1.com/pushtoken",
        "completeIssuerAppActivation": true,
        "completeWebsiteActivation": true,
        "accountHolderDataSupplied": true,
        "locale": "en_US"
    },
     "requestIssuerInitiatedDigitizationData": false,
     "pushAccountReceiptsValidityPeriod": 15
}
```

**Sample response**

`200`

```JSON
{
    "pushMultipleAccountsRequestPayload": {
        "requestId": "619145fd5cdb4d68b00d1ef052",
        "pushFundingAccounts": {
            "encryptedPayload": {
                "encryptedData": "cf70b98c64b1710fac2a88bfaa0745a2f443118f9e569d3c71b261d4b329b88b92d6374937c428fec8469cd9fecc881d16aced25c84cead8e9b34b4c8972393c37a185d2758961927c402f1c1371fcec2e51cd788f518b4a3b802688039b7dd9c66a81748cc99bd236bde639a2f214637aa9388b777009bc9bad7fd3ce8debc2dd4bb4027ea44f711fe68df2a5ba2efdc92510d5348a4df227a24f66642f6dc628e59cccca7b824866321ad0a0b4cb19efb096ff38251d872b5964e8e750a799f2981341977354adfdb8e9e06bc9e33ae3035a0251af4ea0512db2afae60e7de0e0093c88f796c847063130e21d5d7d26e2bf9d3acf7746f9146d98bfe986ae679d16a1159e22073ef598496c2f8072fcb3a6f5acd2dd55dff339d236f4c7021cf0b59aa7b5b958ea54679f5b8f9b108d15b15033b005efb7e658fcf15ef73fdf04e688ad3c1dfbdc4083ae248d6f6bb2e77140b36ccb66dea3b32a05fdc8e34817be4e083fc988115a3c4cdab6cf98d8eb9254e50967e2256cc325d6686c8057d2e27a63eb3f99687d79289c9e7e357ac4ffa5d8022c1cb2b62db0b23aa318fbcdb065bb009c8532afd8ba77284d3c11da796a07e0e4c806418cf380e6690ab6162acadf06a431ebaa982b30e483ea1e183786dadfefd63da5b4be0de1205e3d4ef1277e8065f00a9f8de9faada3f5c8462e46a4578c6324144f67c79272581b14cb0c4e98f0f9cc77a27dc8993cbc56e9f0a78f5a4505816588686d028e88aec088eb91d733a5f83842e862bbfca019febbd3ae96e8933795e189d4f3058ce9c88ba503e44fc03e54801bbb5d77945bd086d0a668f7ccf2ff15a8e3416c7b2683c18ea169ae0670bca73792c23ed6f02db6562701b816ab771e1f31f1f282f0136e7e877f2cd5b323b0eef0a5e55bb835c797a61d3b3483c8171256094ee93b8e4595b549c54def4c53fe3b3a0c2c3020c614623f85a2e6521e94d4906389b94c66523b0a3285c89571d4f119f68d0e2d783ae019dce495e5cb094c9773b4cd3affe4b8128e529d2d0dbe51ca8d904721f35ee8e1d90ac6480092921015aff1ef9e1b2c4ada7452553af054ee7b56786545b251a4f18a4adb0a3f1a2ca2806e799690bc6bc85743ea063a9cc1091733195d7fa466efa6ffdc3f86a9a11385129d3f3284700838d9b5923ee822bcb9d5934867a33f03097c4aa2708d5e32dc5336889ba06b916ee6858f698401177021b090646a014774c492e2cd3c95bc3fe27457c3cab134b83167fcf911b480049764de141ed7e162211193fa9ec7b7f034d2211dd2601382f43d4faa277d5d97855c35877f1380ff667cf396ac4c8f8a372a99a626abce1b5fc0870ec58a889fc34c1ffef55d39101f9b16fc7d374f469a0ee7c80b2fc914e91f85e41a70fbc77f5c0698147a6c6d7c6d3cea6980f6ae2ef3f9140ecc64e61f7fd9519e05e6a982fe7ad442f0c797e29d368299e0466f3ee76744a3fa88111aeb9675f7dbe5aab2b2be9d706aee6a887986ed301ae996d3816c928046490d161f14fed4d3990c21c9c760c0d70d29929f6d7707e31c438ce0485f21a677596df5f6c15bf113cc2aa4d409d2bd4e734debd67c2c081a41c6168125bbcda49d30eb1caeb46ba3c8bbe875b9a0aec4a2985a800e3691fc1144f93e8436930860484f4d098fc79de517d7cba664d0437eb1c0b3afb09a61740fcff0ab31011a2cd1c5c75cbd040969cf84e8f72ce8c4a1fd915ad79a63307d3668af91a0a905ab6fa031524270942e06a07cf6fb7c01d392c7cb3bddcf0f0eea74480c1ee6bbf4a1fbf997e3784e3f00734a87d4d64fd7b8ef37c0ca87d402771f43495df5af5f02c4912453d41e04c6e4d113ffc44372d52d84dd2b0eb4c5b2f09ee1463fd2553bd6cc9353774440f7d8aa366a5a5d50d26caa819af60c26885503e6b5e4ecde665ee4c6d5bbd0f3dadf09345a6131b15be16674a034dabb43fed8a9fb4dc60599d79cd15c04acb4f634f6a5639031313b847eba9288bb8d6067d59752b430ebda17ad1d5f631eafaf79020c27fbcf10674f909d79a5e131002a991b2cd9b60fa8d5b8777c1ffc450bd66439991a0124586bae66cb6caa60f8d7f3075f689efc3244101e39c97343fd6d8fed0e98b4dceb4c9f7f4f5b952f03704997393dc85745bb0bb3e4575fd5033a0c2eb4136b9fc08162fdb425eb222ec50fd195693224c845cc9df931087941678d1b759bd753aa9e82c222788deafc93ba104049a1dec37eee9956a593927",
                "publicKeyFingerprint": "3e3ff1c50fd4046b9a80c39d3d077f7313b92ea01462744bfe50b62769dbef68",
                "encryptedKey": "6944ccf672e14dc1e0b071a437282a4b79dcb938c2a176837c9e3055f2c606dc34cf3356f2586cd8daf03c517f3d236114ebe02b480d4ed04913702e32ad0b36ec12d1d4c934373c1a040a5ec8b71bd4700ea6867ed4f4b738bcb9587ec6fc8cd970a7263fb9feecf233bfc8b0b8066cc2265651fc50693a6607c0e35e32094dc5e161f7243ea3af4bb50d0860603635d23d54526ec8b076aa48da8a516b962ebb35f29c08539dc99ac6937197e2ee32a8b6b2fa9f7cc4fe4ff6145f28d13e28cae7163e4fd8a228e11e545b7023c4fa28b5a66bff4f6c962c1abc630cd1ae68172080d057d07e310015b14a7a1ea2e3b7ca9c8703ee4c7fcb1377f34b304801",
                "oaepHashingAlgorithm": "SHA512",
                "iv": "ef4461390ad9365f6fbce5b0eac1f742"
            }
        },
        "tokenRequestorId": "50123197928",
        "requestIssuerInitiatedDigitizationData": false,
        "signatureData": {
            "callbackURL": "http://www.tokenIssuer1.com/pushtoken",
            "completeIssuerAppActivation": true,
            "completeWebsiteActivation": true,
            "accountHolderDataSupplied": true,
            "locale": "en_US"
        },
        "pushAccountReceiptsValidityPeriod": 15
    }
}
```

## Test case -- Fail -- Card contract is not active {#test-case--fail--card-contract-is-not-active}

This test case describes an attempt to generate encrypted pushFundingAccounts object to be consumed by the MDES Token Connect `pushMultipleAccounts` API for a card contract that is not active.

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

|      Field       | Available value |
|------------------|-----------------|
| `cardContractId` | 1661534920      |

**Sample request**

`POST /clients/650971000/funding-accounts/searches -H " Token-Connect-Client-Encryption-Key: MIIEZDCCA0ygAwIBAgIQQUmirRSB0Og8AbLmOXxo/DANBgkqhkiG9w0BAQUFADCBrjETMBEGCgmSJomT8ixkARkWA2NvbTEaMBgGCgmSJomT8ixkARkWCm1hc3RlcmNhcmQxHTAbBgNVBAoTFE1hc3RlckNhcmQgV29ybGRXaWRlMSQwIgYDVQQLExtHbG9iYWwgSW5mb3JtYXRpb24gU2VjdXJpdHkxNjA0BgNVBAMTLVBSRCBNQyBQcm9kdWN0aW9uIE5ldHdvcmsgQXBwbGljYXRpb25zIHN1YiBDQTAeFw0xNjAxMDUwODEwMzJaFw0yMDAxMDMyMzA2MjBaMIHKMUcwRQYDVQQDEz5XcmFwcGluZyBLZXkgLSBUb2tlbml6YXRpb24gQVBJIFNhbmRib3ggRW5jcnlwdCAtIE1ERVMgRGVjcnlwdDETMBEGA1UECxMKTURFUyAtIE1URjE0MDIGA1UEChMrTWFzdGVyQ2FyZCBXb3JsZFdpZGUgLSBDb21tb24gUHJvZEluZnJhIFNTTDEUMBIGA1UEBxMLU2FpbnQgTG91aXMxETAPBgNVBAgTCE1pc3NvdXJpMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALMQmc1tg4Olwn15Zu20Ojxn10U5p/IwhM7oXZTC+p1LnCYlA0So+R1BOXaCRqCJvVxprJW2l1nBJ/mBcPP1B0V8OoQErYDFQoBzxnbf6aRdoJ7YL/OBb1GYOvFoDtE4+iGvW9sCHD0uYHiOhYFm5JsJ24Tq9qj0xEo/2qcqcpibBnzEEqxUaaIyurbzGSTctohq2fnuj8jLt87r9JBXlV5Jb1oKMK3sR7zRz6l6oip6bgfytHyonQAqbuxuhKj7IqFjE+UyEos5anhP+gKB+PUm59BDI9KKik9xiLhzOL8JSNYG1Vew0QFFr5dpjc4ZAEDgcp8g/fpgkbKHUzwIdhECAwEAAaNgMF4wHwYDVR0jBBgwFoAUPeXQ5iyKbL1ne56Kq3GEPOrclQUwDAYDVR0TBAUwAwIBADAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYEFOqIblm9zwz+xo1K9WzEZ0MI8asSMA0GCSqGSIb3DQEBBQUAA4IBAQCMcAHSlE8N4r0yvtNU4R2qhlmDltBjv63XADjNSRxYzdtkgq/4CbjgiLqNGKbkkba9hDsUcjRzTe86lnRL7HG1M5j0lV5b6i0nHaQEjDcdOfTwfOkCyP9aRD08POGA8tday45pBvegMLwNudDNZ5Rhc4LVbyHNxF0NNCIsXCzqpQoQ3FV6A3/8/fV7Fwj1vKxZVtvh7cjZwlArfE9BncDD2X5FBKdIUxYmhq8AeFHUZiLwBK0DLRpoE7nKUQ6KkgSG4YF3r7XuF+WTJAF4wdb2Opt7BY7kj/WHuxU+gps3qO1JwkvYcKrF2r2MYyNJqNB/esCUspOtA8vMNS/WmhB4"`

```JSON
{
    "requestId": "619145fd5cdb4d68b00d1ef052",
    "pushFundingAccounts": [
        {
            "cardAccount": {
                "cardContractId": 1661534920,
                "pushAccountId": "CA-132d72d4fcb2f4136a0532d3093ff1ab"
            },
            "accountHolderData": {
                "accountHolderName": "robbin",
                "accountHolderEmailAddress": "mrobbin@mc.com",
                "accountHolderMobilePhoneNumber": {
                    "countryDialInCode": "001",
                    "phoneNumber": "0019898522121212"
                },
                "accountHolderAddress": {
                    "line1": "street1",
                    "line2": "street2",
                    "city": "california",
                    "countrySubdivision": "USA",
                    "postalCode": "001234",
                    "country": "USA"
                }
            }
        }
    ],
    "tokenRequestorId": "50123197928",
    "signatureData": {
        "callbackURL": "http://www.tokenIssuer1.com/pushtoken",
        "completeIssuerAppActivation": true,
        "completeWebsiteActivation": true,
        "accountHolderDataSupplied": true,
        "locale": "en_US"
    },
     "requestIssuerInitiatedDigitizationData": false,
     "pushAccountReceiptsValidityPeriod": 15
}
```

**Sample response**

`400`

```JSON
{
  "Errors": {
    "Error": [
      {
        "Source": "MASTERCARD PROCESSING",
        "ReasonCode": "CARD_CONTRACT_STATUS_IS_WRONG",
        "Description": "Card having card contract id 1661534920 is not active.",
        "Recoverable": false
      }
    ]
  }
}
```

## Test case -- Fail -- Card contract has no active card plastic {#test-case--fail--card-contract-has-no-active-card-plastic}

This test case describes an attempt to generate encrypted `pushFundingAccounts` object to be consumed by the MDES Token Connect `pushMultipleAccounts` API for a card contract that does not have an active `Plastic`.

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

|      Field       | Available value |
|------------------|-----------------|
| `cardContractId` | 1661534930      |

**Sample request**

`POST /clients/650971000/funding-accounts/searches -H " Token-Connect-Client-Encryption-Key: MIIEZDCCA0ygAwIBAgIQQUmirRSB0Og8AbLmOXxo/DANBgkqhkiG9w0BAQUFADCBrjETMBEGCgmSJomT8ixkARkWA2NvbTEaMBgGCgmSJomT8ixkARkWCm1hc3RlcmNhcmQxHTAbBgNVBAoTFE1hc3RlckNhcmQgV29ybGRXaWRlMSQwIgYDVQQLExtHbG9iYWwgSW5mb3JtYXRpb24gU2VjdXJpdHkxNjA0BgNVBAMTLVBSRCBNQyBQcm9kdWN0aW9uIE5ldHdvcmsgQXBwbGljYXRpb25zIHN1YiBDQTAeFw0xNjAxMDUwODEwMzJaFw0yMDAxMDMyMzA2MjBaMIHKMUcwRQYDVQQDEz5XcmFwcGluZyBLZXkgLSBUb2tlbml6YXRpb24gQVBJIFNhbmRib3ggRW5jcnlwdCAtIE1ERVMgRGVjcnlwdDETMBEGA1UECxMKTURFUyAtIE1URjE0MDIGA1UEChMrTWFzdGVyQ2FyZCBXb3JsZFdpZGUgLSBDb21tb24gUHJvZEluZnJhIFNTTDEUMBIGA1UEBxMLU2FpbnQgTG91aXMxETAPBgNVBAgTCE1pc3NvdXJpMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALMQmc1tg4Olwn15Zu20Ojxn10U5p/IwhM7oXZTC+p1LnCYlA0So+R1BOXaCRqCJvVxprJW2l1nBJ/mBcPP1B0V8OoQErYDFQoBzxnbf6aRdoJ7YL/OBb1GYOvFoDtE4+iGvW9sCHD0uYHiOhYFm5JsJ24Tq9qj0xEo/2qcqcpibBnzEEqxUaaIyurbzGSTctohq2fnuj8jLt87r9JBXlV5Jb1oKMK3sR7zRz6l6oip6bgfytHyonQAqbuxuhKj7IqFjE+UyEos5anhP+gKB+PUm59BDI9KKik9xiLhzOL8JSNYG1Vew0QFFr5dpjc4ZAEDgcp8g/fpgkbKHUzwIdhECAwEAAaNgMF4wHwYDVR0jBBgwFoAUPeXQ5iyKbL1ne56Kq3GEPOrclQUwDAYDVR0TBAUwAwIBADAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYEFOqIblm9zwz+xo1K9WzEZ0MI8asSMA0GCSqGSIb3DQEBBQUAA4IBAQCMcAHSlE8N4r0yvtNU4R2qhlmDltBjv63XADjNSRxYzdtkgq/4CbjgiLqNGKbkkba9hDsUcjRzTe86lnRL7HG1M5j0lV5b6i0nHaQEjDcdOfTwfOkCyP9aRD08POGA8tday45pBvegMLwNudDNZ5Rhc4LVbyHNxF0NNCIsXCzqpQoQ3FV6A3/8/fV7Fwj1vKxZVtvh7cjZwlArfE9BncDD2X5FBKdIUxYmhq8AeFHUZiLwBK0DLRpoE7nKUQ6KkgSG4YF3r7XuF+WTJAF4wdb2Opt7BY7kj/WHuxU+gps3qO1JwkvYcKrF2r2MYyNJqNB/esCUspOtA8vMNS/WmhB4"`

```JSON
{
    "requestId": "619145fd5cdb4d68b00d1ef052",
    "pushFundingAccounts": [
        {
            "cardAccount": {
                "cardContractId": 1661534930,
                "pushAccountId": "CA-132d72d4fcb2f4136a0532d3093ff1ab"
            },
            "accountHolderData": {
                "accountHolderName": "robbin",
                "accountHolderEmailAddress": "mrobbin@mc.com",
                "accountHolderMobilePhoneNumber": {
                    "countryDialInCode": "001",
                    "phoneNumber": "0019898522121212"
                },
                "accountHolderAddress": {
                    "line1": "street1",
                    "line2": "street2",
                    "city": "california",
                    "countrySubdivision": "USA",
                    "postalCode": "001234",
                    "country": "USA"
                }
            }
        }
    ],
    "tokenRequestorId": "50123197928",
    "signatureData": {
        "callbackURL": "http://www.tokenIssuer1.com/pushtoken",
        "completeIssuerAppActivation": true,
        "completeWebsiteActivation": true,
        "accountHolderDataSupplied": true,
        "locale": "en_US"
    },
     "requestIssuerInitiatedDigitizationData": false,
     "pushAccountReceiptsValidityPeriod": 15
}
```

**Sample response**

`400`

```JSON
{
  "Errors": {
    "Error": [
      {
        "Source": "MASTERCARD PROCESSING",
        "ReasonCode": "CARD_CONTRACT_PLASTIC_STATUS_IS_WRONG",
        "Description": "Card contract plastic for card contract id 1661534930 is not found or is not active.",        
        "Recoverable": false
      }
    ]
  }
}
```

