# Test
source: https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/m4m_migration/step4/index.md

## Step 4: Test Scenarios {#step-4-test-scenarios}

As part of the test plan, ensure that you onboard to SCOF, migrate your tokens, add cards, and checkout using SCOF APIs.

## Scenario 1: TRID (Token Requester Identifier)-based Onboarding {#scenario-1-trid-token-requester-identifier-based-onboarding}

1. Onboard to SCOF using the [onboarding steps](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/integrate_apis_scof/index.md) and enroll into the OBO-COF program using your existing TRIDs.
2. Next, integrate with the DPA registration API to replace the TRIDs in M4M to `serviceId` in SCOF. The `serviceId` will replace TRID as an identifier and SCOF will maintain the TRID mapping.

   ```json
   {
     "requestId": "543cb179-3688-4515-8e46-6bd8b83f0e10",
     "items": [
       {
         "action": "ADD",
         "programType": "SECURE_COF_MERCHANT_OBO",
         "programName": "myShop*pay",
         "trid": "99999999999",
         "dpas": [
           {
             "srcDpaId": "src_dpa_99999",
             "dpaData": {
               "dpaPresentationName": "Ecom Holdings 1",
               "dpaAddress": {
                 "name": "Ecom Online Store 1",
                 "line1": "101 Avenue Lane Street",
                 "line2": "Address line 2",
                 "line3": "Address line 3",
                 "city": "Metropolis",
                 "state": "MH",
                 "countryCode": "US",
                 "zip": 41321
               },
               "dpaName": "Ecom Holdings Online 1 Inc",
               "dpaLogoUri": "https://example.com/ecom-online-ltd/images/ecom-logo.png",
               "dpaUri": "https://example.com/ecom-online-ltd/basket.html"
             }
           }
         ],
         "merchantCategoryCode": [
           "9999",
           "9998"
         ]
       }
     ]
   }
   ```

## Scenario 2: Transferring an MDES for Merchant or M4M token to Secure Card on File (SCOF) and Checkout {#scenario-2-transferring-an-mdes-for-merchant-or-m4m-token-to-secure-card-on-file-scof-and-checkout}

