# Add Payment Cards
source: https://developer.mastercard.com/carbon-calculator/documentation/use-cases/add_payment_card_single_and_bulk/index.md

The **Add Payment Cards** service allows the Issuer to register single and bulk PAN with the Carbon Calculator API.

On successful registration, the Issuer should store the list of `paymentCardIds` against the PAN as received in the response and send it to the Carbon Calculator application while requesting the data of each PAN for the same consumer.

## Pre-requisites {#pre-requisites}

The pre-requisites for the Issuer to use this service are:

* Read and understand the [Payload Encryption](https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/) guide for secure data communication with the API. Carbon Calculator API is using [Mastercard Encryption](https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/#mastercard-encryption) with the option of entire payload encryption. Refer to the [Build an end-to-end application](https://developer.mastercard.com/carbon-calculator/tutorial/api-testing/step18/index.md) tutorial to understand how to encrypt a request object.

Tip: Refer to the [Before You Start](https://developer.mastercard.com/carbon-calculator/documentation/index.md#before-you-start) section for more information to create your project on Mastercard Developers.

## Sequence Diagram {#sequence-diagram}

The sequence diagram displays the order of the events for a solution that uses the `service-providers/payment-cards` endpoint.

Diagram fpan-single-and-bulk-enrolment

**The execution steps are:**

1. The consumer's consent for the bulk payment card registration to track carbon.
2. The issuer app sends the registration request to the Issuer server.
3. The issuer server sends the payment card registration request **(maximum of 100 payment cards)** to the `service-providers/payment-cards` endpoint.
4. The Carbon Calculator application validates the request for data format, duplicate PAN check, and BIN validation.
5. On successful validation, the application generates a unique `paymentCardId` for the requested Valid PAN and an error code for the existing or not valid PAN.
6. The application stores the `paymentCardId` and the PAN.
7. The application returns a list of Payment Card Ids against the valid PAN and an error description against existing or not valid PAN information to the Issuer server.
8. The issuer server stores the `paymentCardIds` and sends the response for valid PAN and an error description against existing or not valid PAN back to the Issuer application if required.
9. (Optional) The issuer app displays the successful registration confirmation to the consumer.

<br />

You will receive an error response for an invalid request or any missing request parameter. Note: Refer to the [Code and Formats](https://developer.mastercard.com/carbon-calculator/documentation/code-and-formats/index.md) for more information about error codes.

## Endpoint {#endpoint}


API Reference: `GET /service-providers/payment-cards`

