Como identificar formas de pagamentos dos pedidos
Neste artigo você vai aprender como identificar a forma de pagamento de um pedido recebido pelo webhook (ou via polling) via Admin API.
Existem duas formas de pagamento no Delivery Direto:
- Pagamento Online
- Pagamento na Entrega
O pagamento Online é quando o pagamento já foi realizado através da plataforma do Delivery Direto, ou seja, o pedido já está pago, seja via Cartão de Crédito ou via PIX Online.
O pagamento na Entrega é a modalidade de pagamento em que o cliente ainda irá realizar o pagamento utilizando a maquininha do estabelecimento na entrega ou no próprio estabelecimento (nos casos de pedidos do tipo Takeout ou retirada).
Como identificar se o pedido é Online ou na Entrega?
Quando você receber o pedido via Admin API (tanto via webhook quanto via polling) no payload (corpo da resposta) dentro do objeto de Order existe o campo isOnlinePayment
, se true
indica que o pagamento já está pago, se false
indica que é um pagamento na Entrega.
Além disso, na propriedade paymentMethod
do objeto Order é possível observar mais informações sobre o método de pagamento escolhido pelo consumidor.
Quando o pagamento é feito na Entrega ou via PIX Online, o campo paymentMethod
conterá as seguintes informações adicionais:
Propriedade | Descrição |
---|---|
paymentsId | representa o identificador do pagamento na entrega dentro da plataforma do Delivery Direto. |
name | representa o representa o nome da forma de pagamento. |
Apenas quando o pagamento for Online via Cartão de Crédito, será apresentado as seguintes informações:
Propriedade | Descrição |
---|---|
creditcardsId | representa o identificador do cartão cadastrado no Delivery Direto. |
cardBrand | representa a Bandeira do cartão. |
cardExpiryMonth | representa o Mês que expira o cartão. |
cardExpiryYear | representa o Ano que expira o cartão. |
cardHolderName | representa o Nome que impresso no cartão. |
cardLastNumbers | representa o representa o nome da forma de pagamento. |
Quando o pagamento é Entrega ou via PIX Online, os campos relacionados ao Online via Cartão de Crédito são retornados com o valor null
e vice-versa.
Exemplos de respostas da API
// ... outros campos ...
"isOnlinePayment": false,
"paymentMethod": {
"cardBrand": null,
"cardExpiryMonth": null,
"cardExpiryYear": null,
"cardHolderName": null,
"cardLastNumbers": null,
"creditcardsId": null,
"name": "Visa (crédito)",
"paymentsId": 1
},
// ... outros campos ...
// ... outros campos ...
"isOnlinePayment": true,
"paymentMethod": {
"cardBrand": null,
"cardExpiryMonth": null,
"cardExpiryYear": null,
"cardHolderName": null,
"cardLastNumbers": null,
"creditcardsId": null,
"name": "Pix",
"paymentsId": 12789
},
// ... outros campos ...
// ... outros campos ...
"isOnlinePayment": true,
"paymentMethod": {
"cardBrand": "visa",
"cardExpiryMonth": 12,
"cardExpiryYear": 2029,
"cardHolderName": "JOSE",
"cardLastNumbers": "4242",
"creditcardsId": 123456,
"name": null,
"paymentsId": null
},
// ... outros campos ...
Como saber o ID de todas as formas de pagamento do Delivery Direto?
Isso pode ser bastante útil em muitos casos de uso, por exemplo, relacionar a forma de pagamento do pedido recebido via API com a forma de pagamento do Ponto de Venda ou ERP, ou ainda saber qual é o tipo de pagamento para inserir no sistema de geração de notas fiscais.
Através dos endpoints de Payment Methods é possível obter os IDs das formas de pagamentos:
curl --location --request GET 'https://deliverydireto.com.br/admin-api/v1/payments' \
--header 'X-DeliveryDireto-ID: <X-DeliveryDireto-ID da loja>' \
--header 'X-DeliveryDireto-Client-Id: <CLIENT_ID>' \
--header 'Authorization: Bearer <access_token>'
Veja mais informações nas referências da API: https://developers.deliverydireto.com.br/admin-api/docs#tag/Payment-Methods
Como saber se o pagamento do pedido foi feito via PIX Online?
Quando um pedido for pago utilizando pagamento Online PIX ele sempre irá ser retornado com as seguintes informações:
- O campo do pedido
isOnlinePayment
terá o valortrue
- O campo do pedido
paymentMethod
com o dados{ paymentsId: 12798, name: "Pix" }
O ID do Delivery Direto para PIX Online é 12789
.