# MD for: https://www.mercadopago.com.ar/developers/en/docs/mp-point/go-to-production.md \# Go to production Before going to production with your Mercado Pago Point integration to your point of sale, make sure to comply with the following points. :::::CheckboxComponent{label="Credentials" defaultChecked=false} After testing and validating the integration, you will need to replace the :toolTipComponent\[test Access Token\]{link="/developers/en/docs/mp-point/create-application#bookmark\_access\_test\_credentials" linkText="Access test credentials" content="Private key of the application created in Mercado Pago, used in the \_backend\_ during integration development. You can access it in \*Your integrations > Integration data > Tests > Test credentials\*."} used during the development and testing process with the \*\*production Access Token\*\* from the real account. This way, your integration will be ready to receive real payments in the production environment. Depending on whether you are developing a self-integration or one for a third party, these \*\*production credentials\*\* will be different and must be obtained in different ways. Select the option that best suits your needs and follow the indicated steps to access the credentials. ::::TabsComponent :::TabComponent{title="Get credentials for a self-integration"} The process of obtaining credentials for a self-integration with Mercado Pago Point is based on activating the :toolTipComponent\[production credentials\]{content="Set of unique access keys linked to your application that allow you to receive real payments. You can access them through \*Your integrations > Integration data > Production > Production credentials\*. Use your production Public Key on the frontend and your production Access Token on the backend."} of your real account. Follow the steps below to learn how to activate them. 1\. Go to \[Your integrations\](https://www.mercadopago.com.ar/developers/panel/app) and select your application. 2\. Go to the \*\*Production credentials\*\* section in the left side menu. 3\. In the \*\*Industry\*\* field, select from the drop-down menu the industry or category to which the business you are integrating belongs. 4\. In the \*\*Website (optional)\*\* field, fill in the URL of the business website. 5\. Accept the \[Privacy Statement\](https://www.mercadopago.com.ar/privacidad) and the \[Terms and conditions\](https://www.mercadopago.com.ar/developers/en/docs/resources/legal/terms-and-conditions). Fill in the reCAPTCHA and click \*\*Activate production credentials\*\*. When accessing production credentials, the following credential pairs will be displayed: !\[How to access credentials through Your Integrations\](https://www.mercadopago.com.ar/images/snippets/credentials-prod-panel-es-v2.jpg) To make your Mercado Pago Point integration available in production, use your :toolTipComponent\[production Access Token\]{content="Private key of the application created in Mercado Pago and used in the \_backend\_ in development environments and to receive real payments. You can access it through \*Your integrations > Integration data > Production > Production credentials\*."} from your real Mercado Pago account. ::: :::TabComponent{title="Get credentials for a third-party integration"} When integrating Mercado Pago Point for a seller, you need to securely obtain their credentials through the \[OAuth protocol\](https://www.mercadopago.com.ar/developers/en/docs/mp-point/resources/security/landing-hub), which will allow your application to access information from another Mercado Pago account. Specifically, you must use the \[Authorization code\](https://www.mercadopago.com.ar/developers/en/docs/security/oauth/creation#bookmark\_authorization\_code) flow, which allows you to obtain an Access Token to use our APIs on the seller's behalf. The process requires explicit authorization, so you must redirect the seller to a URL where you will request their approval for the linkage. Follow the steps below to do so. 1\. Go to \[Your integrations\](https://www.mercadopago.com.ar/developers/panel/app) and select the previously created application with which you are integrating Mercado Pago Point. 2\. In the \[Integration data\](https://www.mercadopago.com.ar/developers/en/docs/mp-point/resources/application-details), select the option to \*\*Edit\*\* its data. 3\. Go to the \*\*Advanced settings\*\* section and declare a \*\*redirect URL\*\* where you will receive your authorization code to obtain the Access Token via OAuth. Make sure it is a static URL and uses the \*\`https\`\* protocol. > SUCCESS\_MESSAGE > > Optionally, from your advanced settings you can add the PKCE protocol for an extra layer of security in obtaining the code. Access the \[documentation\](https://www.mercadopago.com.ar/developers/en/docs/security/oauth/creation#bookmark\_configure\_pkce) for more details. 4\. Complete the reCAPTCHA and click \*\*Save changes\*\*. 5\. Now, send the authentication URL to the seller, following the scheme indicated below. \`\`\` https://auth.mercadopago.com/authorization?client\_id=APP\_ID&response\_type=code&platform\_id=mp&state=RANDOM\_ID&redirect\_uri=https://www.redirect-url.com \`\`\` | Field | Description | |---------------|-------------| | \`client\_id\` | Replace \`APP\_ID\` with your application number. You can find it in "Your integrations > \[Integration data\](https://www.mercadopago.com.ar/developers/en/docs/mp-point/resources/application-details)". | | \`state\` | Replace \`RANDOM\_ID\` with a unique identifier per attempt that does not contain sensitive information. This will help validate that the response belongs to your request. | | \`redirect\_uri\`| Enter the same URL you declared in the "Redirect URLs" field of your application. | 6\. When the seller accesses that URL and authorizes access, they will be redirected to Mercado Pago, where they must log in and confirm the authorization. 7\. Verify if the code was returned correctly in the redirect URL: \`\`\` https://www.redirect-url.com?code=CODE&state=RANDOM\_ID \`\`\` 8\. Finally, send your \*\*Client ID and Client Secret\*\*, the authorization code returned in the \`code\` property and, if you have \[configured PKCE\](https://www.mercadopago.com.ar/developers/en/docs/security/oauth/creation#bookmark\_configure\_pkce), the \`code\_verifier\` value to the :TagComponent{tag="API" text="/oauth/token" href="/developers/en/reference/authentication/oauth/\_oauth\_token/post"} endpoint. \`\`\`curl curl -X POST \\ 'https://api.mercadopago.com/oauth/token' \\ -H 'Content-Type: application/json' \\ -d '{ "client\_secret": "client\_secret", "client\_id": "client\_id", "grant\_type": "authorization\_code", "code": "TG-XXXXXXXX-241983636", "code\_verifier": "47DEQpj8HBSa-\_TImW-5JCeuQeRkm5NMpJWZG3hSuFU", "redirect\_uri": "https://www.redirect-url.com?code=CODE&state=RANDOM\_ID", "test\_token": "false" }' \`\`\` In the response to this request, the Access Token representing the link between accounts will be returned, with which you can make calls to our APIs on behalf of the seller. \`\`\`json { "access\_token": "APP\_USR-4934588586838432-XXXXXXXX-241983636", "token\_type": "bearer", "expires\_in": 15552000, "scope": "read write offline\_access", "user\_id": 241983636, "refresh\_token": "TG-XXXXXXXX-241983636", "public\_key": "APP\_USR-d0a26210-XXXXXXXX-479f0400869e", "live\_mode": true } \`\`\` > WARNING > > This Access Token is valid for 180 days. You must renew it using the \[Renew Access Token\](https://www.mercadopago.com.ar/developers/en/docs/security/oauth/renewal) flow before expiration or you will not be able to operate with our APIs. Also save the \`code\` (TG-XXXXXX-XXXX) from this response and the new \`refresh\_token\` on each renewal: if you lose them, you will need to repeat the OAuth process. Additionally, this response will provide the \`user\_id\` value, useful during terminal configuration. ::: :::: Also remember to replace the test credentials with production credentials in the API calls for \[payment processing\](https://www.mercadopago.com.ar/developers/en/docs/mp-point/payment-processing). ::::: :::CheckboxComponent{label="Create and configure new stores and POS" defaultChecked=false} During development, the store and POS created were associated with the test account. To go to production, you must \[create them again\](https://www.mercadopago.com.ar/developers/en/docs/mp-point/configure-terminal), this time using the \_Access Token\_ that corresponds to your type of integration, as indicated in the \_Credentials\_ section of this same documentation. ::: :::CheckboxComponent{label="Reassociate terminal" defaultChecked=false} During development, the terminal was associated with the test account. When going to production, it is necessary to reassociate it with the real account that will receive payments (or with the collaborator account, as appropriate). To do this, log out of the session previously started on the terminal, and scan the QR code with the Mercado Pago mobile application logged into the corresponding production account. ::: :::CheckboxComponent{label="Terminals in PDV mode" defaultChecked=false} Remember that each terminal you will operate in an integrated manner must be configured in \[PDV mode\](https://www.mercadopago.com.ar/developers/en/docs/mp-point/configure-terminal#:\~:text=en%20la%20terminal-,Como,-%C3%BAltimo%20paso%20de). Confirm this for each of the terminals you will use in production. ::: :::CheckboxComponent{label="Notifications" defaultChecked=false} Confirm in \[Your integrations\](https://www.mercadopago.com.ar/developers/panel/app) that you have \[configured your production mode Webhooks notifications\](https://www.mercadopago.com.ar/developers/en/docs/mp-point/notifications) and have indicated a production URL to receive updates about the orders. In the case of :toolTipComponent\[third-party\]{content="Mercado Pago Point integrations to your system on behalf of a seller and configured using credentials obtained through the OAuth security protocol."} integrations, Webhook notifications must be configured in the :toolTipComponent\[application\]{link="/developers/en/docs/application-details" linkText="Integration data" content="Entity registered in Mercado Pago that acts as an identifier for managing your integrations. For more information, access the link below."} of the main account. ::: :::CheckboxComponent{label="Reports" defaultChecked=false} \[Mercado Pago reports\](https://www.mercadopago.com.ar/developers/en/docs/reports/introduction) provide information to track account transactions, such as available balance, movements, and liquidity. This facilitates reconciliation of sales and other operations with internal management systems. While they are optional, we recommend using reports to improve business financial management once you go to production. :::