# Move Project to Production
source: https://developer.mastercard.com/traditional-fulfillment-service/documentation/tutorials-and-guides/production-access-tutorial/index.md

This section walks through the steps required to get the Production environment access and then call the Traditional Fulfillment Service.

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

* How to request access to the Production environment
* How to create a client in the Production environment

## Promotion Workflow {#promotion-workflow}

This page is the primary guide for moving from Sandbox to Production. Complete the exit criteria of each stage before you start the next one.

|               **Stage**               |                                        **Entry criteria**                                         |                                           **What you do**                                            |                                           **Exit criteria**                                            |          **Timeframe**          |
|---------------------------------------|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|---------------------------------|
| 1. Sandbox                            | You have a Mastercard Developers project with the Mastercard Loyalty Management API added.        | Build and test your integration against the Sandbox base URL.                                        | All three operations return `200` for your program, and your negative test cases behave as documented. | Same day                        |
| 2. MTF, when your program requires it | Sandbox testing is complete and you need end-to-end testing against the Mastercard Test Facility. | Send your Sandbox Consumer Key to your Mastercard representative and request MTF setup.              | Mastercard confirms MTF configuration and provides your `partnerId`.                                   | 5-7 business days               |
| 3. Production access request          | Stage 1 is complete, and stage 2 is complete if your program requires MTF.                        | Submit **Request Production Access**, create the production key, then confirm and download the keys. | Mastercard API Support approves the request and emails you the outcome.                                | 3-5 working days                |
| 4. Production enablement              | Your production keys are downloaded.                                                              | Send your production Client ID to your Product Delivery or CIS Implementation Manager.               | The CIS team registers the Client ID and your production calls return `200`.                           | Agree the date with your CIS IM |

For the Sandbox stage, see [Create a Sandbox Project](https://developer.mastercard.com/traditional-fulfillment-service/documentation/tutorials-and-guides/sandbox-access-tutorial/index.md) and the [Quick Start Guide](https://developer.mastercard.com/traditional-fulfillment-service/documentation/quick-start-guide/index.md). The remaining stages are documented on this page.

## What to Provide {#what-to-provide}

Have these ready before you submit the request. Missing information is the most common cause of delay:

* Your project name in Mastercard Developers.
* A key alias and keystore password for the production key.
* Your production Client ID, which is the first 48 characters of the consumer key, up to the exclamation point.
* The rewards `program_id` values you will call in production.
* The name of your Mastercard Product Delivery or CIS Implementation Manager.

## Request Production access {#request-production-access}

* Click the **Request Production Access** button, in the Production section of the screen. ![Request Production Access](https://static.developer.mastercard.com/content/traditional-fulfillment-service/uploads/request_prod_access_1.png)
* The Request Production Access window is displayed with details about your project.

## Create a Production Key {#create-a-production-key}

1. Enter a descriptive name for the key which identifies its purpose and environment in the `Key Alias` field.
2. Enter a password used to encrypt the keys that the customer will receive in the `Keystore Password` field.
3. Click **Proceed** to generate your production signing key. ![Client Encryption Key](https://static.developer.mastercard.com/content/traditional-fulfillment-service/uploads/clientencryptionkey.png)

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

1. The encryption keys are auto-generated. The Client Encryption key will be used to encrypt the request and the Mastercard Encryption key will be used to decrypt the response. ![Encryption keys](https://static.developer.mastercard.com/content/traditional-fulfillment-service/uploads/additionalcredentials.png)
2. Click **Proceed** to continue.

## Confirm and Download {#confirm-and-download}

1. Click **Download key file** to download a zip file containing the .p12 file required for OAuth authentication in Production. ![Download key file](https://static.developer.mastercard.com/content/traditional-fulfillment-service/uploads/downloadprodkeys.png)

Note: When you click **Download key file**, a private key and certificate signing request (CSR) are generated in the browser. Only the CSR is sent to Mastercard, which helps keep your private key private.

2. Once you complete this process, the Mastercard API Support team will review and approve your request for Production access.
3. You will receive an email from Mastercard Developers to your registered email address, depending upon the outcome of the review. Note: Typically, it takes 3-5 working days to review and approve the Loyalty Management API Production access request.

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

1. After the production environment is provisioned, navigate to **My Projects** and select your project.
2. Click on **manage** under **Client Encryption Keys** and click **Download** to download the client encryption key. ![Production Keys APIs](https://static.developer.mastercard.com/content/traditional-fulfillment-service/uploads/prodkeys.png)
3. The Client Encryption key will be used to encrypt the request and the Mastercard Encryption key will be used to decrypt the response.

Note: **Mastercard Encryption Keys** will be automatically downloaded upon project creation.

## Copy Consumer Key {#copy-consumer-key}

1. After the Production environment is provisioned, navigate to **My Projects** and select your project.
2. Under **Production credentials** , click the copy icon next to the **Consumer Key** to copy the production consumer key. ![Production credentials](https://static.developer.mastercard.com/content/traditional-fulfillment-service/uploads/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 Production 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 production 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.

## If Timelines Are Exceeded {#if-timelines-are-exceeded}

Track your request against the timeframes in the promotion workflow above, then escalate in this order:

1. If production approval has not arrived after 5 working days, reply to the Mastercard Developers confirmation email and quote your project name and the date you submitted the request.
2. If there is no response 2 working days after that reply, contact your Mastercard Product Delivery or CIS Implementation Manager and ask them to raise it with the Mastercard API Support team.
3. If MTF configuration is still incomplete after 7 business days, contact your Mastercard representative and quote your Sandbox Consumer Key.
4. If you have no Mastercard representative, or the steps above do not resolve it, raise a request through [Get Help](https://developer.mastercard.com/traditional-fulfillment-service/documentation/support/index.md#get-help). Include your project name, the stage you are waiting on, and the date you submitted the request.
