Formulário de pagamento

Com este formulário HTML, você pode enviar a solicitação de transação para nosso portal de pagamento junto com as informações de compra. Envie a solicitação usando o método HTTP POST.

Neste tópico, você aprenderá a enviar dados de uma transação para o portal de pagamento PayU. Para isso, deve-se gerar um formulário HTML com os dados da transação utilizando o método HTTP POST e apontando-o para o nosso sistema.

Observações

  • Verifique se você tem merchantId, accountId e apiKey.
  • Use uma referência de pagamento diferente por pagamento.
  • Não inclua espaços nos valores dos parâmetros.
  • Não inclua valores com mais de duas casas decimais.
  • Não inclua caracteres especiais no parâmetro referenceCode.

Variáveis

As seguintes variáveis podem ser incluídas no formulário de pagamento.

Variáveis no formulário de pagamento
Campo Tipo Tamanho Descrição Obrigatório
merchantId Número 12 Número de identificação da sua loja no sistema PayU. Você encontrará este número no e-mail de criação de conta. Sim
referenceCode Alfanumérico 255 Referência da venda ou ordem. Deve ser exclusiva para cada transação enviada ao sistema. Normalmente, é uma forma de identificar as solicitações enviadas para a plataforma de pagamento. Sim
accountId Número 6 ID da conta do usuário para cada país associado à loja. Esta variável é usada para exibir os métodos de pagamento disponíveis para este país. Sim
description Alfanumérico 255 Descrição da venda. Sim
currency Alfanumérico 3 A respectiva moeda na qual o pagamento é feito. O processo de reconciliação é realizado em pesos na taxa representativa do dia.
Veja as moedas aceitas.
Sim
amount Número 10 Valor total da transação. Ele pode conter dois dígitos decimais. Exemplo 10000.00 ou 10000. Sim
tax Número 10,2 Valor do IVA da transação.
Na Colômbia, se nenhum IVA for enviado, o sistema aplica 19% automaticamente. Ele pode conter dois dígitos decimais, por exemplo 19000.00.
Se o produto ou serviço for isento de IVA, atribua 0 a esta variável.
Sim
discount Número 10,2 Discount value applied to the sale. Não
taxReturnBase Número 10,2 Valor base para cálculo do VAT.
Se o produto ou serviço for isento de IVA, atribua 0 a esta variável.
Sim
additionalValue Número 10,2 Valor adicional da venda. Não
signature Alfanumérico 255 Assinatura digital criada para cada transação. Consultar Assinatura para forma de pagamento para aprender como gerar. Sim
algorithmSignature Alfanumérico 255 Algoritmo de criptografia da assinatura digital (campo signature). Os três algoritmos disponíveis são: MD5, SHA e SHA256. Não
test Número 1 Indica se a transação está em modo de teste ou produção. Definir 1 para teste e 0para produção. Não
lng Alfanumérico 3 Idioma no qual a plataforma de pagamento deve ser exibida.
Veja os idiomas disponíveis.
Não
extra1 Alfanumérico 255 Campo adicional para envio de informações sobre a compra. Não
extra2 Alfanumérico 255 Campo adicional para envio de informações sobre a compra. Não
extra3 Alfanumérico 255 Campo adicional para envio de informações sobre a compra. Não
template Alfanumérico 255 Modelo para a página de pagamento. Não
responseUrl Alfanumérico 255 URL da página de resposta. Não
confirmationUrl Alfanumérico 255 URL da página de resposta. Não
sourceUrl Alfanumérico 255 URL de origem das transações do comércio. É aqui que o botão de pagamento está localizado. Não
airline Alfanumérico 4 Código da companhia aérea. Não
billingAddress Alfanumérico 255 Endereço de correspondência. Não
shippingAddress Alfanumérico 255 O endereço de entrega da mercadoria.
* Obrigatório se sua loja enviar o produto.
Sim*
billingCity Alfanumérico 50 Cidade associada ao endereço de cobrança. Não
shippingCity Alfanumérico 50 A cidade de entrega da mercadoria.
* Obrigatório se sua loja enviar o produto.
Sim*
zipCode Alfanumérico 20 Código postal. Não
billingCountry Alfanumérico 2 Código ISO do país associado ao endereço de cobrança. Não
shippingCountry Alfanumérico 2 O código ISO do país associado ao endereço de entrega da mercadoria.
* Obrigatório se sua loja enviar o produto.
Veja os países de processamento.
Sim*
buyerEmail Alfanumérico 255 Campo que contém o e-mail do comprador para notificar o resultado da transação por e-mail. Recomenda-se validar se este campo foi fornecido no formulário. Sim
telephone Alfanumérico 50 O telefone residencial do comprador. Sim
officeTelephone Alfanumérico 50 O telefone do comprador em horário comercial. Não
mobilePhone Alfanumérico 50 O número do celular do comprador. Este valor será usado para preencher o formulário do cartão de crédito e será o telefone de contato. Não
buyerFullName Alfanumérico 150 O nome completo do comprador. Sim
paymentMethods Alfanumérico 255 Lista das formas de pagamento habilitadas no processo de pagamento.
Esta lista deve ser separada por vírgula e sem espaços em branco. Por exemplo: VISA,MASTERCARD.
YVocê pode incluir parcelas para as formas de pagamento adicionando-as usando hifens. Exemplo: VISA-1-3,MASTERCARD-3-5-9.
Veja os métodos de pagamento disponíveis para seu país na coluna Parâmetro paymentMethod.
Não
administrativeFee Número 10,2 Valor da taxa administrativa. Não
taxAdministrativeFee Número 10,2 Valor do imposto da taxa administrativa. Não
taxAdministrativeFeeReturnBase Número 10,2 Valor base para cálculo do imposto da taxa administrativa. Não
payerEmail Alfanumérico 255 E-mail do pagador. Não
payerPhone Alfanumérico 20 Número de telefone do pagador. Não
payerOfficePhone Alfanumérico 20 Número de telefone do local de trabalho do pagador. Não
payerMobilePhone Alfanumérico 20 Número do celular do pagador. Não
expirationDate Alfanumérico 19 Prazo de validade das transações de pagamentos da Dinheiro. Formato: YYYY-MM-DD HH:mm:ss.
Este valor deve ser inferior ao número padrão de dias para o pagamento à vista (15 dias para a Argentina e 7 dias para os demais países).
-
payerFullName Alfanumérico 50 O nome do pagador. Este valor será usado para preencher o formulário do cartão de crédito. Não
payerDocument Alfanumérico 25 O número de identificação do comprador. Este valor será usado para preencher o formulário do cartão de crédito. Não
payerDocumentType Alfanumérico 25 O tipo de identificação do comprador. Este valor será usado para preencher o formulário do cartão de crédito. Não
iin Alfanumérico 2048 Lista de Bins admitidos durante o processo de pagamento (separados por vírgula).
Este parâmetro só pode ser utilizado por estabelecimentos que validem assinatura.
Não
paymentMethodsDescription Alfanumérico 255 Descrição dos meios de pagamento e Caixas admitidas durante o processo de pagamento. Não
pseBanks Alfanumérico 255 Lista de códigos bancários habilitados no processo de pagamento via PSE.
Esta lista deve ser separada por vírgula e sem espaços em branco.
Não

