Pular para o conteúdo principal

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
info

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.

info

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:

PropriedadeDescrição
paymentsIdrepresenta o identificador do pagamento na entrega dentro da plataforma do Delivery Direto.
namerepresenta 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:

PropriedadeDescrição
creditcardsIdrepresenta o identificador do cartão cadastrado no Delivery Direto.
cardBrandrepresenta a Bandeira do cartão.
cardExpiryMonthrepresenta o Mês que expira o cartão.
cardExpiryYearrepresenta o Ano que expira o cartão.
cardHolderNamerepresenta o Nome que impresso no cartão.
cardLastNumbersrepresenta o representa o nome da forma de pagamento.
info

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

Exemplo do trecho da resposta de um pedido com Pagamento na Entrega
    // ... 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 ...
Exemplo do trecho da resposta de um pedido com pagamento Online via PIX
    // ... outros campos ...
"isOnlinePayment": true,
"paymentMethod": {
"cardBrand": null,
"cardExpiryMonth": null,
"cardExpiryYear": null,
"cardHolderName": null,
"cardLastNumbers": null,
"creditcardsId": null,
"name": "Pix",
"paymentsId": 12789
},
// ... outros campos ...
Exemplo do trecho da resposta de um pedido com pagamento Online via Cartão de Crédito
    // ... 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?

tip

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:

Exemplo chamada cURL para obter os dados de pagamentos aceitos pela loja
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>'
info

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 valor true
  • O campo do pedido paymentMethod com o dados { paymentsId: 12798, name: "Pix" }

O ID do Delivery Direto para PIX Online é 12789.