1. Once onboarded, use SCOF [Enroll API](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#card) or the [Batch Enroll API](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#cards-batch-enrollment) to migrate an existing TUR in M4M to SCOF.

   ```javascript
   {
     "serviceId": "SECURE_COF_MERCHANT_OBO#START_SANDBOX_SRCI-KAUSHAL_TAILOR#01",
     "srcDpaId": "b756a2b0-ef62-4c62-a6de-f72e75ce5f17",
     "enrolmentReferenceData": {
         "enrolmentReferenceId": "DM4MMC0000144136fb04571884c24d7388daa18a772b05e5",
         "enrolmentReferenceType": "EXISTING_TOKEN_UNIQUE_REFERENCE",
         }
   }
   ```

   <br />

   ```javascript
   {
     "srcCorrelationId": "b6db0d1c-5afa-46a0-b336-47ca05da15a6",
     "maskedCard": {
         "srcDigitalCardId": "fb921d5c-89cd-44d3-90f6-3d465e277791",
         "panBin": "222269",
         "panLastFour": "4574",
         "tokenUniqueReference": "DM4MMC0000144136fb04571884c24d7388daa18a772b05e5",
         "tokenLastFour": "0728",
         "digitalCardData": {
           "status": "ACTIVE",
           "descriptorName": "MasterCard Test Bank",
           "artUri": "https://sbx.assets.mastercard.com/card-art/combined-image-asset/6713d73d-a701-4bd2-bc9b-2e98940de9c7.png",
           "isCoBranded": "false",
           "issuerName": "Test IssuerÂ",
           "longDescription": "Test Bank for MasterCard MTF",
           "foregroundColor": "0f0f0f"
          },
           "panExpirationMonth": "12",
           "panExpirationYear": "2024",
           "paymentCardDescriptor": "mastercard",
           "paymentCardType": "CREDIT",
           "serviceId": "SECURE_COF_MERCHANT_OBO#START_SANDBOX_SRCI-KAUSHAL_TAILOR#01",
           "dateOfCardCreated": "2023-05-31T20:23:47.005Z",
           "maskedConsumer": {
               "srcConsumerId": "4ba06d41-0c59-41f5-adc1-b62b9ab6e74d",
               "maskedConsumerIdentity": {
                   "identityType": "EXTERNAL_ACCOUNT_ID",
                   "maskedIdentityValue": "SYSTEM_GENERATED_ccb5ef5d-c109-412f-8aa3-27b24080c14d"
               },
               "complianceSettings": {
                   "privacy": null,
                   "tnc": null
               },
               "status": "ACTIVE",
               "dateConsumerAdded": "2023-05-31T20:23:46.344Z"
             }
       }
   }
   ```

2. On using the [Batch Enroll API](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#cards-batch-enrollment), Mastercard sends a notification to the Integrator via [Batch Enrollment Notification API](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#notifications) on per-card basis for each submitted record. For successful enrolments, the notification contains an `srcDigitalCardId` (mapped to the `externalEnrollmentReferenceId`), which can be used in Checkout API to make payments.

   ```javascript
   { 
     "srcClientId": "eccbf087-f159-4d69-b31d-00bec75c0474",
     "serviceId": "SECURE_COF_COMMERCE_PLATFORM#Mastercard#01",
     "srcDpaId": "b756a2b0-ef62-4c62-a6de-f72e75ce5f17",
     "externalBatchId": "9d56d47e-70d6-470f-a0a6-c0fccb7e3a43",
     "enrollmentData": [
       {
         "enrollmentSource": [
           {
             "externalEnrollmentReferenceId": "ebcaf087-f159-4d69-b31d-00bec75c0864",
             "enrollmentReferenceType": "EXISTING_TOKEN_UNIQUE_REFERENCE",
             "enrollmentReferenceId": "DM4MMC0000144136fb04571884c24d7388daa18a772b05e5"
           }
         ]
       },
       {
         "enrollmentSource": [
           {
             "externalEnrollmentReferenceId": "ebcaf087-f159-4d69-b31d-00bec75c0868",
             "enrollmentReferenceType": "EXISTING_TOKEN_UNIQUE_REFERENCE",
             "enrollmentReferenceId": "DM4MMC0000144136fb04571884c24d7388daa18a772b05e4"
           }
         ]
       },
       {
         "enrollmentSource": [
           {
             "externalEnrollmentReferenceId": "ebcaf087-f159-4d69-b31d-00bec75c0868",
             "enrollmentReferenceType": "EXISTING_TOKEN_UNIQUE_REFERENCE",
             "enrollmentReferenceId": "DM4MMC0000144136fb04571884c24d7388daa18a772b05e4"
           }
         ]
       }
     ]
   }
   ```

   ```javascript
   {
     "batchId": "c77a1d67-447e-431a-9e0a-fa4d60455154",
     "externalBatchId": "2f094233-07b3-4c96-871f-eb0b0cab2739",
     "enrollmentStatus": "SUCCESS",
     "enrollmentReferenceType": "EXISTING_TOKEN_UNIQUE_REFERENCE",
     "eventTimeStamp": "2024-12-20T14:56:08.918Z",
     "externalEnrollmentReferenceId": "fb741031-8fdf-4330-98f2-0c58b5a16e78",
     "maskedCard": {
       "dateOfCardCreated": "2024-09-25T15:50:14.500Z",
       "digitalCardData": {
         "artUri": "https://stage.assets.mastercard.com/card-art/combined-image-asset/8fca6dbf-e3f1-42da-80ab-fb0cee75ee9c.png",
               "coBrandedName": "Co brand partner",
               "descriptorName": "Issuing Bank",
               "isCoBranded": true,
               "status": "ACTIVE",
               "issuerName": "Issuing Bank",
               "longDescription": "Bank Rewards Mastercard with rewards program",
               "foregroundColor": "1A2B3C"
       },
       "panBin": "520000",
       "panExpirationMonth": "01",
       "panExpirationYear": "2020",
       "panLastFour": "0123",
       "paymentAccountReference": "500181d9f8e0629211e3949a08002",
       "paymentCardDescriptor": "mastercard",
       "paymentCardType": "CREDIT",
       "serviceId": "SECURE_COF_COMMERCE_PLATFORM#E2E#01",
       "srcDigitalCardId": "9sJkUbYQRVSDTlAbVhtW2Q000000000000US"
     }
   }
   ```

   ```javascript
     {
       "batchId": "a6016322-ac86-4ac7-8567-e7b8a424c78c",
       "externalBatchId": "6ecbf087-f159-4d69-b31d-00bec75c0478",
       "eventTimeStamp": "1585741817000",
       "enrollmentRecordNotifications": [
         {
           "cardRecords": [
             {
               "enrollmentReferenceType": "FPAN",
               "externalEnrollmentReferenceId": "ef016322-ac86-4ac7-8567-e7b8a424c79d",
               "status": "SUCCESS",
               "maskedCard": {
                 "dateOfCardCreated": "2020-02-24T11:32:32.060Z",
                 "digitalCardData": {
                   "artUri": "https://assets.mastercard.com/card-art/combined-image-asset/9d42df54-c5fd-438b-a886-ff0bd1e8f7ec.png",
                   "descriptorName": "Mastercard",
                   "foregroundColor": "000000",
                   "issuerName": "Issuing Bank",
                   "presentationName": null,
                   "status": "ACTIVE"
                 },
                 "panBin": "545503",
                 "panExpirationMonth": "04",
                 "panExpirationYear": "2023",
                 "panLastFour": "6828",
                 "paymentAccountReference": "500150F5DE22SND132Y6PR32AR5HB",
                 "paymentCardDescriptor": "Mastercard",
                 "paymentCardType": "CREDIT",
                 "srcDigitalCardId": "e6016322-ac86-4ac7-8567-e7b8a424c70b"
               }
             }
           ]
         }
       ]
     }
   ```

## Scenario 3: New PAN Tokenization + Checkout {#scenario-3-new-pan-tokenization--checkout}

1. After successfully onboarding the existing TRIDs in M4M to SCOF, use SCOF [Enroll Card](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#card) API to tokenize net new PANs.

   ```javascript
   {
     "serviceId": "SECURE_COF_MERCHANT_OBO#START_SANDBOX_SRCI-KAUSHAL_TAILOR#01",
     "srcDpaId": "b756a2b0-ef62-4c62-a6de-f72e75ce5f17",
     "enrolmentReferenceData": {
         "enrolmentReferenceId": "DM4MMC0000144136fb04571884c24d7388daa18a772b05e5",
         "enrolmentReferenceType": "EXISTING_TOKEN_UNIQUE_REFERENCE",
       }
   }
   ```

   <br />

2. The Enroll response will return a `srcDigitalCardId`, which can be used in Checkout API to make payments.

   ```javascript
   {
   "srcCorrelationId": "3b467cce-2e77-4d39-a064-628d7e64cc0c",
   "maskedCard": {
     "srcDigitalCardId": "fbf181d0-2fd4-4c53-b827-49d40ae348d0",
     "panBin": 222269,
     "panLastFour": 4574,
     "tokenUniqueReference": "DM4MMC0000144136aca1ae6e62854ce0a41bb0a247238441",
     "digitalCardData": {
         "status": "ACTIVE",
         "descriptorName": "Mastercard Test Bank",
         "artUri": "https://sbx.assets.mastercard.com/card-art/combined-image-asset/5f21f08e-0490-4603-bcd1-ac0be7ea0ecd.png",
         "pendingEvents": [
           "PENDING_SCA"
         ],
         "isCoBranded": false
      },
     "panExpirationMonth": 12,
     "panExpirationYear": 2024,
     "paymentCardType": "CREDIT",
     "serviceId": "SECURE_COF_MERCHANT##Mastercard#01",
     "paymentAccountReference": "50014KLPZI457IUA3CW8K0V9QGXHZ",
     "dateOfCardCreated": "2023-05-02T19:32:12.885Z"
   },
   "maskedConsumer": {
     "srcConsumerId": "9b792e44-cc05-4426-be5a-4e996f04a4e0",
     "maskedConsumerIdentity": {
       "identityType": "EXTERNAL_ACCOUNT_ID",
       "maskedIdentityValue": "f0c04b97-4dcb-485d-a4f4-7ae437a2e955"
     },
     "status": "ACTIVE",
     "dateConsumerAdded": "2023-05-02T19:32:10.404Z",
     "authenticationMethods": []
   }
   }
   ```

   <br />

   ```javascript
   {
   "srcDigitalCardId": "9sJkUbYQRVSDTlAbVhtW2Q000000000000US",
   "serviceId": "SECURE_COF_COMMERCE_PLATFORM#E2E#01",
   "srcDpaId": "5e0d4b84-189d-4c86-822d-590602f62062_dpa1",
   "srcClientId": "6aff5cba-3aac-4fe0-b0cd-a52fc948d0c6",
   "srcCorrelationId": "c529d2b3-32a8-4d55-b83e-568b50deb93b"
   }
   ```

## Scenario 4: Card Notifications {#scenario-4-card-notifications}

Upon successful migration of tokens/TURs to SCOF, you will receive [Card Notifications](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/use-cases/card-on-file/managing-tokens/index.md) and token lifecycle management through SCOF.

```json
{
  "digitalCardUpdateNotifications": [
    {
      "eventTimeStamp": "1585741817000",
      "maskedCard": {
        "dateOfCardCreated": "2020-02-24T11:32:32.060Z",
        "dateOfCardLastUsed": "2020-02-24T11:32:32.060Z",
        "digitalCardData": {
          "artUri": "https://assets.mastercard.com/card-art/combined-image-asset/9d42df54-c5fd-438b-a886-ff0bd1e8f7ec.png",
          "descriptorName": "Citi Bank Product Configuration",
          "presentationName": null,
          "status": "CANCELLED"
        },
        "panBin": "545503",
        "panExpirationMonth": "04",
        "panExpirationYear": "2023",
        "panLastFour": "6828",
        "paymentAccountReference": "500150F5DE22SND132Y6PR32AR5HB",
        "paymentCardDescriptor": "Mastercard",
        "paymentCardType": "CREDIT",
        "serviceId": "COF_CP_GOO_1",
        "srcDigitalCardId": "e6016322-ac86-4ac7-8567-e7b8a424c70b",
        "tokenBinRange": "123456",
        "tokenExpirationMonth": "02",
        "tokenExpirationYear": "2023",
        "tokenLastFour": "01234",
        "tokenUniqueReference": null
      },
      "reason": "ACCOUNT_CLOSED "
    }
  ]
}
```

<br />

## Scenario 5: Card Enrollment using Push Account Receipt + Checkout {#scenario-5-card-enrollment-using-push-account-receipt--checkout}

1. After successfully onboarding the existing TRIDs in M4M to SCOF, enroll cards into SCOF using `pushAccountReceipt`.

   ```json
   {
     "srcDpaId": "srcDpaIDITF_01",
     "srcClientId": "5d783ef2-e8a1-43e7-8064-67dd6466c2ac",
     "srcCorrelationId": "5df5c25e-70d6-470f-a0a6-c0fccb7c5e6f",
     "serviceId": "SECURE_COF_MERCHANT_OBO#TESTITFPROJECTM4S-170531_MERCHANT#01",
     "enrolmentReferenceData": {
       "enrolmentReferenceId": "MCC-STL-B363210D-36D2-41AF-9AA3-7C55BA2B9192",
       "enrolmentReferenceType": "PUSH_ACCOUNT_RECEIPT"
     }
   }
   ```

   <br />

2. The Enroll response will return a `srcDigitalCardId`, which can be used in Checkout API to make payments.

   ```json
   {
     "srcCorrelationId": "5df5c25e-70d6-470f-a0a6-c0fccb7c5e6f",
     "maskedCard": {
       "srcDigitalCardId": "77a26046-e319-47c8-8432-c7cde329c8f4",
       "panBin": 520798,
       "panLastFour": 7981,
       "tokenUniqueReference": "DM4MMC00001182544b8b9401593044a6b5e1b4606e8d8eec",
       "tokenLastFour": 5684,
       "tokenExpirationMonth": 3,
       "tokenExpirationYear": 2024,
       "digitalCardData": {
         "status": "ACTIVE",
         "descriptorName": "TESTFORSRC",
         "artUri": "https://stage.assets.mastercard.com/card-art/itf/combined-image-asset/2f0ac8a2-6607-4341-a127-58117d1ebef8.png",
         "isCoBranded": true,
         "coBrandedName": "SRC CoBrandName Test",
         "issuerName": "TESTFORSRC",
         "foregroundColor": 786868
       },
       "panExpirationMonth": 3,
       "panExpirationYear": 2024,
       "paymentCardDescriptor": "mastercard",
       "paymentCardType": "CREDIT",
       "serviceId": "SECURE_COF_MERCHANT_OBO#TESTITFPROJECTM4S-170531_MERCHANT#01",
       "paymentAccountReference": "50014TCB8OPH0WLA9IASF8235H0B5",
       "dateOfCardCreated": "2023-06-13T15:41:57.061Z",
       "delegatedAuthenticationModels": [
         {
           "modelType": "AE_TYPE_3",
           "isSupported": true
         }
       ]
     },
     "maskedConsumer": {
       "srcConsumerId": "b15ee489-b7d2-4d89-8820-1399bbb5679b",
       "maskedConsumerIdentity": {
         "identityType": "EXTERNAL_ACCOUNT_ID",
         "maskedIdentityValue": "SYSTEM_GENERATED_8ca03256-1152-46c7-affe-ab09600a4085"
       },
       "complianceSettings": {
         "privacy": {},
         "tnc": {}
       },
       "status": "ACTIVE",
       "dateConsumerAdded": "2023-06-13T15:41:55.239Z",
       "authenticationMethods": [],
       "encryptedAccountData": "eyJraWQiOiJNNFNlbmNyeXB0aW9uS2V5IiwiZW5jIjoiQTEyOEdDTSIsImFsZyI6IlJTQS1PQUVQLTI1NiJ9.dnSQvnhWs0rOiv81qRu3Qb0cghTHtNwCP1gNhzoqVdchdGlbnBICtlXWl6xN3z76JBgMOBjSheLjKk7XhEZW8I8_rNmdfasZMiDHd4ulKOfbmf9MiCSxzLVj9BiJ3iTRDa-hsRmNHIAlK0mUtC0bJ9ucaBVQo7F1AlgSB_k5JCDBBhmpRmodB19uer6JXYvNEbVEUTov27MjVHErsNsylexIkWMJ-ijsFrprZm3CNO4ui0VtRAcINxOn7mrupZdTTYAFhLUEWGfT78vojfJpGqmsEeQbPORgAUvrT15v3jS8EDxbi7XQspffZqBodTE9d_9Ms2nUL7zMFjdkVHDnLg.yIDKcTNtE9OXRoVS.LRg_KHBAKE9qfK7JqIUf1zp-jbNrV6C4P0Zq6myeyz5QVrQ439wi55AtVCtJpLGqBOPACiGIFcrkv1jnarqlJA3bREFF8BoVFdzCrVvV7lYdn3g58ahOqWeTH_gZkGYr9eioGyhF8DYUcGTytrhYjCZVvpkraQamfTvw-Y5LoLeBLyQXP_sNuSlGHOz3S7GkCrz0yKzBsOxCj8p_-5VCnsr1peRLXJDFZ-Bza8ZmL81vDBedZGNdGUm7lLQlok6PjLWuYyJ4eidkfe7Ja5RhgscR_m4_GdNa1fVF1BAUa8i5Lfo2uIt_9Y3kSnWyRxAYUbXt7KMgd6R3VF3lCVA7GuqfURCcabVs3p0N20HS4jX407icwuNrVM8OnRnPHd_Brv2xNfLnlk7ULItLSdb6QdmrV_LLdZ6jgnyIUpsflnFt49OlZf67mArqH8IciOP9sQp-kHx2dSk6izEGYAcIuMbz030XM4QqfmeR.SlwuhaId-XcSIvZAYZifOg"
     }
   }
   ```

   <br />

