API de Pagamentos - Argentina
Este guia mostra como aproveitar esses serviços para melhorar a experiência de pagamento dos seus clientes, oferecendo opções de pagamento flexíveis e seguras adaptadas ao mercado local.
Nota
Para integrar a API de Pagamentos, direcione suas solicitações para as seguintes URLs de acordo com o ambiente correspondente:
- Testes:
https://sandbox.api.payulatam.com/payments-api/4.0/service.cgi
- Produção:
https://api.payulatam.com/payments-api/4.0/service.cgi
Métodos Disponíveis
A API de Pagamentos inclui os seguintes métodos:
- Enviar Transações Usando Cartões de Crédito ou Débito
- Enviar Transações Usando Dinheiro
- Consulta de Métodos de Pagamento Disponíveis
- Ping
Nota
Para confirmar o status de uma transação, você pode usar:
- Navegue até a URL definida na variável
transaction.notifyUrl
ou na opção URL de confirmação localizada no Módulo PayU em Configuração > Configuração técnica. - Use o API ou SDK de Consultas.
Enviar Transações Usando Cartões de Crédito ou Débito
Este método permite processar os pagamentos efetuados pelos seus clientes com cartões de crédito ou débito. Para a Argentina, você pode executar os fluxos de duas etapas, você pode executar os fluxos de duas etapas (Autorização, Captura) e fluxos de uma etapa (Cobrança). Para obter mais informações, consulte Fluxos de pagamento.
Usando Cartões Tokenizados
A PayU suporta pagamentos com seu cartão tokenizado, permitindo que você faça pagamentos regulares com um cartão armazenado em um token. Um token de cartão de crédito substitui as informações sensíveis de um cartão de crédito, permitindo que você as armazene com segurança em conformidade com os padrões de segurança PCI DSS (Payment Card Industry Data Security Standard).
A PayU pode processar pagamentos usando os seguintes serviços:
-
Tokenização PayU.
Oferecemos nosso próprio serviço para tokenizar seus cartões de crédito mediante solicitação. Este serviço permite tokenizar as informações dos cartões de crédito de seus clientes (independentemente de sua bandeira) usando nossa integração API ou SDK.
Para mais informações, consulte Tokenização PayU. -
MasterCard Digital Enablement Service - MDES.
Um serviço de tokenização fornecido pela Mastercard. Este serviço permite tokenizar o Número da Conta Principal dos cartões de crédito MasterCard, permitindo que você os use para pagamentos regulares ou para criar recursos de pagamento com um clique.
Para mais informações, consulte MasterCard Digital Enablement Service (MDES). -
Visa Token Service - VTS.
Um serviço de tokenização fornecido pela Visa. Este serviço permite armazenar as informações sensíveis dos cartões de crédito Visa em um token, permitindo que você os use para pagamentos regulares ou para criar recursos de pagamento com um clique.
Para mais informações, consulte Visa Token Service (VTS).
Pagar com Tokens da PayU
Para fazer pagamentos usando tokens de cartões de crédito da PayU, inclua o parâmetro transaction.creditCardTokenId
no lugar das informações do cartão de crédito.
O exemplo a seguir mostra o corpo da solicitação em um nível alto para um fluxo de um passo. Não inclui os parâmetros da solicitação.
Nota
Para processar um pagamento sem o CVV, você deve definir o parâmetrocreditCard.processWithoutCvv2
como true
na solicitação de pagamento e omitir o parâmetro creditCard.securityCode
.Por padrão, o processamento de cartões de crédito sem código de segurança não está habilitado. Para habilitar esse recurso, entre em contato com seu representante de vendas.
Exemplo de uma Solicitação:
{
"language": "es",
"command": "SUBMIT_TRANSACTION",
"merchant": {
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA",
"apiLogin": "pRRXKOl8ikMmt9u"
},
"transaction": {
"order": {
"Information of the order":""
},
"payer": {
"Information of the payer":""
},
"creditCardTokenId": "46b7f03e-1b3b-4ce8-ad90-fe1a482f76c3",
"creditCard": {
"securityCode": "123"
},
"extraParameters": {
"Extra parameters of the request":""
},
"type": "AUTHORIZATION_AND_CAPTURE",
"paymentMethod": "Card franchise",
"paymentCountry": "Processing country",
"deviceSessionId": "vghs6tvkcle931686k1900o6e1",
"ipAddress": "127.0.0.1",
"cookie": "pt1t38347bs6jc9ruv2ecpv7o2",
"userAgent": "Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0"
},
"test": true
}
Exemplo de uma Solicitação:
<request>
<language>es</language>
<command>SUBMIT_TRANSACTION</command>
<merchant>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
</merchant>
<transaction>
<order>
<!-- Information of the order -->
</order>
<payer>
<!-- Information of the payer -->
</payer>
<creditCardTokenId>46b7f03e-1b3b-4ce8-ad90-fe1a482f76c3</creditCardTokenId>
<creditCard>
<securityCode>321</securityCode>
</creditCard>
<extraParameters>
<!-- Extra parameters of the request -->
</extraParameters>
<type>AUTHORIZATION_AND_CAPTURE</type>
<paymentMethod>{Card franchise}</paymentMethod>
<paymentCountry>{Processing country}</paymentCountry>
<deviceSessionId>vghs6tvkcle931686k1900o6e1</deviceSessionId>
<ipAddress>127.0.0.1</ipAddress>
<cookie>pt1t38347bs6jc9ruv2ecpv7o2</cookie>
<userAgent>Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0</userAgent>
</transaction>
<isTest>false</isTest>
</request>
Pagar com Tokens MDES ou VTS
Se você estiver tokenizando os cartões de crédito de seus clientes usando MDES ou VTS, pode configurar as informações do token no parâmetro transaction.networkToken
, substituindo as informações do cartão de crédito, e definir o parâmetro creditCard.processWithoutCvv2
como true
.
Por padrão, o processamento de cartões de crédito sem código de segurança não está habilitado. Entre em contato com seu representante de vendas para habilitar esse recurso.
O exemplo a seguir demonstra o corpo da solicitação em um nível alto para um fluxo de um passo. Não inclui os parâmetros da solicitação.
Exemplo de uma Solicitação:
{
"language": "es",
"command": "SUBMIT_TRANSACTION",
"merchant": {
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA",
"apiLogin": "pRRXKOl8ikMmt9u"
},
"transaction": {
"order": {
"Information of the order":""
},
"payer": {
"Information of the payer":""
},
"networkToken": {
"tokenPan": "4097440000000004",
"cryptogram": "11223344556677889900112233445566778899",
"expiry": "2028/01"
},
"extraParameters": {
"Extra parameters of the request":""
},
"type": "AUTHORIZATION_AND_CAPTURE",
"paymentMethod": "Card franchise",
"paymentCountry": "Processing country",
"deviceSessionId": "vghs6tvkcle931686k1900o6e1",
"ipAddress": "127.0.0.1",
"cookie": "pt1t38347bs6jc9ruv2ecpv7o2",
"userAgent": "Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0"
},
"test": true
}
Exemplo de uma Solicitação:
<request>
<language>es</language>
<command>SUBMIT_TRANSACTION</command>
<merchant>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
</merchant>
<transaction>
<order>
<!-- Information of the order -->
</order>
<payer>
<!-- Information of the payer -->
</payer>
<networkToken>
<tokenPan>4097440000000004</tokenPan>
<cryptogram>11223344556677889900112233445566778899</cryptogram>
<expiry>2028/01</expiry>
</networkToken>
<extraParameters>
<!-- Extra parameters of the request -->
</extraParameters>
<type>AUTHORIZATION_AND_CAPTURE</type>
<paymentMethod>{Card franchise}</paymentMethod>
<paymentCountry>{Processing country}</paymentCountry>
<deviceSessionId>vghs6tvkcle931686k1900o6e1</deviceSessionId>
<ipAddress>127.0.0.1</ipAddress>
<cookie>pt1t38347bs6jc9ruv2ecpv7o2</cookie>
<userAgent>Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0</userAgent>
</transaction>
<isTest>false</isTest>
</request>
Encontre a descrição do objeto transaction.networkToken
e seus parâmetros na seção Parâmetros.
Parâmetros para Solicitação e Resposta
Solicitação
Nome do Campo | Formato | Tamanho | Descrição | Obrigatório |
---|---|---|---|---|
language | Alfanumérico | 2 | Idioma usado no pedido, usado para exibir as mensagens de erro geradas. Veja os idiomas disponíveis. | Sim |
command | Alfanumérico | Máx:32 | Definir SUBMIT_TRANSACTION . |
Sim |
test (JSON) isTest (XML) |
Boolean | Definir true se o pedido estiver em modo de teste. Caso contrário, definir false . |
Sim | |
merchant | Objeto | Este objeto contém os dados de autenticação. | Sim | |
merchant > apiLogin | Alfanumérico | Mín:12 Máx:32 | Usuário ou login fornecido pelo PayU. Como faço para obter minha API Login | Sim |
merchant > apiKey | Alfanumérico | Mín:6 Máx:32 | Senha fornecida pelo PayU. Como faço para obter minha API key | Sim |
transaction | Objeto | Este objeto contém os dados da transação. | Sim | |
transaction > order | Objeto | Este objeto contém os dados da ordem. | Sim | |
transaction > order > accountId | Número | Identificador da sua conta. | Sim | |
transaction > order > referenceCode | Alfanumérico | Mín:1 Máx:255 | Representa o identificador da ordem em seu sistema. | Sim |
transaction > order > description | Alfanumérico | Mín:1 Máx:255 | Descrição da ordem. | Sim |
transaction > order > language | Alfanumérico | 2 | Idioma usado nos e-mails enviados ao comprador e ao vendedor. | Sim |
transaction > order > notifyUrl | Alfanumérico | Máx:2048 | URL de confirmação da ordem. | Não |
transaction > order > partnerId | Alfanumérico | Máx:255 | ID de parceiro no PayU. | Não |
transaction > order > signature | Alfanumérico | Máx:255 | A assinatura associada ao formulário. Para obter mais informações, consulte Assinatura de autenticação. | Sim |
transaction > order > shippingAddress | Objeto | Endereço para envio. | Não | |
transaction > order > shippingAddress > street1 | Alfanumérico | Máx:100 | Endereço: Linha 1. | Não |
transaction > order > shippingAddress > street2 | Alfanumérico | Máx:100 | Endereço: Linha 2. | Não |
transaction > order > shippingAddress > city | Alfanumérico | Máx:50 | Endereço: cidade. | Não |
transaction > order > shippingAddress > state | Alfanumérico | Máx:40 | Endereço: estado. | Não |
transaction > order > shippingAddress > country | Alfanumérico | 2 | Endereço: país. | Não |
transaction > order > shippingAddress > postalCode | Alfanumérico | Máx:8 | Endereço: Código postal. | Não |
transaction > order > shippingAddress > phone | Alfanumérico | Máx:11 | Número de telefone associado ao endereço. | Não |
transaction > order > buyer | Objeto | Informações do comprador. | Sim | |
transaction > order > buyer > merchantBuyerId | Alfanumérico | Máx:100 | ID do comprador em seu sistema. | Não |
transaction > order > buyer > fullName | Alfanumérico | Máx:150 | Nome completo do comprador. | Sim |
transaction > order > buyer > emailAddress | Alfanumérico | Máx:255 | E-mail do comprador. | Sim |
transaction > order > buyer > contactPhone | Alfanumérico | Máx:20 | Número de telefone do comprador. | Sim |
transaction > order > buyer > dniNumber | Alfanumérico | Máx:20 | Número de identificação do comprador. | Sim |
transaction > order > buyer > shippingAddress | Alfanumérico | Endereço de envio do comprador. | Sim | |
transaction > order > buyer > shippingAddress > street1 | Alfanumérico | Máx:150 | Linha 1 do endereço de entrega do comprador. | Sim |
transaction > order > buyer > shippingAddress > city | Alfanumérico | Máx:50 | Cidade do endereço de entrega do comprador. | Sim |
transaction > order > buyer > shippingAddress > state | Alfanumérico | Máx:40 | Estado do endereço de entrega do comprador. | Sim |
transaction > order > buyer > shippingAddress > country | Alfanumérico | 2 | País do endereço do comprador no formato ISO 3166 alpha-2. | Sim |
transaction > order > buyer > shippingAddress > postalCode | Número | Máx:20 | Código postal do endereço do comprador. | Sim |
transaction > order > buyer > shippingAddress > phone | Número | Máx:20 | Número de telefone do endereço do comprador. | Sim |
transaction > order > additionalValues > | Objeto | 64 | Valor da ordem ou seus valores associados. | Sim |
transaction > order > additionalValues > TX_VALUE | Alfanumérico | 64 | Valor da transação. | Sim |
transaction > order > additionalValues > TX_VALUE > value | Número | 12, 2 | Especifica o valor da transação. Este valor pode ter duas casas decimais (por exemplo 10000.00 ou 10000 ). |
Sim |
transaction > order > additionalValues > TX_VALUE > currency | Alfanumérico | 3 | Código ISO da moeda. Veja as moedas aceitas. | Sim |
transaction > order > additionalValues > TX_TAX | Alfanumérico | 64 | Total do Imposto sobre Valor Agregado (IVA). | Sim |
transaction > order > additionalValues > TX_TAX > value | Número | 12, 2 | Especifica o valor do IVA. | Não |
transaction > order > additionalValues > TX_TAX > currency | Alfanumérico | 3 | Código ISO da moeda. Veja as moedas aceitas. | Não |
transaction > order > additionalValues > TX_TAX_RETURN_BASE | Alfanumérico | 64 | Valor base para cálculo do IVA. Se o valor não tiver IVA, envie 0. Este valor pode ter duas casas decimais. |
Não |
transaction > order > additionalValues > TX_TAX_RETURN_BASE > value | Número | 12, 2 | Especifica o valor base da transação. | Não |
transaction > order > additionalValues > TX_TAX_RETURN_BASE > currency | Alfanumérico | 3 | Código ISO da moeda. Veja as moedas aceitas. | Não |
transaction > creditCardTokenId | Alfanumérico | Incluir este parâmetro quando a transação for feita com um cartão tokenizado, no lugar das informações do cartão de crédito. Para obter mais informações, consulte API de tokenização | Não | |
transaction > creditCard | Objeto | Informações do cartão de crédito. Se você processar usando cartão de débito, não envie este parâmetro. Este objeto e seus parâmetros são obrigatórios quando o pagamento é realizado com cartão de crédito não tokenizado. |
Não | |
transaction > creditCard > number | Alfanumérico | Mín:13 Máx:20 | Número do cartão de crédito. | Não |
transaction > creditCard > securityCode | Alfanumérico | Mín:1 Máx:4 | Código de segurança do cartão de crédito (CVC2, CVV2, CID). | Não |
transaction > creditCard > expirationDate | Alfanumérico | 7 | Data de validade do cartão de crédito. Formato YYYY/MM . |
Não |
transaction > creditCard > name | Alfanumérico | Mín:1 Máx:255 | Nome do titular exibido no cartão de crédito. | Não |
transaction > creditCard > processWithoutCvv2 | Boolean | Máx:255 | Permite processar transações sem incluir o código de segurança do cartão de crédito. Sua loja precisa da autorização do PayU antes de usar este recurso. | Não |
transaction > debitCard | Objeto | Informações do cartão de débito. Este objeto e seus parâmetros são obrigatórios quando o pagamento é realizado com cartão de débito. | Não | |
transaction > debitCard > number | Alfanumérico | Mín:13 Máx:20 | Número do cartão de débito. | Não |
transaction > debitCard > securityCode | Alfanumérico | Mín:1 Máx:4 | Código de segurança do cartão de débito (CVC2, CVV2, CID). | Não |
transaction > debitCard > expirationDate | Alfanumérico | 7 | Data de validade do cartão de débito. Formato YYYY/MM . |
Não |
transaction > debitCard > name | Alfanumérico | Mín:1 Máx:255 | Nome do titular exibido no cartão de débito. | Não |
transaction > payer | Objeto | Informações do pagador. Devido à regulamentação tributária, é obrigatório o envio dos parâmetros payer.billingAddress.state e payer.dnitype . |
Sim | |
transaction > payer > emailAddress | Alfanumérico | Máx:255 | Endereço de e-mail do pagador. | Não |
transaction > payer > merchantPayerId | Alfanumérico | Máx:100 | Identificador do pagador em seu sistema. | Não |
transaction > payer > fullName | Alfanumérico | Máx:150 | Nome do pagador que deve corresponder ao nome enviado no parâmetro creditCard.name para pagamentos com cartão de crédito |
Não |
transaction > payer > billingAddress | Objeto | Endereço de cobrança. | Sim | |
transaction > payer > billingAddress > street1 | Alfanumérico | Máx:100 | Endereço de cobrança linha 1. | Não |
transaction > payer > billingAddress > street2 | Alfanumérico | Máx:100 | Endereço de cobrança linha 2. | Não |
transaction > payer > billingAddress > city | Alfanumérico | Máx:50 | Cidade do endereço de cobrança. | Não |
transaction > payer > billingAddress > state | Alfanumérico | Máx:40 | Estado do endereço de cobrança. Formato ISO 3166-2 ARG oficial. | Sim |
transaction > payer > billingAddress > country | Alfanumérico | 2 | País do endereço de cobrança no formato ISO 3166 Alpha-2. | Não |
transaction > payer > billingAddress > postalCode | Alfanumérico | Máx:20 | Código postal do endereço de cobrança. | Não |
transaction > payer > billingAddress > phone | Alfanumérico | Máx:20 | Número de telefone do endereço de cobrança. | Não |
transaction > payer > birthdate | Alfanumérico | Máx:10 | Data de nascimento do pagador. | Não |
transaction > payer > contactPhone | Alfanumérico | Máx:20 | Número de telefone do pagador. | Não |
transaction > payer > dniNumber | Alfanumérico | Máx:20 | Número de identificação do pagador. | Não |
transaction > payer > dniType | Alfanumérico | 2 | Tipo de identificação do pagador. Veja os tipos de documentos. | Sim |
transaction > type | Alfanumérico | 32 | Definir este valor de acordo com a transação que você quer:
|
Sim |
transaction > paymentMethod | Alfanumérico | 32 | Selecione um método de pagamento com cartão de crédito ou débito válido. Veja os métodos de pagamento disponíveis na Argentina. | Sim |
transaction > paymentCountry | Alfanumérico | 2 | Definir AR para a Argentina. |
Sim |
transaction > deviceSessionId | Alfanumérico | Máx:255 | Identificador da sessão do dispositivo onde o cliente faz a transação. Para obter mais informações, consulte este tópico. | Sim |
transaction > ipAddress | Alfanumérico | Máx:39 | Endereço IP do dispositivo onde o cliente faz a transação. | Sim |
transaction > cookie | Alfanumérico | Máx:255 | Cookie armazenado pelo dispositivo onde o cliente faz a transação. | Sim |
transaction > userAgent | Alfanumérico | Máx:1024 | O agente do usuário do navegador onde o cliente faz a transação. | Sim |
transaction > extraParameters | Objeto | Parâmetros ou dados adicionais associados a pedido. O tamanho máximo de cada nome extraParameters é de 64 caracteres. Em JSON, o parâmetro extraParameters segue esta estrutura: "extraParameters": { "INSTALLMENTS_NUMBER": 1 } Em XML, o parâmetro extraParameters segue esta estrutura: <extraParameters> <entry> <string>INSTALLMENTS_NUMBER</string> <string>1</string> </entry> </extraParameters> |
Não | |
transaction > threeDomainSecure | Objeto | Este objeto contém as informações do 3DS 2.0. | Não | |
transaction > threeDomainSecure > embedded | Boolean | Definir true se você deseja usar um MPI integrado para o processo de autorização. Por padrão, este valor é definido como false . |
Não | |
transaction > threeDomainSecure > eci | Número | Máx:2 | Indicador de comércio eletrônico. Valor fornecido pelos servidores de diretório mostrando a tentativa de autenticação. Este parâmetro é obrigatório quando transaction.threeDomainSecure.embedded is false e transaction.threeDomainSecure.xid for definido. |
Não |
transaction > threeDomainSecure > cavv | Alfanumérico | Máx:28 | Valor de verificação de autenticação do titular do cartão. Código do criptograma usado na autenticação da transação em Base64. Dependendo dos códigos ECI específicos estabelecidos pela rede de processamento, este valor pode ser opcional. |
Não |
transaction > threeDomainSecure > xid | Alfanumérico | Máx:28 | Código do criptograma usado na autenticação da transação em Base64. Este parâmetro é obrigatório quando transaction.threeDomainSecure.embedded é false e transaction.threeDomainSecure.eci for definido. |
Não |
transaction > threeDomainSecure > directoryServerTransactionId | Alfanumérico | Máx:36 | ID da transação gerada pelo Servidor de Diretório durante a autenticação. | Não |
Resposta
Nome do Campo | Formato | Tamanho | Descrição |
---|---|---|---|
code | Alfanumérico | O código de resposta da transação. Os valores possíveis são ERROR e SUCCESS . |
|
error | Alfanumérico | Máx:2048 | A mensagem de erro associada quando o código de resposta é ERROR . |
transactionResponse | Objeto | Os dados de resposta. | |
transactionResponse > orderId | Número | O ID de ordem gerado ou existente no PayU. | |
transactionResponse > transactionId | Alfanumérico | 36 | O identificador da transação no PayU. |
transactionResponse > state | Alfanumérico | Máx:32 | O status da transação. |
transactionResponse > responseCode | Alfanumérico | Máx:64 | O código de resposta associado ao status. |
transactionResponse > paymentNetworkResponseCode | Alfanumérico | Máx:255 | O código de resposta fornecido pela rede financeira. |
transactionResponse > paymentNetworkResponseErrorMessage | Alfanumérico | Máx:255 | A mensagem de erro fornecida pela rede financeira. |
transactionResponse > trazabilityCode | Alfanumérico | Máx:32 | O código de rastreamento fornecido pela rede financeira. |
transactionResponse > authorizationCode | Alfanumérico | Máx:12 | O código de autorização fornecido pela rede financeira. |
transactionResponse > responseMessage | Alfanumérico | Máx:2048 | Mensagem associada ao código de resposta. |
transactionResponse > operationDate | Date | Data de criação da resposta no sistema PayU. | |
transactionResponse > extraParameters | Objeto | Parâmetros ou dados adicionais associados à resposta. Em JSON, o parâmetro extraParameters segue esta estrutura: "extraParameters": { "BANK_REFERENCED_CODE": "CREDIT" } Em XML, o parâmetro extraParameters segue esta estrutura: <extraParameters> <entry> <string>BANK_REFERENCED_CODE</string> <string>CREDIT</string> </entry> </extraParameters> |
Considerações
- Para pagamentos com Promoções, envie os parâmetros
INSTALLMENTS_NUMBER
ePROMOTION_ID
com o número de parcelas selecionadas e o ID da promoção. Consultar a API de promoções para obter mais informações. - O recurso de promoções está disponível apenas para fluxos de uma etapa.
- Para pagamentos com tokens de cartão de crédito, inclua os parâmetros
transaction.creditCardTokenId
etransaction.creditCard.securityCode
(se processar com código de segurança) substituindo as informações do cartão de crédito. Para obter mais informações, consulte API de tokenização. - Para pagamentos com tokens de cartão de crédito gerados utilizando MDES ou VTS, inclua o objeto
transaction.networkToken
e seus parâmetros. - Por padrão, o processamento de cartões de crédito sem código de segurança não está habilitado. Se você deseja habilitar este recurso, entre em contato com seu representante de vendas. Depois que esse recurso for habilitado para você, envie no pedido a variável
creditCard.processWithoutCvv2
como true e remova a variávelcreditCard.securityCode
. - Ao usar cartões de crédito, leve em conta as considerações devidas às regulamentações argentinas para a página de check-out.
- Devido à regulamentação tributária, é obrigatório o envio dos parâmetros
payer.billingAddress.state
usando formato ISO 3166-2 ARG oficial epayer.dnitype
. - A variável
transaction.threeDomainSecure
não substitui as informações do cartão nem qualquer um dos campos obrigatórios da transação. Este objeto é adicional e não obrigatório. - A variável
transaction.threeDomainSecure
corresponde a um cenário passthrough onde a loja faz a autenticação por conta própria.
Autorização
Use este método para executar a etapa Autorização de um fluxo de duas etapas. Nesta etapa, você autoriza o pagamento, mas o valor não é debitado até você capturar os fundos.
A seguir estão os corpos de pedido e resposta para este tipo de transação.
Exemplo de uma Solicitação:
{
"language": "es",
"command": "SUBMIT_TRANSACTION",
"merchant": {
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA",
"apiLogin": "pRRXKOl8ikMmt9u"
},
"transaction": {
"order": {
"accountId": "512322",
"referenceCode": "PRODUCT_TEST_2021-06-10T20:25:15.868Z",
"description": "Payment test description",
"language": "es",
"signature": "1ffceb14a71948fdeaba5aef81b8e511",
"notifyUrl": "http://www.payu.com/notify",
"additionalValues": {
"TX_VALUE": {
"value": 1000,
"currency": "ARS"
}
},
"buyer": {
"merchantBuyerId": "1",
"fullName": "First name and second buyer name",
"emailAddress": "buyer_test@test.com",
"contactPhone": "7563126",
"dniNumber": "123456789",
"shippingAddress": {
"street1": "Av Centenario 837",
"street2": "5555487",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "000000",
"phone": "7563126"
}
},
"shippingAddress": {
"street1": "Av Centenario 837",
"street2": "5555487",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "0000000",
"phone": "7563126"
}
},
"payer": {
"merchantPayerId": "1",
"fullName": "First name and second payer name",
"emailAddress": "payer_test@test.com",
"contactPhone": "7563126",
"dniNumber": "5415668464654",
"billingAddress": {
"street1": "Av Centenario 837",
"street2": "125544",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "000000",
"phone": "7563126"
}
},
"creditCard": {
"number": "4097440000000004",
"securityCode": "777",
"expirationDate": "2022/12",
"name": "APPROVED"
},
"extraParameters": {
"INSTALLMENTS_NUMBER": 1
},
"type": "AUTHORIZATION",
"paymentMethod": "VISA",
"paymentCountry": "AR",
"deviceSessionId": "vghs6tvkcle931686k1900o6e1",
"ipAddress": "127.0.0.1",
"cookie": "pt1t38347bs6jc9ruv2ecpv7o2",
"userAgent": "Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0"
},
"test": false
}
Exemplo de uma Resposta:
{
"code": "SUCCESS",
"error": null,
"transactionResponse": {
"orderId": 1400421560,
"transactionId": "db9d9d7f-b62c-4ed2-a3b9-d146d33bdaf5",
"state": "APPROVED",
"paymentNetworkResponseCode": "0",
"paymentNetworkResponseErrorMessage": null,
"trazabilityCode": "db9d9d7f-b62c-4ed2-a3b9-d146d33bdaf5",
"authorizationCode": "NPS-011111",
"pendingReason": null,
"responseCode": "APPROVED",
"errorCode": null,
"responseMessage": "APROBADA - Autorizada",
"transactionDate": null,
"transactionTime": null,
"operationDate": 1623338717949,
"referenceQuestionnaire": null,
"extraParameters": {
"BANK_REFERENCED_CODE": "CREDIT"
},
"additionalInfo": null
}
}
Exemplo de uma Solicitação:
<request>
<language>es</language>
<command>SUBMIT_TRANSACTION</command>
<merchant>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
</merchant>
<transaction>
<order>
<accountId>512322</accountId>
<referenceCode>PRODUCT_TEST_2021-06-10T20:48:38.620Z</referenceCode>
<description>Payment test description</description>
<language>es</language>
<signature>52b975674c6b1435c81dde6b8e039730</signature>
<notifyUrl>http://www.payu.com/notify</notifyUrl>
<additionalValues>
<entry>
<string>TX_VALUE</string>
<additionalValue>
<value>1000</value>
<currency>ARS</currency>
</additionalValue>
</entry>
</additionalValues>
<buyer>
<merchantBuyerId>1</merchantBuyerId>
<fullName>First name and second buyer name</fullName>
<emailAddress>buyer_test@test.com</emailAddress>
<contactPhone>7563126</contactPhone>
<dniNumber>123456789</dniNumber>
<shippingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>000000</postalCode>
<phone>7563126</phone>
</shippingAddress>
</buyer>
<shippingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>0000000</postalCode>
<phone>7563126</phone>
</shippingAddress>
</order>
<payer>
<merchantPayerId>1</merchantPayerId>
<fullName>First name and second payer name</fullName>
<emailAddress>payer_test@test.com</emailAddress>
<contactPhone>7563126</contactPhone>
<dniNumber>5415668464654</dniNumber>
<billingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>000000</postalCode>
<phone>7563126</phone>
</billingAddress>
</payer>
<creditCard>
<number>4097440000000004</number>
<securityCode>777</securityCode>
<expirationDate>2022/12</expirationDate>
<name>APPROVED</name>
</creditCard>
<extraParameters>
<entry>
<string>INSTALLMENTS_NUMBER</string>
<string>1</string>
</entry>
</extraParameters>
<type>AUTHORIZATION</type>
<paymentMethod>VISA</paymentMethod>
<paymentCountry>AR</paymentCountry>
<deviceSessionId>vghs6tvkcle931686k1900o6e1</deviceSessionId>
<ipAddress>127.0.0.1</ipAddress>
<cookie>pt1t38347bs6jc9ruv2ecpv7o2</cookie>
<userAgent>Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0</userAgent>
</transaction>
<isTest>false</isTest>
</request>
Exemplo de uma Resposta:
<paymentResponse>
<code>SUCCESS</code>
<transactionResponse>
<orderId>1400421621</orderId>
<transactionId>dd76e186-e4f1-487c-826b-df4e9b125bfa</transactionId>
<state>APPROVED</state>
<paymentNetworkResponseCode>0</paymentNetworkResponseCode>
<trazabilityCode>dd76e186-e4f1-487c-826b-df4e9b125bfa</trazabilityCode>
<authorizationCode>NPS-011111</authorizationCode>
<responseCode>APPROVED</responseCode>
<responseMessage>APROBADA - Autorizada</responseMessage>
<operationDate>2021-06-10T10:48:40</operationDate>
<extraParameters>
<entry>
<string>BANK_REFERENCED_CODE</string>
<string>CREDIT</string>
</entry>
</extraParameters>
</transactionResponse>
</paymentResponse>
Captura
Use este método para executar a etapa Captura de um fluxo de duas etapas. Nesta etapa, você captura os fundos Autorizados anteriormente para transferi-los para sua conta PayU.
Considerações
Leve em conta as seguintes informações para captura:
- O tempo máximo para capturar uma transação aprovada é de 14 dias. Após este período, a transação é automaticamente cancelada.
- Apenas os parâmetros exibidos no corpo da solicitação são obrigatórios para invocar uma transação de Captura. Lembre-se de que os IDs da ordem e da transação devem corresponder a uma transação atualmente autorizada.
- Você pode realizar capturas parciais sobre um valor autorizado. Para mais informações, consulte a seção Captura Parcial.
A seguir estão os corpos de pedido e resposta para este tipo de transação.
Exemplo de uma Solicitação:
{
"language": "es",
"command": "SUBMIT_TRANSACTION",
"merchant": {
"apiLogin": "pRRXKOl8ikMmt9u",
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
},
"transaction": {
"order": {
"id": "1400421560"
},
"type": "CAPTURE",
"parentTransactionId": "db9d9d7f-b62c-4ed2-a3b9-d146d33bdaf5"
},
"test": false
}
Exemplo de uma Resposta:
{
"code": "SUCCESS",
"error": null,
"transactionResponse": {
"orderId": 1400421560,
"transactionId": "84ace270-d52d-4e85-b4cf-bbe8710db0d5",
"state": "APPROVED",
"paymentNetworkResponseCode": "0",
"paymentNetworkResponseErrorMessage": null,
"trazabilityCode": "84ace270-d52d-4e85-b4cf-bbe8710db0d5",
"authorizationCode": "NPS-011111",
"pendingReason": null,
"responseCode": "APPROVED",
"errorCode": null,
"responseMessage": "APROBADA - Autorizada",
"transactionDate": null,
"transactionTime": null,
"operationDate": 1623339599368,
"referenceQuestionnaire": null,
"extraParameters": null,
"additionalInfo": null
}
}
Exemplo de uma Solicitação:
<request>
<language>es</language>
<command>SUBMIT_TRANSACTION</command>
<merchant>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
</merchant>
<transaction>
<order>
<id>1400421560</id>
</order>
<type>CAPTURE</type>
<parentTransactionId>db9d9d7f-b62c-4ed2-a3b9-d146d33bdaf5</parentTransactionId>
</transaction>
<isTest>false</isTest>
</request>
Exemplo de uma Resposta:
<paymentResponse>
<code>SUCCESS</code>
<transactionResponse>
<orderId>1400421560</orderId>
<transactionId>4522f4ac-4ff2-4e91-aa6c-7f2c2bf18d9d</transactionId>
<state>DECLINED</state>
<paymentNetworkResponseErrorMessage>El saldo disponible no es suficiente para procesar la transacción.</paymentNetworkResponseErrorMessage>
<responseCode>INVALID_TRANSACTION</responseCode>
<operationDate>2021-06-10T10:55:46</operationDate>
</transactionResponse>
</paymentResponse>
Captura Parcial
Uma captura parcial é uma operação que permite solicitar o desembolso de um valor menor do que o previamente autorizado em uma transação.
Isso significa que, se sua integração inicialmente autorizou um pagamento de $100, você pode realizar uma captura parcial de $60 e liberar os $40 restantes, que a integração não poderá capturar posteriormente.
Considerações
- O valor total capturado não pode exceder o valor originalmente autorizado.
- Cada processador de pagamento e cada país podem ter regras ou restrições em relação ao valor que você pode capturar parcialmente.
- Você deve especificar o valor que deseja capturar parcialmente no campo
value
, dentro do parâmetroTX_VALUE
, como mostrado no exemplo abaixo.
A seguir estão exemplos dos corpos de solicitação e resposta para este tipo de transação.
Exemplo de uma Solicitação:
{
"language": "es",
"command": "SUBMIT_TRANSACTION",
"merchant": {
"apiLogin": "pRRXKOl8ikMmt9u",
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
},
"transaction": {
"order": {
"id": "2152525133"
},
"additionalValues": {
"TX_VALUE": {
"value": 25,
"currency": "ARS"
}
},
"type": "CAPTURE",
"parentTransactionId": "4b6adba7-e43b-45f8-88a6-d290755d6c04"
},
"test": false
}
Exemplo de uma Resposta:
{
"code": "SUCCESS",
"error": null,
"transactionResponse": {
"orderId": 2152543423,
"transactionId": "6f523681-1587-4a2d-8a15-605d27f89c26",
"state": "APPROVED",
"paymentNetworkResponseCode": "0",
"paymentNetworkResponseErrorMessage": null,
"trazabilityCode": "6f523681-1587-4a2d-8a15-605d27f89c26",
"authorizationCode": "NPS-011111",
"pendingReason": null,
"responseCode": "APPROVED",
"errorCode": null,
"responseMessage": "APROBADA - Autorizada",
"transactionDate": null,
"transactionTime": null,
"operationDate": 1723724052207,
"referenceQuestionnaire": null,
"extraParameters": null,
"additionalInfo": {
"paymentNetwork": "NPS_AR",
"rejectionType": "NONE",
"responseNetworkMessage": null,
"travelAgencyAuthorizationCode": null,
"cardType": null,
"transactionType": "CAPTURE"
}
}
}
Exemplo de uma Solicitação:
<request>
<language>es</language>
<command>SUBMIT_TRANSACTION</command>
<merchant>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
</merchant>
<transaction>
<order>
<id>2152525133</id>
</order>
<additionalValues>
<TX_VALUE>
<value>25</value>
<currency>ARS</currency>
</TX_VALUE>
</additionalValues>
<type>CAPTURE</type>
<parentTransactionId>4b6adba7-e43b-45f8-88a6-d290755d6c04</parentTransactionId>
</transaction>
<test>false</test>
</request>
Exemplo de uma Resposta:
<response>
<code>SUCCESS</code>
<error />
<transactionResponse>
<orderId>2152543423</orderId>
<transactionId>6f523681-1587-4a2d-8a15-605d27f89c26</transactionId>
<state>APPROVED</state>
<paymentNetworkResponseCode>0</paymentNetworkResponseCode>
<paymentNetworkResponseErrorMessage />
<trazabilityCode>6f523681-1587-4a2d-8a15-605d27f89c26</trazabilityCode>
<authorizationCode>NPS-011111</authorizationCode>
<pendingReason />
<responseCode>APPROVED</responseCode>
<errorCode />
<responseMessage>APROBADA - Autorizada</responseMessage>
<transactionDate />
<transactionTime />
<operationDate>1723724052207</operationDate>
<referenceQuestionnaire />
<extraParameters />
<additionalInfo>
<paymentNetwork>NPS_AR</paymentNetwork>
<rejectionType>NONE</rejectionType>
<responseNetworkMessage />
<travelAgencyAuthorizationCode />
<cardType />
<transactionType>CAPTURE</transactionType>
</additionalInfo>
</transactionResponse>
</response>
Cobrança
Use este método para executar um fluxo de uma etapa, ou seja, uma cobrança. Neste momento, as duas etapas do fluxo são combinadas em uma só transação, e os fundos são transferidos da conta do cliente para sua conta PayU, uma vez que tenham sido aprovados.
A seguir estão os corpos de pedido e resposta para este tipo de transação.
Exemplo de uma Solicitação:
{
"language": "es",
"command": "SUBMIT_TRANSACTION",
"merchant": {
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA",
"apiLogin": "pRRXKOl8ikMmt9u"
},
"transaction": {
"order": {
"accountId": "512322",
"referenceCode": "PRODUCT_TEST_2021-06-10T22:29:35.451Z",
"description": "Payment test description",
"language": "es",
"signature": "70f33e263fbcdf18103101dfc86671ab",
"notifyUrl": "http://www.payu.com/notify",
"additionalValues": {
"TX_VALUE": {
"value": 1000,
"currency": "ARS"
}
},
"buyer": {
"merchantBuyerId": "1",
"fullName": "First name and second buyer name",
"emailAddress": "buyer_test@test.com",
"contactPhone": "7563126",
"dniNumber": "123456789",
"shippingAddress": {
"street1": "Av Centenario 837",
"street2": "5555487",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "000000",
"phone": "7563126"
}
},
"shippingAddress": {
"street1": "Av Centenario 837",
"street2": "5555487",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "0000000",
"phone": "7563126"
}
},
"payer": {
"merchantPayerId": "1",
"fullName": "First name and second payer name",
"emailAddress": "payer_test@test.com",
"contactPhone": "7563126",
"dniNumber": "5415668464654",
"billingAddress": {
"street1": "Av Centenario 837",
"street2": "5555487",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "000000",
"phone": "7563126"
}
},
"creditCard": {
"number": "4850110000000000",
"securityCode": "777",
"expirationDate": "2022/12",
"name": "APPROVED"
},
"extraParameters": {
"INSTALLMENTS_NUMBER": 1
},
"type": "AUTHORIZATION_AND_CAPTURE",
"paymentMethod": "VISA",
"paymentCountry": "AR",
"deviceSessionId": "vghs6tvkcle931686k1900o6e1",
"ipAddress": "127.0.0.1",
"cookie": "pt1t38347bs6jc9ruv2ecpv7o2",
"userAgent": "Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0"
},
"test": false
}
Exemplo de uma Resposta:
{
"code": "SUCCESS",
"error": null,
"transactionResponse": {
"orderId": 1400421870,
"transactionId": "fc7e5dce-0b69-4865-b7c3-acb0170c1729",
"state": "APPROVED",
"paymentNetworkResponseCode": "0",
"paymentNetworkResponseErrorMessage": null,
"trazabilityCode": "fc7e5dce-0b69-4865-b7c3-acb0170c1729",
"authorizationCode": "NPS-011111",
"pendingReason": null,
"responseCode": "APPROVED",
"errorCode": null,
"responseMessage": "APROBADA - Autorizada",
"transactionDate": null,
"transactionTime": null,
"operationDate": 1623346177300,
"referenceQuestionnaire": null,
"extraParameters": {
"BANK_REFERENCED_CODE": "CREDIT"
},
"additionalInfo": null
}
}
Exemplo de uma Solicitação:
<request>
<language>es</language>
<command>SUBMIT_TRANSACTION</command>
<merchant>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
</merchant>
<transaction>
<order>
<accountId>512322</accountId>
<referenceCode>PRODUCT_TEST_2021-06-10T20:48:38.620Z</referenceCode>
<description>Payment test description</description>
<language>es</language>
<signature>52b975674c6b1435c81dde6b8e039730</signature>
<notifyUrl>http://www.payu.com/notify</notifyUrl>
<additionalValues>
<entry>
<string>TX_VALUE</string>
<additionalValue>
<value>1000</value>
<currency>ARS</currency>
</additionalValue>
</entry>
</additionalValues>
<buyer>
<merchantBuyerId>1</merchantBuyerId>
<fullName>First name and second buyer name</fullName>
<emailAddress>buyer_test@test.com</emailAddress>
<contactPhone>7563126</contactPhone>
<dniNumber>123456789</dniNumber>
<shippingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>000000</postalCode>
<phone>7563126</phone>
</shippingAddress>
</buyer>
<shippingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>0000000</postalCode>
<phone>7563126</phone>
</shippingAddress>
</order>
<payer>
<merchantPayerId>1</merchantPayerId>
<fullName>First name and second payer name</fullName>
<emailAddress>payer_test@test.com</emailAddress>
<contactPhone>7563126</contactPhone>
<dniNumber>5415668464654</dniNumber>
<billingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>000000</postalCode>
<phone>7563126</phone>
</billingAddress>
</payer>
<creditCard>
<number>4850110000000000</number>
<securityCode>777</securityCode>
<expirationDate>2022/12</expirationDate>
<name>APPROVED</name>
</creditCard>
<extraParameters>
<entry>
<string>INSTALLMENTS_NUMBER</string>
<string>1</string>
</entry>
</extraParameters>
<type>AUTHORIZATION_AND_CAPTURE</type>
<paymentMethod>VISA</paymentMethod>
<paymentCountry>AR</paymentCountry>
<deviceSessionId>vghs6tvkcle931686k1900o6e1</deviceSessionId>
<ipAddress>127.0.0.1</ipAddress>
<cookie>pt1t38347bs6jc9ruv2ecpv7o2</cookie>
<userAgent>Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0</userAgent>
</transaction>
<isTest>false</isTest>
</request>
Exemplo de uma Resposta:
<paymentResponse>
<code>SUCCESS</code>
<transactionResponse>
<orderId>1400421894</orderId>
<transactionId>fc588a85-3122-4e4e-b958-a03d48b7438f</transactionId>
<state>APPROVED</state>
<paymentNetworkResponseCode>0</paymentNetworkResponseCode>
<trazabilityCode>fc588a85-3122-4e4e-b958-a03d48b7438f</trazabilityCode>
<authorizationCode>NPS-011111</authorizationCode>
<responseCode>APPROVED</responseCode>
<responseMessage>APROBADA - Autorizada</responseMessage>
<operationDate>2021-06-10T12:41:15</operationDate>
<extraParameters>
<entry>
<string>BANK_REFERENCED_CODE</string>
<string>CREDIT</string>
</entry>
</extraParameters>
</transactionResponse>
</paymentResponse>
Parcelas
Ao processar transações com cartões de crédito, você precisa mostrar os seguintes aspectos ao seu cliente quando programar as parcelas:
Onde:
Número na tela | Opção | Descrição |
---|---|---|
1 | Total da compra (1) | Valor total da compra sem financiamento. |
2 | Total da compra (2) | Valor total financiado da compra. |
3 | Parcelas | Quantidade de parcelas e valor. |
4 | TEA | A Taxa de Juros Efetiva Anual (TEA) aplicada. |
5 | CFT | O Custo Financeiro Total (CFT). |
A informação do custo financeiro total (CFT) deve obedecer às seguintes orientações:
-
Deve estar localizado ao lado das variáveis reportadas.
-
Deve ser colorida, em destaque, com a mesma fonte e tamanho, pelo menos cinco vezes maior que a utilizada para informar a Taxa de Juros Efetiva Anual (TEA), o número de parcelas e seu valor.
De acordo com os regulamentos em vigor, não é permitido usar a frase “sem juros” (em espanhol, “sin interés”) ou qualquer outra frase semelhante, quando o custo financeiro do produto ou serviço é transferido para o preço de venda do cliente.
Enviar Transações Usando Dinheiro
Este método permite processar os pagamentos de seus clientes em dinheiro. Para integrar com transações em dinheiro, você deve redirecionar o cliente para a URL encontrada na resposta do método; Seu cliente verá um recibo de pagamento como este.
Parâmetros para Solicitação e Resposta
Solicitação
Nome do Campo | Formato | Tamanho | Descrição | Obrigatório |
---|---|---|---|---|
language | Alfanumérico | 2 | Idioma usado no pedido, usado para exibir as mensagens de erro geradas. Veja os idiomas disponíveis. | Sim |
command | Alfanumérico | Máx:32 | Definir SUBMIT_TRANSACTION . |
Sim |
test (JSON) isTest (XML) |
Boolean | Definir true se o pedido estiver em modo de teste. Caso contrário, definir false . |
Sim | |
merchant | Objeto | Este objeto contém os dados de autenticação. | Sim | |
merchant > apiLogin | Alfanumérico | Mín:12 Máx:32 | Usuário ou login fornecido pelo PayU. Como faço para obter minha API Login | Sim |
merchant > apiKey | Alfanumérico | Mín:6 Máx:32 | Senha fornecida pelo PayU. Como faço para obter minha API key | Sim |
transaction | Objeto | Este objeto contém os dados da transação. | Sim | |
transaction > order | Objeto | Este objeto contém os dados da ordem. | Sim | |
transaction > order > accountId | Número | Identificador da sua conta. | Sim | |
transaction > order > referenceCode | Alfanumérico | Mín:1 Máx:255 | Representa o identificador da ordem em seu sistema. | Sim |
transaction > order > description | Alfanumérico | Mín:1 Máx:255 | Descrição da ordem. | Sim |
transaction > order > language | Alfanumérico | 2 | Idioma usado nos e-mails enviados ao comprador e ao vendedor. | Sim |
transaction > order > notifyUrl | Alfanumérico | Máx:2048 | URL de confirmação da ordem. | Não |
transaction > order > partnerId | Alfanumérico | Máx:255 | ID de parceiro no PayU. | Não |
transaction > order > signature | Alfanumérico | Máx:255 | A assinatura associada ao formulário. Para obter mais informações, consulte Assinatura de autenticação. | Sim |
transaction > order > shippingAddress | Objeto | Endereço para envio. | Não | |
transaction > order > shippingAddress > street1 | Alfanumérico | Máx:100 | Endereço: Linha 1. | Não |
transaction > order > shippingAddress > street2 | Alfanumérico | Máx:100 | Endereço: Linha 2. | Não |
transaction > order > shippingAddress > city | Alfanumérico | Máx:50 | Endereço: cidade. | Não |
transaction > order > shippingAddress > state | Alfanumérico | Máx:40 | Endereço: estado. | Não |
transaction > order > shippingAddress > country | Alfanumérico | 2 | Endereço: país. | Não |
transaction > order > shippingAddress > postalCode | Alfanumérico | Máx:8 | Endereço: Código postal. | Não |
transaction > order > shippingAddress > phone | Alfanumérico | Máx:11 | Número de telefone associado ao endereço. | Não |
transaction > order > buyer | Objeto | Informações do comprador. | Sim | |
transaction > order > buyer > merchantBuyerId | Alfanumérico | Máx:100 | ID do comprador em seu sistema. | Não |
transaction > order > buyer > fullName | Alfanumérico | Máx:150 | Nome completo do comprador. | Sim |
transaction > order > buyer > emailAddress | Alfanumérico | Máx:255 | E-mail do comprador. | Sim |
transaction > order > buyer > contactPhone | Alfanumérico | Máx:20 | Número de telefone do comprador. | Sim |
transaction > order > buyer > dniNumber | Alfanumérico | Máx:20 | Número de identificação do comprador. | Sim |
transaction > order > buyer > shippingAddress | Alfanumérico | Endereço de envio do comprador. | Sim | |
transaction > order > buyer > shippingAddress > street1 | Alfanumérico | Máx:150 | Linha 1 do endereço de entrega do comprador. | Sim |
transaction > order > buyer > shippingAddress > city | Alfanumérico | Máx:50 | Cidade do endereço de entrega do comprador. | Sim |
transaction > order > buyer > shippingAddress > state | Alfanumérico | Máx:40 | Estado do endereço de entrega do comprador. | Sim |
transaction > order > buyer > shippingAddress > country | Alfanumérico | 2 | País do endereço do comprador no formato ISO 3166 alpha-2. | Sim |
transaction > order > buyer > shippingAddress > postalCode | Número | Máx:20 | Código postal do endereço do comprador. | Sim |
transaction > order > buyer > shippingAddress > phone | Número | Máx:20 | Número de telefone do endereço do comprador. | Sim |
transaction > order > additionalValues > | Objeto | 64 | Valor da ordem ou seus valores associados. | Sim |
transaction > order > additionalValues > TX_VALUE | Alfanumérico | 64 | Valor da transação. | Sim |
transaction > order > additionalValues > TX_VALUE > value | Número | 12, 2 | Especifica o valor da transação. Este valor pode ter duas casas decimais (por exemplo 10000.00 ou 10000 ). |
Sim |
transaction > order > additionalValues > TX_VALUE > currency | Alfanumérico | 3 | Código ISO da moeda. Veja as moedas aceitas. | Sim |
transaction > order > additionalValues > TX_TAX | Alfanumérico | 64 | Total do Imposto sobre Valor Agregado (IVA). | Sim |
transaction > order > additionalValues > TX_TAX > value | Número | 12, 2 | Especifica o valor do IVA. | Não |
transaction > order > additionalValues > TX_TAX > currency | Alfanumérico | 3 | Código ISO da moeda. Veja as moedas aceitas. | Não |
transaction > order > additionalValues > TX_TAX_RETURN_BASE | Alfanumérico | 64 | Valor base para cálculo do VAT. Se o valor não tiver IVA, envie 0. Este valor pode ter duas casas decimais. |
Não |
transaction > order > additionalValues > TX_TAX_RETURN_BASE > value | Número | 12, 2 | Especifica o valor base da transação. | Não |
transaction > order > additionalValues > TX_TAX_RETURN_BASE > currency | Alfanumérico | 3 | Código ISO da moeda. Veja as moedas aceitas. | Não |
transaction > payer | Objeto | Informações do pagador. | Sim | |
transaction > payer > emailAddress | Alfanumérico | Máx:255 | Endereço de e-mail do pagador. | Sim |
transaction > payer > merchantPayerId | Alfanumérico | Máx:100 | Identificador do pagador em seu sistema. | Não |
transaction > payer > fullName | Alfanumérico | Máx:150 | Nome of the payer. | Sim |
transaction > payer > billingAddress | Objeto | Endereço de cobrança. | Sim | |
transaction > payer > billingAddress > street1 | Alfanumérico | Máx:100 | Endereço de cobrança linha 1. | Sim |
transaction > payer > billingAddress > street2 | Alfanumérico | Máx:100 | Endereço de cobrança linha 2. | Não |
transaction > payer > billingAddress > city | Alfanumérico | Máx:50 | Cidade do endereço de cobrança. | Sim |
transaction > payer > billingAddress > state | Alfanumérico | Máx:40 | Estado do endereço de cobrança. | Sim |
transaction > payer > billingAddress > country | Alfanumérico | 2 | País do endereço de cobrança no formato ISO 3166 Alpha-2. | Sim |
transaction > payer > billingAddress > postalCode | Alfanumérico | Máx:20 | Código postal do endereço de cobrança. | Não |
transaction > payer > billingAddress > phone | Alfanumérico | Máx:20 | Número de telefone do endereço de cobrança. | Não |
transaction > payer > birthdate | Alfanumérico | Máx:10 | Data de nascimento do pagador. | Não |
transaction > payer > contactPhone | Alfanumérico | Máx:20 | Número de telefone do pagador. | Sim |
transaction > payer > dniNumber | Alfanumérico | Máx:20 | Número de identificação do pagador. | Sim |
transaction > payer > dniType | Alfanumérico | 2 | Tipo de identificação do pagador. Veja os tipos de documentos. | Não |
transaction > type | Alfanumérico | 32 | Como os pagamentos em dinheiro são feitos em escritórios físicos, o único tipo de transação disponível é AUTHORIZATION_AND_CAPTURE |
Sim |
transaction > paymentMethod | Alfanumérico | 32 | Selecione um método de pagamento válido em dinheiro. Veja os métodos de pagamento disponíveis na Argentina. | Sim |
transaction > paymentCountry | Alfanumérico | 2 | Definir AR para a Argentina. |
Sim |
transaction > expirationDate | Alfanumérico | 23 | Data e hora máximas que o pagador tem para efetuar o pagamento. Formato YYYY-MM-DDTHH:MM:SS , por exemplo 2021-06-12T16:07:11.586 . |
Não |
transaction > ipAddress | Alfanumérico | Máx:39 | Endereço IP do dispositivo onde o cliente faz a transação. | Sim |
Resposta
Nome do Campo | Formato | Tamanho | Descrição |
---|---|---|---|
code | Alfanumérico | O código de resposta da transação. Os valores possíveis são ERROR e SUCCESS . |
|
error | Alfanumérico | Máx:2048 | A mensagem de erro associada quando o código de resposta é ERROR . |
transactionResponse | Objeto | Os dados de resposta. | |
transactionResponse > orderId | Número | O ID de ordem gerado ou existente no PayU. | |
transactionResponse > transactionId | Alfanumérico | 36 | O identificador da transação no PayU. |
transactionResponse > state | Alfanumérico | Máx:32 | O status da transação. As the payment is performed by the user in a physical office, the state for a successful transaction is PENDING |
transactionResponse > paymentNetworkResponseCode | Alfanumérico | Máx:255 | O código de resposta fornecido pela rede financeira. |
transactionResponse > paymentNetworkResponseErrorMessage | Alfanumérico | Máx:255 | A mensagem de erro fornecida pela rede financeira. |
transactionResponse > trazabilityCode | Alfanumérico | Máx:32 | O código de rastreamento fornecido pela rede financeira. |
transactionResponse > authorizationCode | Alfanumérico | Máx:12 | O código de autorização fornecido pela rede financeira. |
transactionResponse > pendingReason | Alfanumérico | Máx:21 | O código de resposta associado ao status, conforme mencionado em transactionResponse > state , a transação está aguardando o pagamento. |
transactionResponse > responseCode | Alfanumérico | Máx:64 | O código de resposta associado ao status. Neste caso, para transações bem-sucedidas é PENDING_TRANSACTION_CONFIRMATION . |
transactionResponse > responseMessage | Alfanumérico | Máx:2048 | Mensagem associada ao código de resposta. |
transactionResponse > operationDate | Date | Data de criação da resposta no sistema PayU. | |
transactionResponse > extraParameters | Objeto | Parâmetros ou dados adicionais associados à resposta. Em JSON, o parâmetro extraParameters segue esta estrutura: "extraParameters": { "REFERENCE": "74794" } Em XML, o parâmetro extraParameters segue esta estrutura: <extraParameters> <entry> <string>REFERENCE</string> <int>74794</int> </entry> </extraParameters> |
Considerações
- O parâmetro
transaction.expirationDate
não é obrigatórionão é obrigatório. Se você não enviar este parâmetro, seu valor padrão será de 15 dias após a data atual.
Se você enviar uma data posterior ao número de dias padrão, PayU ignorará esse valor e o vencimento será definido como padrão. - O parâmetro
transactionResponse.extraParameters
tem os seguintes parâmetros relacionados à transação:- REFERENCE: referência interna de pagamento gerada pelo PayU.
- EXPIRATION_DATE: prazo máximo para o pagador fazer o pagamento.
- BAR_CODE: código de barras que permite ao pagador efetuar o pagamento.
- URL_PAYMENT_RECEIPT_HTML: comprovante de pagamento em formato HTML. É para cá que você precisa redirecionar o pagamento quando o pagador seleciona o pagamento em dinheiro.
- URL_PAYMENT_RECEIPT_PDF: comprovante de pagamento em formato PDF.
Chamada de API
A seguir estão o corpo do pedido e da resposta deste meio de pagamento.
Exemplo de uma Solicitação:
{
"language": "es",
"command": "SUBMIT_TRANSACTION",
"merchant": {
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA",
"apiLogin": "pRRXKOl8ikMmt9u"
},
"transaction": {
"order": {
"accountId": "512322",
"referenceCode": "PRODUCT_TEST_2021-06-10T20:25:15.868Z",
"description": "Payment test description",
"language": "es",
"signature": "1ffceb14a71948fdeaba5aef81b8e511",
"notifyUrl": "http://www.payu.com/notify",
"additionalValues": {
"TX_VALUE": {
"value": 1000,
"currency": "ARS"
}
},
"buyer": {
"merchantBuyerId": "1",
"fullName": "First name and second buyer name",
"emailAddress": "buyer_test@test.com",
"contactPhone": "7563126",
"dniNumber": "5415668464654",
"shippingAddress": {
"street1": "Av Centenario 837",
"street2": "5555487",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "000000",
"phone": "7563126"
}
},
"shippingAddress": {
"street1": "Av Centenario 837",
"street2": "5555487",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "0000000",
"phone": "7563126"
}
},
"payer": {
"merchantPayerId": "1",
"fullName": "First name and second payer name",
"emailAddress": "payer_test@test.com",
"contactPhone": "7563126",
"dniNumber": "5415668464654",
"billingAddress": {
"street1": "Av Centenario 837",
"street2": "125544",
"city": "San Isidro",
"state": "AR-B",
"country": "AR",
"postalCode": "000000",
"phone": "7563126"
}
},
"type": "AUTHORIZATION_AND_CAPTURE",
"paymentMethod": "PAGOFACIL",
"expirationDate": "2021-06-12T16:07:11",
"paymentCountry": "AR",
"ipAddress": "127.0.0.1"
},
"test": false
}
Exemplo de uma Resposta:
{
"code": "SUCCESS",
"error": null,
"transactionResponse": {
"orderId": 857787128,
"transactionId": "702ee8a1-d99c-43cc-a097-167db0d7ff1a",
"state": "PENDING",
"paymentNetworkResponseCode": null,
"paymentNetworkResponseErrorMessage": null,
"trazabilityCode": null,
"authorizationCode": null,
"pendingReason": "AWAITING_NOTIFICATION",
"responseCode": "PENDING_TRANSACTION_CONFIRMATION",
"errorCode": null,
"responseMessage": null,
"transactionDate": null,
"transactionTime": null,
"operationDate": null,
"referenceQuestionnaire": null,
"extraParameters": {
"REFERENCE": 74794,
"URL_PAYMENT_RECEIPT_PDF": "https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu/receipt?vid=857787128Y702ee8a1d99c43cY5769b4d7b64fa1e",
"EXPIRATION_DATE": 1623514031586,
"BAR_CODE": "99580010000074794000000000000000000001206211107000010000083",
"URL_PAYMENT_RECEIPT_HTML": "https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu/app?vid=857787128Y702ee8a1d99c43cY5769b4d7b64fa1e"
},
"additionalInfo": null
}
}
Exemplo de uma Solicitação:
<request>
<language>es</language>
<command>SUBMIT_TRANSACTION</command>
<merchant>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
</merchant>
<transaction>
<order>
<accountId>512322</accountId>
<referenceCode>PRODUCT_TEST_2021-06-15T14:40:25.549Z</referenceCode>
<description>Payment test description</description>
<language>es</language>
<signature>1ffceb14a71948fdeaba5aef81b8e511</signature>
<notifyUrl>http://www.payu.com/notify</notifyUrl>
<additionalValues>
<entry>
<string>TX_VALUE</string>
<additionalValue>
<value>1000</value>
<currency>ARS</currency>
</additionalValue>
</entry>
</additionalValues>
<buyer>
<contactPhone>7563126</contactPhone>
<dniNumber>5415668464654</dniNumber>
<emailAddress>buyer_test@test.com</emailAddress>
<fullName>First name and second buyer name</fullName>
<merchantBuyerId>1</merchantBuyerId>
<shippingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>000000</postalCode>
<phone>7563126</phone>
</shippingAddress>
</buyer>
<shippingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>000000</postalCode>
<phone>7563126</phone>
</shippingAddress>
</order>
<payer>
<billingAddress>
<street1>Av Centenario 837</street1>
<street2>5555487</street2>
<city>San Isidro</city>
<state>AR-B</state>
<country>AR</country>
<postalCode>000000</postalCode>
<phone>7563126</phone>
</billingAddress>
<contactPhone>7563126</contactPhone>
<dniNumber>5415668464654</dniNumber>
<emailAddress>payer_test@test.com</emailAddress>
<fullName>First name and second payer name</fullName>
<merchantPayerId>1</merchantPayerId>
</payer>
<type>AUTHORIZATION_AND_CAPTURE</type>
<paymentMethod>PAGOFACIL</paymentMethod>
<expirationDate>2021-06-16T16:07:11</expirationDate>
<paymentCountry>AR</paymentCountry>
<ipAddress>127.0.0.1</ipAddress>
</transaction>
<isTest>false</isTest>
</request>
Exemplo de uma Resposta:
<paymentResponse>
<code>SUCCESS</code>
<transactionResponse>
<orderId>857792249</orderId>
<transactionId>96a2e817-e26a-456b-85d4-28df8c3a584e</transactionId>
<state>PENDING</state>
<pendingReason>AWAITING_NOTIFICATION</pendingReason>
<responseCode>PENDING_TRANSACTION_CONFIRMATION</responseCode>
<extraParameters>
<entry>
<string>REFERENCE</string>
<int>75017</int>
</entry>
<entry>
<string>URL_PAYMENT_RECEIPT_PDF</string>
<string>https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu/receipt?vid=857792249Y96a2e817e26a456Y47e0b9cb12503f6</string>
</entry>
<entry>
<string>EXPIRATION_DATE</string>
<date>2021-06-16T11:07:11</date>
</entry>
<entry>
<string>BAR_CODE</string>
<string>99580010000075017000000000000000000001606211107000010000082</string>
</entry>
<entry>
<string>URL_PAYMENT_RECEIPT_HTML</string>
<string>https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu/app?vid=857792249Y96a2e817e26a456Y47e0b9cb12503f6</string>
</entry>
</extraParameters>
</transactionResponse>
</paymentResponse>
Consulta de Métodos de Pagamento Disponíveis
Este método gera uma lista dos métodos de pagamento disponíveis em todos os países.
Parâmetros para Solicitação e Resposta
Solicitação
Nome do Campo | Formato | Tamanho | Descrição | Obrigatório |
---|---|---|---|---|
language | Alfanumérico | 2 | Idioma usado no pedido, usado para exibir as mensagens de erro geradas. Veja os idiomas disponíveis. | Sim |
command | Alfanumérico | Máx:32 | Definir GET_PAYMENT_METHODS . |
Sim |
test (JSON) isTest (XML) |
Boolean | Definir true se o pedido estiver em modo de teste. Caso contrário, definir false . |
Sim | |
merchant | Objeto | Este objeto contém os dados de autenticação. | Sim | |
merchant > apiLogin | Alfanumérico | Mín:12 Máx:32 | Usuário ou login fornecido pelo PayU. Como faço para obter minha API Login | Sim |
merchant > apiKey | Alfanumérico | Mín:6 Máx:32 | Senha fornecida pelo PayU. Como faço para obter minha API key | Sim |
Resposta
Nome do Campo | Formato | Tamanho | Descrição | |
---|---|---|---|---|
code | Alfanumérico | O código de resposta da transação. Os valores possíveis são ERROR e SUCCESS . |
||
error | Alfanumérico | Máx:2048 | A mensagem de erro associada quando o código de resposta é ERROR . |
|
paymentMethods | Objeto | Lista dos métodos de pagamento. | ||
paymentMethods > paymentMethodComplete | Objeto | Este objeto contém as informações de um método de pagamento. | ||
paymentMethods > paymentMethodComplete > id | Numérico | Identificador do método de pagamento. | ||
paymentMethods > paymentMethodComplete > description | Alfanumérico | Máx:32 | Nome do método de pagamento. | |
paymentMethods > paymentMethodComplete > country | Alfanumérico | 2 | Código ISO do país do método de pagamento. |
Chamada de API
A seguir estão os corpos do pedido e resposta deste método. Para fins de exemplo, a solicitação e a resposta aqui mostram dois métodos de pagamento.
Exemplo de uma Solicitação:
{
"test": false,
"language": "en",
"command": "GET_PAYMENT_METHODS",
"merchant": {
"apiLogin": "pRRXKOl8ikMmt9u",
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
}
}
Exemplo de uma Resposta:
{
"code": "SUCCESS",
"error": null,
"paymentMethods": [
{
"id": "201",
"description": "ARGENCARD",
"country": "AR",
"enabled": true,
"reason": null
},
{
"id": "212",
"description": "MASTERCARD",
"country": "AR",
"enabled": true,
"reason": null
}
]
}
Exemplo de uma Solicitação:
<request>
<language>en</language>
<command>GET_PAYMENT_METHODS</command>
<merchant>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
</merchant>
<isTest>false</isTest>
</request>
Exemplo de uma Resposta:
<paymentMethodsResponse>
<code>SUCCESS</code>
<paymentMethods>
<paymentMethodComplete>
<id>201</id>
<description>ARGENCARD</description>
<country>AR</country>
<enabled>true</enabled>
</paymentMethodComplete>
<paymentMethodComplete>
<id>212</id>
<description>MASTERCARD</description>
<country>AR</country>
<enabled>true</enabled>
</paymentMethodComplete>
</paymentMethods>
</paymentMethodsResponse>
Ping
O método PING
permite que você confirme a conexão com a nossa plataforma.
Parâmetros para Solicitação e Resposta
Solicitação
Nome do Campo | Formato | Tamanho | Descrição | Obrigatório |
---|---|---|---|---|
language | Alfanumérico | 2 | Idioma usado no pedido, usado para exibir as mensagens de erro geradas. Veja os idiomas disponíveis. | Sim |
command | Alfanumérico | Máx:32 | Definir PING . |
Sim |
test (JSON) isTest (XML) |
Boolean | Definir true se o pedido estiver em modo de teste. Caso contrário, definir false . |
Sim | |
merchant | Objeto | Este objeto contém os dados de autenticação. | Sim | |
merchant > apiLogin | Alfanumérico | Mín:12 Máx:32 | Usuário ou login fornecido pelo PayU. Como faço para obter minha API Login | Sim |
merchant > apiKey | Alfanumérico | Mín:6 Máx:32 | Senha fornecida pelo PayU. Como faço para obter minha API key | Sim |
Resposta
Nome do Campo | Formato | Tamanho | Descrição |
---|---|---|---|
code | Alfanumérico | O código de resposta da transação. | |
error | Alfanumérico | Máx:2048 | A mensagem de erro associada, caso tenha ocorrido um erro. |
transactionResponse | Objeto | Máx:2048 | A resposta do método PING caso tenha ocorrido um erro. |
Chamada de API
A seguir estão os corpos do pedido e resposta deste método.
Exemplo de uma Solicitação:
{
"test": false,
"language": "en",
"command": "PING",
"merchant": {
"apiLogin": "pRRXKOl8ikMmt9u",
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
}
}
Exemplo de uma Resposta:
{
"code": "SUCCESS",
"error": null,
"transactionResponse": null
}
Exemplo de uma Solicitação:
<request>
<language>en</language>
<command>PING</command>
<merchant>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
</merchant>
<isTest>false</isTest>
</request>
Exemplo de uma Resposta:
<paymentResponse>
<code>SUCCESS</code>
</paymentResponse>