Processar pagamentos
Para começar a processar seus pagamentos com o ponto de venda (PDV), siga estas etapas.
Se você já integrou Point anteriormente, em breve traremos mais informações sobre o processo de migração.
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:
curlcurl --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:
curlcurl --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.
id) correspondente à tentativa de pagamento que esteja dentro deste período. Se precisar de informações sobre intenções de pagamento mais antigas, recomendamos que entre em contato com nosso serviço de atendimento ao cliente para obter assistência adicional.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.
curlcurl --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 } }
confirmation_required é um status final e não mudará depois de recebido. No caso de você obtê-lo como uma resposta da intenção de pagamento, deverá confirmar em seu dispositivo qual é o status de pagamento que corresponde ao payment_id recebido na resposta. Não entregue seu produto ou serviço até que você o verifique.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:
curlcurl --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.