Considerações sobre variáveis

  • o tax é o IVA que pode ser usado em alguns países e o taxReturnBase é o valor base para cálculo do IVA. Se o seu produto é isento de impostos, atribua ambas as variáveis para 0 (tax=0, taxReturnBase=0)
  • Se alguns elementos têm o imposto e este não se aplica a outros, deve-se realizar o seguinte cálculo para saber como enviar os valores para a plataforma de pagamento.
Produto campo taxReturnBase campo tax Valor
A 84.033 15.966 (19%) 100.000
B 181.818 18.181 (10%) 200.000
C 0 0 (0%) 150.000
Total 268.851 34.147 450.000
  • Para empresas registradas na Colômbia que pertencem ao programa Régimen común, se você não enviar o imposto, PayU calcula automaticamente o imposto usando 19%. Se sua empresa pertence ao programa Régimen simplificado, se você não enviar o imposto, PayU atribui automaticamente o valor como zero (0).

Exemplo de formulário

A seguir, veja um exemplo de um formulário de pagamento básico usando apenas os campos obrigatórios e direcionando a solicitação para o ambiente Sandbox (modo de teste).

 <form method="post" action="https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu/">
  <input name="merchantId"      type="hidden"  value="508029"   >
  <input name="accountId"       type="hidden"  value="512321" >
  <input name="description"     type="hidden"  value="Test PAYU"  >
  <input name="referenceCode"   type="hidden"  value="TestPayU" >
  <input name="amount"          type="hidden"  value="20000"   >
  <input name="tax"             type="hidden"  value="3193"  >
  <input name="taxReturnBase"   type="hidden"  value="16806" >
  <input name="currency"        type="hidden"  value="COP" >
  <input name="signature"       type="hidden"  value="7ee7cf808ce6a39b17481c54f2c57acc"  >
  <input name="test"            type="hidden"  value="0" >
  <input name="buyerEmail"      type="hidden"  value="test@test.com" >
  <input name="responseUrl"     type="hidden"  value="http://www.test.com/response" >
  <input name="confirmationUrl" type="hidden"  value="http://www.test.com/confirmation" >
  <input name="Submit"          type="submit"  value="Enviar" >
</form>

Se sua loja envia os produtos, você precisa incluir os seguintes valores:

  <input name="shippingAddress"    type="hidden"  value="calle 93 n 47 - 65"   >
  <input name="shippingCity"       type="hidden"  value="Bogotá" >
  <input name="shippingCountry"    type="hidden"  value="CO"  >

A URL configurada em action depende do ambiente:

Teste: https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu/
Produção: https://checkout.payulatam.com/ppp-web-gateway-payu/

Assinatura para formulário de pagamento

A assinatura é uma forma de validar os pagamentos efetuados na plataforma e garantir a sua autenticidade. Consiste em uma string criptografada usando MD5, SHA1 ou SHA256. A string é criada da seguinte maneira:

"ApiKey~merchantId~referenceCode~amount~currency"

Por exemplo, com os seguintes dados:

merchantId: 508029
ApiKey: 4Vj8eK4rloUd272L48hsrarnUA
referenceCode: TestPayU
amount: 20000
currency: COP
accountId: 512326
buyerEmail: test@test.com

A assinatura é:

"4Vj8eK4rloUd272L48hsrarnUA~508029~TestPayU~20000~COP"

Criptografado usando MD5:

"7ee7cf808ce6a39b17481c54f2c57acc"

Criptografado usando SHA1:

"fa890d3f94e12b5cdb62e8771453b99b78e7ccdc"

Criptografado usando SHA256:

"af3899a22336b79db46006491d15813158826f944599bf3bf601e2327f898022"

Compare a sua assinatura

Algoritmo:  

 ( ~ ~ ~ ~ )


Resultado: 

Esta calculadora permite gerar a assinatura usando qualquer um dos métodos de criptografia disponíveis.

Última modificação 24 de junho de 2022: clon issue (d73e43fe)