Processar pagamentos
Para começar a processar seus pagamentos com o ponto de venda (PDV), siga estas etapas:
Obter lista de dispositivos disponíveis
Antes de criar uma intenção de pagamento, você deve obter os dispositivos Point associados à sua conta. Você pode fazeê-lo através da seguinte chamada:
curl
curl --location --request GET 'https://api.mercadopago.com/point/integration-api/devices?offset=0&limit=50' \ --h 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Você receberá uma resposta como esta:
json
{ "devices": [ { "id": "PAX_A910__SMARTPOS1234345545", "pos_id": 47792476, "store_id": "47792478", "external_pos_id": "SUC0101POS", "operating_mode": "PDV" }, { "id": "GERTEC_MP35P__5749748758974567", "pos_id": 47792476, "store_id": "47792474", "external_pos_id": "SUC0102POS", "operating_mode": "STANDALONE" }, { "id": "GERTEC_MP35P__5743245346764567", "operating_mode": "PDV", "pos_id": 47792476, "store_id": "47792471", "external_pos_id": "SUC0103POS", }, { "id": "PAX_A910__SMARTPOS849233453", "pos_id": 47792476, "store_id": "47792479", "external_pos_id": "SUC0104POS", "operating_mode": "STANDALONE" } ], "paging": { "total": 4, "limit": 50, "offset": 0 } }
Criar intenção de pagamento
Uma intenção de pagamento é uma chamada que contém os detalhes da transação a ser realizada, e que deve ser criada para inciar um pagamento. Esta é uma tentativa que, se bem-sucedida, retornará um id
do pagamento e seu status
.
Você pode criar uma intenção de pagamento e atribuí-la ao seu dispositivo Point desta forma:
curl
curl --location --request POST 'https://api.mercadopago.com/point/integration-api/devices/{deviceid}/payment-intents' \ --h 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --data-raw '{ "amount": 1500, "description": “this is an example”, "payment": { "installments": 1, "type": “credit_card” }, "additional_info": { "external_reference": "4561ads-das4das4-das4754-das456", "print_on_terminal": true } }'
Campo | Descrição |
amount | Valor total da intenção de pagamento. Importante: este campo não admite vírgulas decimais, então se deseja gerar uma intenção de pagamento deve-se considerar as duas casas decimais do valor em seu total. Por exemplo: para gerar o valor da ordem de pagamento "15,00" você deve inserir "1500". |
description | Descrição da intenção de pagamento. |
payment.type | Tipo de método de pagamento. |
payment.installments | Valor das parcelas de pagamento. O valor mínimo de cada parcela deverá ser 5,00 (500). No caso de dispositivos Smart, se o valor for inferior ao mínimo aceito, o pagamento será processado de uma só vez, sem considerar as parcelas estabelecidas. |
payment.installments_cost | Custo das parcelas de pagamento. Este campo determina quem assume o custo e os valores aceitos são seller e buyer |
external_reference | Campo de uso exclusivo do integrador para incluir referências de seu sistema. |
print_on_terminal | Campo que determina se o dispositivo imprime o comprovante de pagamento. |
Em resposta, você receberá algo semelhante a isso:
json
{ "id":"7d8c70b6-2ac8-4c57-a441-c319088ca3ca", "device_id":"GERTEC_MP35P__8701016695109435", "amount":1500, "description":"this is an example", "payment":{ "type":"credit_card", "installments":1, "installments_cost":"seller" }, "additional_info":{ "external_reference":"4561ads-das4das4-das4754-das456", "print_on_terminal":true } }
Tenha em mente que as intenções de pagamento são a base para o processamento de pagamentos com dispositivos Point. Por esse motivo, é importante que você registre e salve os dados obtidos durante sua criação, especialmente o id
.
Processar intenção de pagamento
Uma vez que a intenção de pagamento é criada, você pode obtê-la de seu dispositivo Point pressionando a tecla para iniciar o pagamento (no caso de Point Plus o botão verde e, no caso de Point Smart, o botão digital “Cobrar”) e continuar com as etapas mostradas em tela para concluir o pagamento.
Verificar status da intenção de pagamento
Se você deseja saber o status de uma intenção de pagamento específica, você pode verificar o status atual da sua intenção de pagamento usando o id
que você recebeu na resposta ao criá-la.
Lembre-se que o id
e status da intenção de pagamento (por exemplo, 7f25f9aa-eea6-4f9c-bf16-a341f71ba2f1) são diferentes do id
e status do pagamento (por exemplo, 65412345). Neste caso, trata-se de consultar os detalhes de uma tentativa. Você pode consultar todas as informações correspondentes ao pagamento na seção API de pagamento de Referência da API.
curl
curl --location --request GET 'https://api.mercadopago.com/point/integration-api/payment-intents/{paymentintentid}' \ --h 'Authorization: Bearer YOUR_ACCESS_TOKEN'
A resposta será semelhante a isso:
json
{ "state":"FINISHED", "id":"f8f50814-a8c5-4524-95b6-672958523121", "device_id":"GERTEC_MP35P__8701016695109435", "description":"this is an example", "amount":1500, "payment":{ "type":"credit_card", "installments":1 }, "additional_info":{ "external_reference":"4561ads-das4das4-das4754-das456", "print_on_terminal":true } }
Você pode verificar os possíveis estados de uma intenção de pagamento acessando nosso Glossário.
Cancelar uma intenção de pagamento
Se desejar, você pode cancelar uma intenção de pagamento atribuída a um dispositivo Point de acordo com o status da intenção de pagamento. Veja mais informações abaixo.
Status: open
Se o estado da intenção for open
e ainda não tiver sido enviada para o terminal, você pode cancelá-la via API fazendo a seguinte chamada:
curl
curl --location --request DELETE 'https://api.mercadopago.com/point/integration-api/devices/{deviceid}/payment-intents/{paymentintentid}' \ --h 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
Você receberá esta resposta:
json
{ "id": "7d8c70b6-2ac8-4c57-a441-c319088ca3ca" }
Status: on_terminal
Se, por outro lado, o estado da intenção de pagamento for on_terminal
, você deverá cancelá-la diretamente no dispositivo Point. Para isso, siga as indicações abaixo.
- Point Smart: no dispositivo, mantenha pressionado o botão inferior direito durante alguns segundos e, ao aparecer a mensagem indicando se deseja sair da tela sem finalizar a cobrança, clique em sim.