# Register your DPAs
source: https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/integrate_apis_scof/step3/index.md

## Step 3: Register your DPAs using the DPA Registration API {#step-3-register-your-dpas-using-the-dpa-registration-api}

After successful onboarding for different program types, Mastercard Checkout Solution creates the following IDs which can be used to make the API calls:

|          Program Types          |                                                                                                                                                                                             IDs created                                                                                                                                                                                             |                                                                                                                                                                                                                 API calls                                                                                                                                                                                                                  |
|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Direct Merchant                 | Unique `serviceId` and `srcDpaId` are generated.                                                                                                                                                                                                                                                                                                                                                    | Call [Enroll Card](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#card) API for card tokenization. If you need to onboard merchants, register them as DPAs using [DPA Registration](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#reigstration) API and provide the `programType` as `SECURE_COF_MERCHANT`.           |
| Direct Commerce Platform        | A unique `serviceId` is generated.                                                                                                                                                                                                                                                                                                                                                                  | Call [Enroll Card](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#card) API for card tokenization. If you need to commerce platforms, register them as DPAs using [DPA Registration](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#reigstration) API and provide the `programType` as `SECURE_COF_COMMERCE_PLATFORM`. |
| On-Behalf-Of Merchants          | Unique `serviceId` and `srcDpaId` are generated.                                                                                                                                                                                                                                                                                                                                                    | You must call the [DPA Registration](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#registration) API with `programType` as `SECURE_COF_MERCHANT_OBO` to create test dpas and then call [Enroll Card](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#card) API for card tokenization.                                  |
| On-Behalf-Of Commerce Platforms | A unique `serviceId` is generated.                                                                                                                                                                                                                                                                                                                                                                  | You must call the [DPA Registration](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#registration) API with `programType` as `SECURE_COF_COMMERCE_PLATFORM_OBO` to create test dpas and then call [Enroll Card](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#card) API for card tokenization.                         |
| On-Behalf-Of Shared Merchants   | `serviceId` (shared between sub-merchants) and `srcDpaId` are generated and sub-merchants are grouped under these IDs. The serviceId pattern for **On-Behalf-Of Shared Merchants** is `SECURE_COF_MERCHANT_OBO_SHARED#<Client Name>-<SH>-<Program Name>#01`. Here, **SH** denotes that the TRID (or `serviceId`) is shared between sub-merchants, and it is a mandatory prefix to the Program Name. | You must call the [DPA Registration](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#registration) API with `programType` as `SECURE_COF_MERCHANT_OBO_SHARED` to create test dpas and then call [Enroll Card](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#card) API for card tokenization.                           |

#### Key Responsibilities of a PSP/Payment Gateway {#key-responsibilities-of-a-psppayment-gateway}

* Maintain a mapping between the `srcDigitalCardId` returned in the Secure Card on File response to the **Enroll Card** ([**POST /cards**](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md#card)) request and the `srcDpaId`, `serviceId` used to request this token.
* Maintain a mapping between the unique ID it allocates internally for each merchant / commerce platform and the `srcDpaId` and `serviceId`.
* Use the Card ID returned from Card enrollment to obtain a cryptogram and a token via the Checkout API to make payments.
* Retain and update the following information (with the information received in notifications requests) for each Secure Card on File token:
  * Token Status
  * Token Expiry Date
  * panLastFour (last 4 digits of the PAN or Primary Account Number associated with this token)
  * digitalCardData
* If using a Secure Card on File token as the underlying payment instrument for each payment gateway token then you also need to maintain a mapping between these two token types.
