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": "47792479",
"external_pos_id": "SUC0101POS",
"operating_mode": "PDV"
},
{
"id": "INGENICO_MOVE2500__ING-ARG-12348394345",
"pos_id": 47792476,
"store_id": "47792476",
"external_pos_id": "SUC0102POS",
"operating_mode": "STANDALONE"
},
{
"id": "INGENICO_MOVE2500__ING-ARG-4782743403",
"operating_mode": "PDV",
"pos_id": 47792476,
"store_id": "47792478",
"external_pos_id": "SUC0103POS",
},
{
"id": "PAX_A910__SMARTPOS849233453",
"pos_id": 47792476,
"store_id": "47792472",
"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,
"additional_info": {
"external_reference": "4561ads-das4das4-das4754-das456",
"print_on_terminal": true,
"ticket_number": "S0392JED"
}
}'
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". |
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. |
ticket_number | Número do bilhete da intenção de pagamento. |
Em resposta, você receberá algo semelhante a isso:
json
{
"id": "7d8c70b6-2ac8-4c57-a441-c319088ca3ca",
"device_id": "INGENICO_MOVE2500__ING-ARG-14886780",
"amount": 1500,
"additional_info": {
"external_reference": "4561ads-das4das4-das4754-das456",
"print_on_terminal": true,
"ticket_number": "S0392JED"
}
}
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 e Point Pro 2 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": "0aa0519d-d985-4e83-b62d-dda123456789",
"device_id": "INGENICO_MOVE2500_ING-ARG-14123456",
"amount": 600,
"payment": {
"id": "11123456789"
},
"additional_info": {
"ticket_number": "123456789123456789"
}
}
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.
- Point Plus: no dispositivo, mantenha pressionado o botão vermelho por alguns segundos e, ao aparecer a mensagem indicando se deseja sair da tela sem finalizar a cobrança, clique em sim.