Processar pagamentos - Integrar com PDV - Mercado Pago Developers

Comece a processar seus pagamentos

Para começar a processar seus pagamentos com o ponto de venda (PDV), siga estas etapas:

Obtenha a lista de seus 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' \ 
--header 'Authorization: Bearer ${ACCESS_TOKEN}' 

Você receberá uma resposta como esta:

json

{
    "devices": [
        {
            "id": "INGENICO_MOVE2500__ING-ARG-1123345670",
            "pos_id": 47792476,
            "store_id": "47792478",
            "external_pos_id": "SUC0101POS",
            "operating_mode": "PDV"
        },
        {
            "id": "INGENICO_MOVE2500__ING-ARG-0987654P",
            "pos_id": 47792476,
            "store_id": "47792478",
            "external_pos_id": "SUC0101POS",
            "operating_mode": "STANDALONE"
        },
        {
            "id": "INGENICO_MOVE2500__ING-5467853",
            "operating_mode": "PDV",
            "pos_id": 47792476,
            "store_id": "47792478",
            "external_pos_id": "SUC0101POS",
        },
        {
            "id": "INGENICO_MOVE2500__ING-ARG-1233456",
            "pos_id": 47792476,
            "store_id": "47792478",
            "external_pos_id": "SUC0101POS",
            "operating_mode": "STANDALONE"
        }
    ],
    "paging": {
        "total": 4,
        "limit": 50,
        "offset": 0
    }
}

Criar uma 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/{{device.id}}/payment-intents' \
--header 'Authorization: Bearer ${ACCESS_TOKEN}' \
--data-raw '{
   "amount": 1500,
   "additional_info": {
       "external_reference": "4561ads-das4das4-das4754-das456",
       "print_on_terminal": true,
       "ticket_number": "S0392JED"
   }
}'
CampoDescrição
amountValor total da intenção de pagamento.
Valor mínimo permitido: 500 (dispositivos POS y SMART).
Valor máximo permitido: 400000000 (ambos dispositivos).
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_referenceCampo de uso exclusivo do integrador para incluir referências de seu sistema.
print_on_terminalCampo que determina se o dispositivo imprime o comprovante de pagamento.
ticket_numberNú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"
 }
}

Cancelar uma intenção de pagamento

Você pode cancelar uma intenção de pagamento atribuída a um dispositivo Point da seguinte forma:

curl

curl --location --request DELETE 'https://api.mercadopago.com/point/integration-api/devices/:deviceId/payment-intents/:paymentIntentId' \
--header 'Authorization: Bearer ${ACCESS_TOKEN}' \

Você receberá esta resposta:

json

{
 "id": "7d8c70b6-2ac8-4c57-a441-c319088ca3ca"
}

Processe sua 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 “Charge now”) e continuar com as etapas mostradas em tela para concluir o pagamento.

Importante
Recomendamos avaliar a qualidade de sua integração para verificar se você está cumprindo os padrões de qualidade e segurança do Mercado Pago que podem melhorar sua taxa de aprovação de pagamentos.

Verifique o status da sua intenção de pagamento

Você pode verificar o status atual de 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 são diferentes do id e status do pagamento. 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.

Importante
O principal mecanismo recomendado para saber o resultado de uma intenção de pagamento é a assinatura de notificações de integrações . Aconselhamos usar o endpoint aqui presente apenas como um mecanismo alternativo.

curl

curl --location --request GET 'https://api.mercadopago.com/point/integration-api/payment-intents/:paymentIntentID' \
--header 'Authorization: Bearer ${ACCESS_TOKEN}'

A resposta será semelhante a isso:

json

{
   "state": "FINISHED",
   "id": "0aa0519d-d985-4e83-b62d-dda123456789",
   "device_id": "88731317_INGENICO_MOVE2500_ING-ARG-14123456",
   "amount": 600,
   "payment": {
       "id": "11123456789"
   },
   "additional_info": {
       "ticket_number": "123456789123456789"
   }
}
Importante
O 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.