Objetivo

Quando o PDV estiver com a operação de finalização da venda o parceiro poderá solicitar uma forma de pagamento para o operador, como por exemplo, pagamento com cashback utilizando a função Obter Valor e um leitor de QRCode. No caso do QRCode, a operadora pode confirmar ou cancelar pressionando o botão ‘Esc’.

O número da forma de pagamento tem que ser único e exclusivo por parceiro.

O Integrador informa o código de autorização do parceiro, pode solicitar também a identificação do cliente, porém não é obrigatório.

PARÂMETROTIPOOBRIGATÓRIODESCRIÇÃO
VersionstringtrueVersão da API
ExecutionstringtrueTipo da execução cetContinue, cetInterrupt, cetFailed
TotalDoublefalseTotal do pagamento realizado
DiscountDoubleDoublefalseDesconto no total pago na venda
IncreaseDoublefalseAcréscimo no total pago na venda
PaymentNumberIntegertrueNúmero da forma de pagamento
AuthorizationCodeText(15)trueCódigo de autorização do pagamento
VouchersPrintArray of objectsfalseInformações para impressão do recibo do pagamento


ParâmetroTipoDescrição
TextStringTexto a ser impresso no recibo de pagamento
IdentifcationArray of objectsfalseInformações para identificação do cliente


ParâmetroTipoDescrição
DocumentStringNúmero do documento de
identificação do cliente
PartnerCodeIntegerCódigo do parceiro
DocumentTypeStringTipo de documento de
identificação


Os outros parâmetros são encontrados no Comando Desconto na VendaClique aqui e acesse a documentação.

Response Example

{
  "version"1,
  "sale"{
    "discount"0.1,
    "total"0,
    "items"[
      {
        "itemNumber"1,
        "unitPrice"0,
        "increasePrice"0,
        "packingQuantity"0,
        "quantity"0,
        "totalPrice"0,
        "discountPrice"0.0859,
        "status""sttValid",
        "partitionDiscount"[
          {
            "discountAmount"1,
            "price"0.0859,
            "partnerCode"0,
            "promotionCode"43
          }
        ]
      }
    ],
    "partitionDiscount"[
      {
        "discountAmount"1,
        "price"0.1,
        "partnerCode"0,
        "promotionCode"686
      }
    ]
  },
  "pay"{
    "total"8.59,
    "discount"0,
    "increase"0,
    "paymentNumber"1,
    "authorizationCode""FD455FKL34SS1100AXV",
    "vouchersPrint"[
      {
        "text"" RECEBO PAGAMENTO, CONVENIO \r\n\r\n N. 100, Vlr. Compra 8.59\r\n"
      },
      {
        "text"" RECEBO PAGAMENTO, CONVENIO \r\n\r\n N. 100, Vlr. Compra 8.59\r\n"
      }
    ],
    "identifcation"{
      "document""11263629059",
      "partnerCode"0,
      "documentType""cdtCPF"
    }
  },
  "execution""cetContinue",
  "interpret"{
    "commandType""cctGetValue",
    "value"{
      "title""Leitura de codigo",
      "subtitle""Teste Pagamento",
      "defaultValue""setsdgsdgsddsg",
      "dataType""cvtQRCode",
      "size"4000
    }
  }
}

Exemplo Fluxo de Pagamento

No exemplo abaixo foram:
1 – Vinculado uma forma de pagamento ao parceiro;
2 – Adicionado uma função obter valor para captura do QRCode;
No Início da venda, foi inserido um produto e teclado Enter. Após todos os produtos inseridos, foi acionada a função para finalização da venda.

Imagem 1 – Tela Pagamento

Selecionado forma de pagamento vinculado ao parceiro.

Imagem 2 – Tela Pagamento

JSON enviado para o parceiro

{
  "Event""cetBefore",
  "Execution""cetContinue",
  "ID""001600000591145",
  56"Operation""cotSalePayment",
  "Pay"{
    "Discount"0,
    "Increase"0,
    "PaymentNumber"1,
    "Total"4.99
  },
  "Sale"{
    "Discount"0,
    "Header"{
      "AccountingDate""2020-03-10T00 00 00",
      "DateTimeIssue""2020-03-10T16 57 34",
      "IdDocument"591145,
      "IdStore"1,
      "IdTerminal"600,
      "IdUser"2,
      "Status""sttValid"
    },
    "ID""001600000591145",
    "Increase"0,
    "Items"[
      {
        "BarCode""7891000100103",
        "CaptionPacking""UN",
        "Description""MOCA",
        "DiscountAmount"0,
        "DiscountPrice"0,
        "IncreasePrice"0,
        "InternalCode""4900",
        "ItemNumber"1,
        "PackingQuantity"1,
        "Quantity"1,
        "Status""sttValid",
        "TotalPrice"4.99,
        "UnitPrice"4.99
      }
    ],
    "Total"4.99
  },
  "Version"1
}

O parceiro retorna informando que é necessário obter um valor do QRCode. Após a leitura e confirmação do QRCode, o pagamento é finalizado.

Imagem 3 – Pagamento QR Code

JSON enviado para o parceiro

{
  "version"1,
  "sale"{
    "increase"0,
    "discount"0.1,
    "total"0,
    "items"[
      {
        "itemNumber"1,
        "unitPrice"0,
        "increasePrice"0,
        "packingQuantity"0,
        "quantity"0,
        "totalPrice"0,
        "discountPrice"0.0499,
        "status""sttValid",
        "partitionDiscount"[
          {
            "discountAmount"1,
            "price"0.0499,
            "partnerCode"0,
            "promotionCode"193
          }
        ]
      }
    ],
    "partitionDiscount"[
      {
        "discountAmount"1,
        "price"0.1,
        "partnerCode"0,
        "promotionCode"949
      }
    ]
  },
  "pay"{
    "total"4.99,
    "discount"0,
    "increase"0,
    "paymentNumber"1,
    "authorizationCode""FD455FKL34SS1100AXV",
    "vouchersPrint"[
      {
        "text"" RECEBO PAGAMENTO, CONVENIO \r\n\r\n N. 100, Vlr. Compra 4.99\r\n"
      },
      {
        "text"" RECEBO PAGAMENTO, CONVENIO \r\n\r\n N. 100, Vlr. Compra 4.99\r\n"
      }
    ],
    "identifcation"{
      "document""11263629059",
      "partnerCode"0,
      "documentType""cdtCPF"
    }
  },
  "return"{
    "code"0
  },
  "execution""cetContinue",
  "interpret"{
    "commandType""cctGetValue",
    "value"{
      "title""Leitura de codigo",
      "subtitle""Teste Pagamento",
      "defaultValue""4E639435-32FB-4386-8777-06E458EFCF8F",
      "dataType""cvtQRCode",
      "size"4000
    }
  }
}

Comprovante impresso no final da venda.

Imagem 4 – Texto Cupom