Intermediador de operação e financeiro - Nota técnica 2020-006

Olá @alff, tudo bem? Acredito que esse comunicado vai te ajudar a entender o que precisa ser feito e como estamos lidando com essa questão na VTEX.

De forma resumida, agora nossa Orders API permite que você obtenha informações de pagamento do marketplace como descrito em mais detalhes na documentação Fetching marketplace information with the Orders API.

Intermediador da transação/venda (marketplace aplicativo)

Pode ser identificado pelo campo affiliateId, como no exemplo abaixo:

{
  "emailTracked": "a27499cad31f42b7a771ae34f57c8358@ct.vtex.com.br",
  "approvedBy": null,
  "cancelledBy": null,
  "cancelReason": null,
  "orderId": "v5195004lux-01",
  "sequence": "502556",
  "marketplaceOrderId": "880102018018-01",
  "marketplaceServicesEndpoint": "http://oms.vtexinternal.com.br/api/oms?an=luxstore",
  "sellerOrderId": "00-v5195004lux-01",
  "origin": "Fulfillment",
  "affiliateId": "ABC",
  "salesChannel": "1",
  "merchantName": null,
  "status": "handling",
  "statusDescription": "Preparando Entrega",
  "value": 1160,
  "creationDate": "2019-01-28T20:09:43.8999580+00:00",
  "lastChange": "2019-02-06T20:46:11.7010747+00:00",
…

:information_source: Você deverá manter, na sua integração com ERP, a tabela que fará a correspondência entre este valor e o nome e CNPJ do marketplace.

Intermediador financeiro (gateway de pagamento) e bandeira da operadora do cartão

Existem dois caminhos possíveis para identificação, dependendo do tipo de marketplace: entre lojas VTEX ou através de conector nativo.

Marketplaces VTEX

Pode ser identificado pelo campo userPaymentInfo.paymentMethod.invoiceData, como no exemplo abaixo:

...
"invoiceData": {
    "userPaymentInfo": {
        "paymentMethod": [
            "creditCardPaymentGroup"
        ]
    }
}
...

O array paymentMethod inclui strings que seguem o padrão {payment-group-name}PaymentGroup. Existem dezenas de valores possíveis, dependendo dos grupos de pagamento usados pelo marketplace. Alguns exemplos:

  • "creditCardPaymentGroup"
  • "debitCardPaymentGroup"
  • "instantPaymentPaymentGroup"
  • "promissoryPaymentGroup"
  • "PayPalPlusPaymentGroup"
  • "OneBuyPaymentGroup"
  • "virtualDebitEloPaymentGroup"
  • "foodCardPaymentGroup"
  • "giftCardPaymentGroup"
  • "debitPaymentGroup"
  • "PaymentHubPaymentGroup"
  • "PagosNetPaymentGroup"
  • "bankInvoicePaymentGroup"
  • "PagosWebPaymentGroup"
  • "cardPromissoryPaymentGroup"
  • "SamsungPayPaymentGroup"

:information_source: Você deverá manter, na sua integração com ERP, a tabela que fará a correspondência entre este valor e o nome e CNPJ do gateway + bandeira da operadora do cartão.

Marketplaces com conector nativo

Neste cenário, as informações de pagamento estão disponíveis no objeto customData do orderForm do pedido. Este é um exemplo do que você pode encontrar em um pedido:

{
  ...
  "customData": {
    "customApps": [
      {
        "id": "CN-Viavarejo-Integration",
        "fields": {
          "marketplacePaymentMethod": "credit_card"
        }
      }
    ]
  }
  ...
}