# Quick Start Guide
source: https://developer.mastercard.com/mastercard-processing-mastercard/documentation/quick-start-guide/index.md

## Overview {#overview}

The Mastercard Processing - Mastercard Services service provides a set of APIs that enable you to integrate with downstream Mastercard program (for example, Carbon Calculator) while eliminating the need to handle PCI‑sensitive PAN data. The solution supports the cards issued through the Mastercard Processing Core API, with card data stored within the Mastercard Processing Card Management System (CMS). This tutorial guides you through the process of onboarding and being able to consume the APIs.
Tip: **Postman Collection Quick Start:** If you are ready to start making calls, you can head over to our [Postman collection](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/developer-tools/index.md#postman-collection) page to leverage Sandbox and Production environments without having to write code. **You can follow this guide to learn:**
>
> * How to create a project for the service.
> * How Mastercard Developers approaches authentication.
> * How to generate your credentials and API client.
> * How to get access to Sandbox, MTF, and Production.
> **What you will accomplish:**
>
> <br />
>
> By the end of this guide, you will have:
>
> <br />
>
> ✅ A Mastercard Developers account and Mastercard Processing Mastercard Services project
>
> ✅ Credentials (OAuth + encryption keys) for Sandbox and MTF environments
>
> ✅ Ready to test API calls in the Sandbox environment
>
> ✅ Production access setup (ready for approval)
>
> ✅ Knowledge of available testing methods (Postman, Insomnia, and Reference App)
>
> ⏱️ Estimated Time: 15 minutes

## Get access to the API {#get-access-to-the-api}

1. Navigate to [Mastercard Developers](https://developer.mastercard.com/products) and click **Sign up** and create an account.
2. Activate your account by opening the link sent to your email address, and log in.
3. Request access to the API, if needed.

## Generate your credentials {#generate-your-credentials}

To generate Sandbox and Production credentials, create a new Mastercard Developers project or add the Mastercard Processing API to an existing project. Sandbox credentials provide access to the Sandbox environment with rich mocked data, enabling you to understand and explore the API functionality before moving to Production.

1. Create a project on your [My Projects](https://developer.mastercard.com/dashboard) page.
2. Name your project.
3. Indicate whether you are creating a project on behalf of a client. Note: Select **Yes** if you are creating an API integration project for a customer. For example, you could be an integrator, a processor, or a service provider and the customer could be a merchant, issuer, or acquirer.
4. Provide the client company name and client company address (if applicable).
5. In the **Select your API service** field, select **Mastercard Processing Mastercard**.
6. Provide the commercial countries for the project. This field represents where your client is doing business. Note: If you are creating a project on behalf of a client, the commercial countries represent where your client is doing business. ![Create new project page](https://static.developer.mastercard.com/content/mastercard-processing-mastercard/uploads/create-new-project.png)
7. Proceed to create your 'Project Credentials'. Create a key alias and keystore password and ensure that you note these details. Click **Proceed** . ![Project credentials page](https://static.developer.mastercard.com/content/mastercard-processing-mastercard/uploads/project-credentials.png)
8. Create a key alias and keystore password for the encryption keys and ensure that you note these. Click **Create Project** . ![Additional credentials page](https://static.developer.mastercard.com/content/mastercard-processing-mastercard/uploads/additional-cred.png)
9. Download your OAuth and encryption keys and store them in a safe place. Click **Open Project** . ![Download key file page](https://static.developer.mastercard.com/content/mastercard-processing-mastercard/uploads/download-key-file.png)
10. Once you complete this flow, you will land on the Project page. From the Project page, take note of your:
    1. Sandbox and Production status ('Ready/ Not Requested').
    2. Sandbox and Production credentials: authentication consumer key and client encryption key fingerprint. ![Sandbox summary page](https://static.developer.mastercard.com/content/mastercard-processing-mastercard/uploads/sandbox-summary.png) Warning: **Key Expiry:** All the Sandbox and Production keys expire after 13 months. You have to generate a new set of keys after they expire. To generate it, go to your project dashboard and under **API keys** , select **Add Key**.

## Integrate and test {#integrate-and-test}

Now that you have your credentials, choose your preferred method to start testing immediately:

### Test the service {#test-the-service}

We support multiple testing methods, choose the one that fits your workflow:

* **GUI-based tools (Postman):** See the [Developer Tools](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/developer-tools/index.md) page for setup guides.
* **Reference Application:** See the [Reference Application](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/developer-tools/reference-app/index.md) page.
* **cURL / custom clients:** See the [Testing](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/testing/index.md) page for structured test cases and cURL examples.  

You can test our service using three different methods:

1. **Using Postman:** If you are using Postman, use our [Postman collection](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/developer-tools/index.md).
2. **Using Insomnia:** If you are using Insomnia, follow our [Insomnia Tutorial](https://developer.mastercard.com/platform/tutorial/use-insomnia-rest-client-for-mastercard-apis/).
3. **Using our reference application:** If you are using our reference application, go to our [Reference Application](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/developer-tools/reference-app/index.md) page.  

For more information on testing, see our [Testing](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/testing/index.md) page.
Note: **Ready to build your own client?** For detailed API client generation and configuration steps, see [API Basics](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/api-basics/index.md) sections.

### First Sandbox call (unencrypted) {#first-sandbox-call-unencrypted}

Once you have your credentials, you can make your first call to the Sandbox environment
(<https://sandbox.api.mastercard.com/global-processing/mastercard-services/cards/searches>)

```shell
curl -X POST "https://sandbox.api.mastercard.com/global-processing/mastercard-services/cards/searches" \
  -H "Content-Type: application/json;charset=UTF-8" \
  -H "Authorization: OAuth oauth_consumer_key=\"YOUR_CONSUMER_KEY\", \
oauth_signature_method=\"RSA-SHA256\", \
oauth_timestamp=\"GENERATED\", \
oauth_nonce=\"GENERATED\", \
oauth_version=\"1.0\", \
oauth_body_hash=\"GENERATED\", \
oauth_signature=\"GENERATED\"" \
  -H "Client-Encryption-Key: YOUR_MASTERCARD_CARBON_CALCULATOR_CLIENT_ENCRYPTION_KEY" \
  -d '{
    "requestType": "CARBON_CALCULATOR",
    "carbonCalculatorProfiles": [
      {
        "id": "1c40daf6-69c9-4055-ab72-d46ed0a30ca5",
        "cardContractId": 70001,
        "currency": "EUR"
      }
    ]
  }'
```

This example shows the required OAuth 1.0a and `Client-Encryption-Key` header fields explicitly, but uses placeholders for sensitive values.

Substitute `YOUR_CONSUMER_KEY`, `YOUR_COMPUTED_SIGNATURE`, and `YOUR_MASTERCARD_CARBON_CALCULATOR_CLIENT_ENCRYPTION_KEY` with the value from your project. Use the [Mastercard OAuth library](https://github.com/Mastercard/oauth1-signer-java) to compute the signature. It handles `oauth_timestamp`, `oauth_nonce`, and `oauth_signature` automatically.

This example shows unencrypted request and response bodies for clarity; however, the API requires end-to-end JWE payload encryption. Use the [Mastercard Encryption library](https://github.com/Mastercard?q=client-encryption) to handle JWE automatically.

**Expected response:**

```json
{
    "requestType": "CARBON_CALCULATOR",
    "carbonCalculatorPayload": {
        "encryptedData": "604d111e835bbd88c3850d350c334c4fa8cee0ea4c2c852c9c8a803de2ed18f35a936ecf973247dd3792610c5e098c7636bfe9c3021978dabc02fa79c9425815f80cc712084991ac9cdc4e7f1342e022c2d0e53e71d2786d55fb6dc92b1324fd",
        "publicKeyFingerprint": "3e3ff1c50fd4046b9a80c39d3d077f7313b92ea01462744bfe50b62769dbef68",
        "encryptedKey": "4f49e1c7a5a16ad54ae690e2a30926b9970260683e4b7f26384f8f8360300464081bb897d9f46701d410b33b11b186cea9bba959cce3e772cd69da501fe4045b8af957dd93091061af7cd80cb32bbb9b49b12a2f7f53695824d6ded5aa77da4d11527afb9f8367aae0d3832e9e176b8686a03a142a4c10927448cce73bd201f6c7cfd5010ee00769ac11fc02eba83552b907c4f4f0f4a95fb6f748ef748ba8f0cacb393b770666832ffa3ff2e00bf85255c04258fe8d59c329cdbbec96dcf0161a844b8b5c5b956a91f98bfb3a79dd1f71fc20a2bf18e0d16435356447346edb95bf374e0f34a1657501a82409f5c15568ab91231716a78c3cc8efbff068c448",
        "oaepHashingAlgorithm": "SHA256",
        "iv": "b008db942ff2f5fb6ec58c409f6d1d77"
   }
}
```

## UAT {#uat}

After you have tested your implementation in our Sandbox environment, it is time to move to MTF to conduct full User Acceptance Tests (UAT) before moving to Production. To access MTF, use your Sandbox keys; however, a CIS-managed project is required to enable the API on our end. You will be notified once access has been granted.

## Go-Live {#go-live}

After you have tested your implementation in our UAT environment, it is time to move to Production.

### Move to Production {#move-to-production}

1. Within your project, select **Request Production Access** . ![Summary page](https://static.developer.mastercard.com/content/mastercard-processing-mastercard/uploads/request-prod-access.png)
2. Enter your Production key alias and keystore password. Save your key alias and keystore password for future reference. ![Project credentials page](https://static.developer.mastercard.com/content/mastercard-processing-mastercard/uploads/project-credentials-prod.png)
3. Create a key alias and keystore password for the encryption keys and take note of these. ![Additional credentials page](https://static.developer.mastercard.com/content/mastercard-processing-mastercard/uploads/additional-cred-prod.png)
4. Confirm and download your Production keys.

Note: Production credentials are generated instantly, but they still need to be approved for Production environment access as part of the CIS onboarding process. Once your Production access request has been reviewed, you will receive a notification confirming whether your access has been approved or denied.

## Next Steps {#next-steps}

Now that you have access to the service, you can begin testing. Proceed to the [Use Cases](https://developer.mastercard.com/mastercard-processing-mastercard/documentation/use-cases/index.md) section to learn about the different use cases of the service.
