# Create a Sandbox Project
source: https://developer.mastercard.com/transactions-service/documentation/tutorials-and-guides/sandbox-access-tutorial/index.md

This guide walks through the steps required to create a new Mastercard Loyalty Management project and how to gain access to the Sandbox environment.

#### What you will learn {#what-you-will-learn}

* How to create Mastercard Developers Sandbox project
* How to configure it
* How to set up test data

## Create a Project {#create-a-project}

The Transactions Service supports both **OAuth 1.0a** and **OAuth 2.0** authentication. Choose the path that matches your authentication preference.

### OAuth 1.0a Project {#oauth-10a-project}

1. Go to your [My Projects](https://developer.mastercard.com/dashboard) page.

2. Click the **Create New Project** button in the upper right portion of the screen.
   ![My Projects](https://static.developer.mastercard.com/content/transactions-service/img/myprojects.png)

3. Enter a descriptive name for your project.
   ![Name project](https://static.developer.mastercard.com/content/transactions-service/img/configureprojects.png)

4. Indicate whether you are creating a project on behalf of a client (optional).

5. Click on the **Select your API service** dropdown list and select the **Loyalty Transactions** option.
   ![Create new project](https://static.developer.mastercard.com/content/transactions-service/img/oauth2-selectapis.png)

6. When prompted, select **OAuth 1.0a** as your authentication method.

7. Enter the key alias and keystore password for generating your OAuth 1.0a signing key.
   ![Project Credentials](https://static.developer.mastercard.com/content/transactions-service/img/projectcredentials.png)

8. Click **Confirm and Continue** to complete the Sandbox setup.

### OAuth 2.0 Project {#oauth-20-project}

1. Go to your [My Projects](https://developer.mastercard.com/dashboard) page.

2. Click the **Create New Project** button in the upper right portion of the screen.
   ![My Projects](https://static.developer.mastercard.com/content/transactions-service/img/myprojects.png)

3. Enter a descriptive name for your project.
   ![Name project](https://static.developer.mastercard.com/content/transactions-service/img/configureprojects.png)

4. Indicate whether you are creating a project on behalf of a client (optional).

5. Click on the **Select your API service** dropdown list and select the **Loyalty Transactions** option.
   ![Create new project](https://static.developer.mastercard.com/content/transactions-service/img/oauth2-selectapis.png)

6. When prompted, select **OAuth 2.0** as your authentication method.
   ![Select OAuth 2.0 authentication](https://static.developer.mastercard.com/content/transactions-service/img/oauth2-selectauthmethod.png)

7. Enter the key alias and keystore password to generate your OAuth 2.0 signing key.
   ![Project Credentials](https://static.developer.mastercard.com/content/transactions-service/img/oauth2-credentials.png)

8. Click **Confirm and Continue** to complete the Sandbox setup with OAuth 2.0 enabled.

## Add Mastercard Loyalty Management API to your project {#add-mastercard-loyalty-management-api-to-your-project}

(This step is included in the project creation flow above. If you need to add the API to an existing project, follow these steps.)

1. Click on the **Choose API** dropdown list and select the **Mastercard Loyalty Management** option.
2. Click **Continue** . ![Create new project](https://static.developer.mastercard.com/content/transactions-service/img/createnewproject.png)

## Name Your Project {#name-your-project}

1. Enter a descriptive name for your project and click **Continue**.
2. You can optionally choose to invite other people to your project by selecting the **Invite Team Members** option. Invited members will have full access to the project. ![Name project](https://static.developer.mastercard.com/content/transactions-service/img/nameproject.png)

## Sandbox OAuth Credentials {#sandbox-oauth-credentials}

The Transactions Service supports both **OAuth 1.0a** and **OAuth 2.0** authentication methods. Follow the steps below for the authentication method you are using.

### OAuth 1.0a Credentials {#oauth-10a-credentials}

1. After the project is successfully created, the Sandbox .P12 access credentials will be available for download.
2. Click the **Download PKCS#12 Keystore** button to download a zip file containing the .p12 file required for OAuth authentication in Sandbox.
3. Click **Continue** . Note: You are required to capture the Keystore password and key alias shown on the screen. The Keystore password is used in conjunction with the .p12 file and Client ID for OAuth 1.0a authentication. Click **Confirm and Continue** to complete the Sandbox setup process.

![Download signing key](https://static.developer.mastercard.com/content/transactions-service/img/downloadkey.png)
![Sandbox continue](https://static.developer.mastercard.com/content/transactions-service/img/sandboxcontinue.png)
Note: No test data setup is required once Sandbox keys are downloaded. You can refer to the [Integration and Testing](https://developer.mastercard.com/transactions-service/documentation/tutorials-and-guides/api-testing-tutorial/index.md) section for testing the Transactions API.

### OAuth 2.0 Credentials {#oauth-20-credentials}

If your project is enabled for OAuth 2.0 authentication, complete the Sandbox credential steps below:

1. In your [Developer Dashboard](https://developer.mastercard.com/dashboard), open the project and navigate to **Sandbox Keys**.
2. Select **OAuth 2.0** credentials for the API and review the generated key details.
3. Download the key package and copy the **Client ID** for your application configuration.
4. Complete the flow by selecting **Confirm and Continue** to finish Sandbox key setup.

![Sandbox OAuth 2.0 keys](https://static.developer.mastercard.com/content/transactions-service/img/oauth2-sandboxkeys.png)
Note: Capture and securely store the key alias and keystore password shown during setup. You can renew or rotate keys later from the project dashboard, so you do not need to create a new project each time a key is updated. Tip: OAuth 2.0 may require additional enablement steps before credentials are available. For detailed setup instructions, refer to the [Using OAuth 2.0 to Access Mastercard APIs](https://developer.mastercard.com/platform/documentation/authentication/using-oauth-2-to-access-mastercard-apis/#step-by-step-implementation).

### Share Your Sandbox Client ID {#share-your-sandbox-client-id}

After Sandbox credentials are created, share the project Client ID with your Mastercard Product Delivery or CIS Implementation Manager:

1. From the project summary page, go to **Sandbox Keys** and use the **Actions** menu to select **Copy Consumer Key**.
2. Paste the Client ID value into your email to your Account Manager or assigned CIS Implementation Manager.
3. Wait for confirmation that your Client ID has been enabled before beginning Sandbox API testing.

For more details on supported authentication methods, see [API Basics - Client Authentication](https://developer.mastercard.com/transactions-service/documentation/api-basics/index.md#client-authentication).

## Generate Encryption Key {#generate-encryption-key}

1. After the sandbox key is downloaded, the client encryption keys are auto-generated. The client encryption keys will be used to encrypt the request.
2. Click **Next** to generate a 2048-bit key pair that will be used for the MRS Transactions API calls. ![Create encryption keys](https://static.developer.mastercard.com/content/transactions-service/img/createencryptionkeys.png)

![Key alias and password](https://static.developer.mastercard.com/content/transactions-service/img/keyaliasandpassword.png)
5. Click **Confirm** and **Continue** to proceed.
![Saved keystore credentials](https://static.developer.mastercard.com/content/transactions-service/img/savedkeystorecredentials.png)
6. After confirmation, you will receive an email confirming the provisioning request and keys.

## Download Encryption Key {#download-encryption-key}

1. After the sandbox is provisioned to download the encryption keys, navigate to **My Projects** and select your project.
2. Open the **Actions** dropdown and click **Download Encryption Key** . ![Sandbox keys](https://static.developer.mastercard.com/content/transactions-service/img/sandboxkeys.png)

![Prod keys](https://static.developer.mastercard.com/content/transactions-service/img/prodkeys.png)

## Provide information to Mastercard Product Delivery or CIS Implementation manager {#provide-information-to-mastercard-product-delivery-or-cis-implementation-manager}

Once you have the consumer key, provide it to your Mastercard Product Delivery or Customer Implementation Services Implementation Manager (CIS IM).
To complete this, perform the following steps:

1. From the Mastercard Developers project summary page, go to the Sandbox Keys section, click on the Actions dropdown button, and select the Copy Consumer key option.
2. Paste the Client ID value into an e-mail and send it to your Product delivery or CIS IM. The first 48 characters of this key value (up to the exclamation point) will be the Mastercard API Client ID, which will be used for the Sandbox environment. An example of the key value, with Client ID represented in bold **6Fmo7rEvHmVFTrv73a0m6qfUExPxMzOdY5Rs32KI09979c7f**!aea8847fa4b84b9886143a40ac117aee0000000000000000.
3. Once the CIS team adds the Client ID you would be able to test the APIs.

## Ready to Test in Sandbox {#ready-to-test-in-sandbox}

You now have everything you need to start sending Transactions Service requests to the Sandbox! It is recommended to test the full functionality of the Transactions Service in the Sandbox environment.
