API de Pagos - Argentina
Para integrarte con el API de Pagos de Argentina, apunta tus peticiones a las siguientes URLs de acuerdo con tu ambiente.
URL
- Pruebas:
https://sandbox.api.payulatam.com/payments-api/4.0/service.cgi
- Producción:
https://api.payulatam.com/payments-api/4.0/service.cgi
Métodos disponibles
El API de pagos incluye los siguiente métodos:
- Enviar transacciones con tarjeta de crédito o débito
- Enviar transacciones en efectivo
- Consultar métodos de pago disponibles
- Ping
Nota
Para confirmar el estado de una transacción, puedes utilizar una de las siguientes opciones:
- Navega a la URL configurada en la variable
transaction.notifyUrl
o la opción URL de confirmación ubicada en el Módulo PayU en Configuración > Configuración técnica. - Utiliza el API o SDK de consultas.
Enviar transacciones con tarjeta de crédito o débito
Este método te permite procesar pagos realizados por tus clientes utilizando tarjetas de crédito o débito. Para Argentina, puedes realizar los flujos de dos pasos (Autorización, Captura) y el de un paso (Cobro). Para más información, consulta los flujos de pago.
Variables para la petición y la respuesta
Petición (Request)
Nombre del campo | Formato | Tamaño | Descripción | Obligatorio |
---|---|---|---|---|
language | Alfanumérico | 2 | Idioma utilizado en la petición, este idioma se utiliza para mostrar los mensajes de error generados. Ver idiomas soportados. | Sí |
command | Alfanumérico | Max:32 | Asigna SUBMIT_TRANSACTION . |
Sí |
test (JSON) isTest (XML) |
Booleano | Asigna true si la petición es en modo pruebas. Si no, asigna false . |
Sí | |
merchant | Este objeto tiene los datos de autenticación. | Sí | ||
merchant > apiLogin | Alfanumérico | Min:12 Max:32 | Usuario o login entregado por PayU. Cómo obtengo mi API Login | Sí |
merchant > apiKey | Alfanumérico | Min:6 Max:32 | Contraseña entregada por PayU. Cómo obtengo mi API Key | Sí |
transaction | Este objeto tiene los datos de la transacción. | Sí | ||
transaction > order | Este objeto tiene los datos de la orden. | Sí | ||
transaction > order > accountId | Numérico | Identificador de tu cuenta. | Sí | |
transaction > order > referenceCode | Alfanumérico | Min:1 Max:255 | Representa el identificador de la orden en tu sistema. | Sí |
transaction > order > description | Alfanumérico | Min:1 Max:255 | Descripción de la orden. | Sí |
transaction > order > language | Alfanumérico | 2 | Idioma utilizado en los correos electrónicos enviados al comprador y al vendedor. | Sí |
transaction > order > notifyUrl | Alfanumérico | Max:2048 | URL de confirmación de la orden. | No |
transaction > order > partnerId | Alfanumérico | Max:255 | ID de aliado dentro de PayU. | No |
transaction > order > signature | Alfanumérico | Max:255 | Firma asociada al formulario. Para más información, consulta Firma de autenticación. | Sí |
transaction > order > shippingAddress | Dirección de envío. | No | ||
transaction > order > shippingAddress > street1 | Alfanumérico | Max:100 | Línea de dirección 1. | No |
transaction > order > shippingAddress > street2 | Alfanumérico | Max:100 | Línea de dirección 2. | No |
transaction > order > shippingAddress > city | Alfanumérico | Max:50 | Ciudad de la dirección. | No |
transaction > order > shippingAddress > state | Alfanumérico | Max:40 | Estado o provincia de la dirección. | No |
transaction > order > shippingAddress > country | Alfanumérico | 2 | País de la dirección. | No |
transaction > order > shippingAddress > postalCode | Alfanumérico | Max:8 | Código postal de la dirección. | No |
transaction > order > shippingAddress > phone | Alfanumérico | Max:11 | Número de teléfono asociado a la dirección. | No |
transaction > order > buyer | Información del comprador. | Sí | ||
transaction > order > buyer > merchantBuyerId | Alfanumérico | Max:100 | Identificador del comprador en tu sistema. | No |
transaction > order > buyer > fullName | Alfanumérico | Max:150 | Nombre del comprador. | Sí |
transaction > order > buyer > emailAddress | Alfanumérico | Max:255 | Correo electrónico de comprador. | Sí |
transaction > order > buyer > contactPhone | Alfanumérico | Max:20 | Teléfono del comprador. | Sí |
transaction > order > buyer > dniNumber | Alfanumérico | Max:20 | Número de identificación del comprador. | Sí |
transaction > order > buyer > shippingAddress | Alfanumérico | Dirección de envío del comprador. | Sí | |
transaction > order > buyer > shippingAddress > street1 | Alfanumérico | Max:150 | Línea de dirección 1 del comprador. | Sí |
transaction > order > buyer > shippingAddress > city | Alfanumérico | Max:50 | Ciudad de la dirección del comprador. | Sí |
transaction > order > buyer > shippingAddress > state | Alfanumérico | Max:40 | Estado o provincia de la dirección del comprador. | Sí |
transaction > order > buyer > shippingAddress > country | Alfanumérico | 2 | País de la dirección del comprador en formato ISO 3166 alpha-2. | Sí |
transaction > order > buyer > shippingAddress > postalCode | Numérico | Max:20 | Código postal de la dirección del comprador. | Sí |
transaction > order > buyer > shippingAddress > phone | Numérico | Max:20 | Número de teléfono asociado a la dirección del comprador. | Sí |
transaction > order > additionalValues > | 64 | Monto de la orden y sus valores asociados. | Sí | |
transaction > order > additionalValues > TX_VALUE | Alfanumérico | 64 | Monto de la transacción. | Sí |
transaction > order > additionalValues > TX_VALUE > value | Numérico | 12, 2 | Especifica el monto de la transacción, este valor puede tener dos dígitos decimales (Ej. 10000.00 o 10000 ). |
Sí |
transaction > order > additionalValues > TX_VALUE > currency | Alfanumérico | 3 | Código ISO de la moneda. Ver monedas aceptadas. | Sí |
transaction > order > additionalValues > TX_TAX | Alfanumérico | 64 | Monto del impuesto a las ventas. | Sí |
transaction > order > additionalValues > TX_TAX > value | Numérico | 12, 2 | Especifica el monto del impuesto. | No |
transaction > order > additionalValues > TX_TAX > currency | Alfanumérico | 3 | Código ISO de la moneda. Ver monedas aceptadas. | No |
transaction > order > additionalValues > TX_TAX_RETURN_BASE | Alfanumérico | 64 | Valor base para calcular el impuesto. Si el monto no tiene impuesto, envía 0. Este valor puede tener dos dígitos decimales. |
No |
transaction > order > additionalValues > TX_TAX_RETURN_BASE > value | Numérico | 12, 2 | Especifica el monto base de la transacción. | No |
transaction > order > additionalValues > TX_TAX_RETURN_BASE > currency | Alfanumérico | 3 | Código ISO de la moneda. Ver monedas aceptadas. | No |
transaction > creditCardTokenId | Incluye este parámetro cuando la transacción se haga con una tarjeta tokenizada reemplazando la información de la tarjeta de crédito. Para más información, consulta API de Tokenización | No | ||
transaction > creditCard | Información de la tarjeta de crédito. Si procesas utilizando tarjeta débito, no envíes este parámetro. Este objeto y sus parámetros son obligatorios cuando el pago se realiza utilizando una tarjeta de crédito no tokenizada. |
No | ||
transaction > creditCard > number | Alfanumérico | Min:13 Max:20 | Número de la tarjeta de crédito. | No |
transaction > creditCard > securityCode | Alfanumérico | Min:1 Max:4 | Código de seguridad de la tarjeta de crédito (CVC2, CVV2, CID). | No |
transaction > creditCard > expirationDate | Alfanumérico | 7 | Fecha de expiración de la tarjeta de crédito. Formato YYYY/MM . |
No |
transaction > creditCard > name | Alfanumérico | Min:1 Max:255 | Nombre del tarjetahabiente mostrado en la tarjeta de crédito. | No |
transaction > creditCard > processWithoutCvv2 | Booleano | Max:255 | Te permite procesar transacciones sin incluir el código de seguridad de la tarjeta de crédito. Tu comercio requiere autorización de PayU antes de utilizar esta funcionalidad. | No |
transaction > debitCard | Información de la tarjeta débito. Este objeto y sus parámetros son obligatorios cuando el pago se realiza utilizando una tarjeta debito. | No | ||
transaction > debitCard > number | Alfanumérico | Min:13 Max:20 | Número de la tarjeta débito. | No |
transaction > debitCard > securityCode | Alfanumérico | Min:1 Max:4 | Código de seguridad la tarjeta débito (CVC2, CVV2, CID). | No |
transaction > debitCard > expirationDate | Alfanumérico | 7 | Fecha de expiración de la tarjeta débito. Formato YYYY/MM . |
No |
transaction > debitCard > name | Alfanumérico | Min:1 Max:255 | Nombre del tarjetahabiente mostrado en la tarjeta debito. | No |
transaction > payer | Información del pagador. Debido a regulaciones de impuestos, es obligatorio enviar los parámetros payer.billingAddress.state y payer.dnitype . |
Sí | ||
transaction > payer > emailAddress | Alfanumérico | Max:255 | Correo electrónico del pagador. | No |
transaction > payer > merchantPayerId | Alfanumérico | Max:100 | Identificador del pagador en tu sistema. | No |
transaction > payer > fullName | Alfanumérico | Max:150 | Nombre del pagador que debe ser igual al enviado en el parámetro creditCard.name para pagos con tarjeta de crédito. |
No |
transaction > payer > billingAddress | Dirección de facturación. | Sí | ||
transaction > payer > billingAddress > street1 | Alfanumérico | Max:100 | Línea 1 de la dirección de facturación. | No |
transaction > payer > billingAddress > street2 | Alfanumérico | Max:100 | Línea 2 de la dirección de facturación. | No |
transaction > payer > billingAddress > city | Alfanumérico | Max:50 | Ciudad de la dirección de facturación. | No |
transaction > payer > billingAddress > state | Alfanumérico | Max:40 | Estado o provincia de la dirección de facturación. Formato ISO 3166-2 oficial de Argentina. | Sí |
transaction > payer > billingAddress > country | Alfanumérico | 2 | País de la dirección de facturación en formato ISO 3166 Alpha-2. | No |
transaction > payer > billingAddress > postalCode | Alfanumérico | Max:20 | Código postal de la dirección de facturación. | No |
transaction > payer > billingAddress > phone | Alfanumérico | Max:20 | Número de teléfono de la dirección de facturación. | No |
transaction > payer > birthdate | Alfanumérico | Max:10 | Fecha de nacimiento del pagador. | No |
transaction > payer > contactPhone | Alfanumérico | Max:20 | Número de teléfono del pagador. | No |
transaction > payer > dniNumber | Alfanumérico | Max:20 | Número de identificación del pagador. | No |
transaction > payer > dniType | Alfanumérico | 2 | Tipo de identificación del pagador. Ver los tipos de documentos. | Sí |
transaction > type | Alfanumérico | 32 | Asigna este valor de acuerdo con el tipo de transacción requerido:
|
Sí |
transaction > paymentMethod | Alfanumérico | 32 | Selecciona un método de pago de Tarjeta de crédito o débito valido. Ver los métodos de pago disponibles para Argentina. | Sí |
transaction > paymentCountry | Alfanumérico | 2 | Asigna AR para Argentina. |
Sí |
transaction > deviceSessionId | Alfanumérico | Max:255 | Identificador de la sesión del dispositivo donde el cliente realiza la transacción. Para más información, consulta este artículo. | Sí |
transaction > ipAddress | Alfanumérico | Max:39 | Dirección IP del dispositivo donde el cliente realiza la transacción. | Sí |
transaction > cookie | Alfanumérico | Max:255 | Cookie almacenada por el dispositivo donde el cliente realiza la transacción. | Sí |
transaction > userAgent | Alfanumérico | Max:1024 | User agent del navegador donde el cliente realiza la transacción. | Sí |
transaction > extraParameters | Parámetros adicionales o datos asociados a la petición. El tamaño máximo de cada nombre de extraParameters es 64 caracteres. En JSON, El parámetro extraParameters sigue esta estructura: "extraParameters": { "INSTALLMENTS_NUMBER": 1 } En XML, the extraParameters sigue esta estructura: <extraParameters> <entry> <string>INSTALLMENTS_NUMBER</string> <string>1</string> </entry> </extraParameters> |
No |
Respuesta (Response)
Nombre del campo | Formato | Tamaño | Descripción |
---|---|---|---|
code | Alfanumérico | Código de respuesta de la transacción. Los valores posibles son ERROR y SUCCESS . |
|
error | Alfanumérico | Max:2048 | Mensaje de error asociado cuando el código de respuesta es ERROR . |
transactionResponse | Datos de la respuesta. | ||
transactionResponse > orderId | Numérico | Identificador generado o existente de la orden en PayU. | |
transactionResponse > transactionId | Alfanumérico | 36 | Identificador de la transacción en PayU. |
transactionResponse > state | Alfanumérico | Max:32 | Estado de la transacción. |
transactionResponse > responseCode | Alfanumérico | Max:64 | Código de respuesta asociado con el estado. |
transactionResponse > paymentNetworkResponseCode | Alfanumérico | Max:255 | Código de respuesta retornado por la red bancaria. |
transactionResponse > paymentNetworkResponseErrorMessage | Alfanumérico | Max:255 | Mensaje de error retornado por la red bancaria. |
transactionResponse > trazabilityCode | Alfanumérico | Max:32 | Código de trazabilidad retornado por la red bancaria. |
transactionResponse > authorizationCode | Alfanumérico | Max:12 | Código de autorización retornado por la red bancaria. |
transactionResponse > responseMessage | Alfanumérico | Max:2048 | Mensaje asociado al código de respuesta. |
transactionResponse > operationDate | Fecha | Fecha de creación de la respuesta en el sistema de PayU. | |
transactionResponse > extraParameters | Parámetros adicionales o datos asociados con la respuesta. En JSON, el parámetro extraParameters sigue esta estructura: "extraParameters": { "BANK_REFERENCED_CODE": "CREDIT" } En XML, el parámetro extraParameters sigue esta estructura: <extraParameters> <entry> <string>BANK_REFERENCED_CODE</string> <string>CREDIT</string> </entry> </extraParameters> |
Consideraciones
- Para pagos con Promociones, envía los parámetros
INSTALLMENTS_NUMBER
yPROMOTION_ID
con el número de cuotas seleccionado y el ID de la promoción. Consulta el API de Promociones para más información. - La funcionalidad de Promociones solo está disponible para flujos de un paso.
- Para pagos con tókenes de tarjetas de crédito, incluye los parámetros
transaction.creditCardTokenId
ytransaction.creditCard.securityCode
(Si procesas con código de seguridad) reemplazando la información de la tarjeta de crédito . Para más información, consulta el API de Tokenización. - Por defecto, el procesamiento de tarjetas de crédito sin código de seguridad no está activo. Si lo quieres activar, contacta a tu representante de ventas. Luego de que esté activado, envía en la petición la variable
creditCard.processWithoutCvv2
con valor true y elimina la variablecreditCard.securityCode
. - Cuando utilices tarjetas de crédito, ten en cuentas las consideraciones debido a regulaciones argentinas para la página de checkout.
- Debido a regulaciones de impuestos, es obligatorio enviar los parámetros
payer.billingAddress.state
utilizando el formato ISO 3166-2 oficial de Argentina ypayer.dnitype
.
Autorización
Utiliza este método para realizar el paso de Autorización del flujo de dos pasos. En este paso, autorizas el pago pero el monto no se debita hasta que captures los fondos.
Los siguientes son los cuerpos de la petición y la respuesta para este tipo de transacción.
Ejemplo petición:
{
"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
}
Ejemplo respuesta:
{
"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
}
}
Ejemplo petición:
<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>
Ejemplo respuesta:
<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
Utiliza este método para realizar el paso de Captura del flujo de dos pasos. En este paso, capturas los fondos previamente Autorizados para transferirlos a tu cuenta PayU.
Consideraciones
Ten en cuenta las siguientes consideraciones para la captura.
- El tiempo máximo para capturar una transacción aprobada es de 14 días. Después de este tiempo, la transacción es anulada automáticamente.
- Para capturar una transacción, solo son obligatorios los parámetros mostrados en el cuerpo de la petición. Ten en cuenta que los IDs de las orden y la transacción deben corresponder a la actualmente autorizada.
- Puedes realizar capturas parciales sobre un monto autorizado. Para esto, necesitas enviar en la petición el parámetro
transaction.order.TX_VALUE
con su valor (Como se envió durante la Autorización).
Los siguientes son los cuerpos de la petición y la respuesta para este tipo de transacción.
Ejemplo petición:
{
"language": "es",
"command": "SUBMIT_TRANSACTION",
"merchant": {
"apiLogin": "pRRXKOl8ikMmt9u",
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
},
"transaction": {
"order": {
"id": "1400421560"
},
"type": "CAPTURE",
"parentTransactionId": "db9d9d7f-b62c-4ed2-a3b9-d146d33bdaf5"
},
"test": false
}
Ejemplo respuesta:
{
"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
}
}
Ejemplo petición:
<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>
Ejemplo respuesta:
<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>
Cobro
Utiliza este método para realizar el flujo de un paso, es decir, un cobro. En este paso, los pasos del flujo de dos pasos son combinados en una única transacción y los fondos son transferidos de la cuenta del cliente a tu cuenta PayU tan pronto sean aprobados.
Los siguientes son los cuerpos de la petición y la respuesta para este tipo de transacción.
Ejemplo petición:
{
"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
}
Ejemplo respuesta:
{
"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
}
}
Ejemplo petición:
<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>
Ejemplo respuesta:
<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>
Cuotas
Cuando proceses transacciones con tarjetas de crédito, necesitas mostrar los siguientes aspectos a tu cliente cuando se seleccione diferir la compra en cuotas:
Donde:
Número en la pantalla | Opción | Descripción |
---|---|---|
1 | Total compra | El precio de contado. |
2 | Total a pagar | El precio total financiado. |
3 | Cuotas | Número de cuotas y el monto de cada una. |
4 | TEA | La tasa de interés efectiva anual aplicada (TEA). |
5 | CFT | El costo financiero total (CFT). |
La información del Costo Financiero Total (CFT) debe tener las siguientes características:
-
Debe estar junto a las variables reportadas.
-
Aparecer en una tipografía en color destacado, de idéntica fuente y con un tamaño al menos cinco veces mayor al utilizado para informar la Tasa de interés efectiva anual (TEA), la cantidad de cuotas, y su importe.
Según la regulación vigente, no podrás mencionar la frase “sin interés” (o cualquier otra frase similar), cuando el costo de financiación del producto y/o servicio sea trasladado al precio de venta del consumidor.
Enviar transacciones en efectivo
Este método te permite procesar los pagos en efectivo de tus clientes. Para integrarte con las transacciones en efectivo, debes redirigir a tu cliente a la URL que se encuentra en la respuesta; tu cliente ve un de pago como el siguiente.
![PrintScreen](../../../../assets/Payments/CashReceiptAR.png)
Variables para la petición y la respuesta
Petición (Request)
Nombre del campo | Formato | Tamaño | Descripción | Obligatorio |
---|---|---|---|---|
language | Alfanumérico | 2 | Idioma utilizado en la petición, este idioma se utiliza para mostrar los mensajes de error generados. Ver idiomas soportados. | Sí |
command | Alfanumérico | Max:32 | Asigna SUBMIT_TRANSACTION . |
Sí |
test (JSON) isTest (XML) |
Booleano | Asigna true Si la petición es en modo pruebas. Si no, asigna false . |
Sí | |
merchant | Este objeto tiene los datos de la autenticación. | Sí | ||
merchant > apiLogin | Alfanumérico | Min:12 Max:32 | Usuario o login entregado por PayU. Cómo obtengo mi API Login | Sí |
merchant > apiKey | Alfanumérico | Min:6 Max:32 | Contraseña entregada por PayU. Cómo obtengo mi API Key | Sí |
transaction | Este objeto tiene los datos de la transacción. | Sí | ||
transaction > order | Este objeto tiene los datos de la orden. | Sí | ||
transaction > order > accountId | Numérico | Identificador de tu cuenta. | Sí | |
transaction > order > referenceCode | Alfanumérico | Min:1 Max:255 | Representa el identificador de la orden en tu sistema. | Sí |
transaction > order > description | Alfanumérico | Min:1 Max:255 | Descripción de la orden. | Sí |
transaction > order > language | Alfanumérico | 2 | Idioma utilizado en los correos electrónicos enviados al comprador y al vendedor. | Sí |
transaction > order > notifyUrl | Alfanumérico | Max:2048 | URL de confirmación de la orden. | No |
transaction > order > partnerId | Alfanumérico | Max:255 | ID de aliado dentro de PayU. | No |
transaction > order > signature | Alfanumérico | Max:255 | Firma asociada al formulario. Para más información, consulta Firma de autenticación. | Sí |
transaction > order > shippingAddress | Dirección de envío. | No | ||
transaction > order > shippingAddress > street1 | Alfanumérico | Max:100 | Línea de dirección 1. | No |
transaction > order > shippingAddress > street2 | Alfanumérico | Max:100 | Línea de dirección 2. | No |
transaction > order > shippingAddress > city | Alfanumérico | Max:50 | Ciudad de la dirección. | No |
transaction > order > shippingAddress > state | Alfanumérico | Max:40 | Estado o provincia de la dirección. | No |
transaction > order > shippingAddress > country | Alfanumérico | 2 | País de la dirección. | No |
transaction > order > shippingAddress > postalCode | Alfanumérico | Max:8 | Código postal de la dirección. | No |
transaction > order > shippingAddress > phone | Alfanumérico | Max:11 | Número de teléfono asociado a la dirección. | No |
transaction > order > buyer | Información del comprador. | Sí | ||
transaction > order > buyer > merchantBuyerId | Alfanumérico | Max:100 | Identificador del comprador en tu sistema. | No |
transaction > order > buyer > fullName | Alfanumérico | Max:150 | Nombre del comprador. | Sí |
transaction > order > buyer > emailAddress | Alfanumérico | Max:255 | Correo electrónico de comprador. | Sí |
transaction > order > buyer > contactPhone | Alfanumérico | Max:20 | Teléfono del comprador. | Sí |
transaction > order > buyer > dniNumber | Alfanumérico | Max:20 | Número de identificación del comprador. | Sí |
transaction > order > buyer > shippingAddress | Alfanumérico | Dirección de envío del comprador. | Sí | |
transaction > order > buyer > shippingAddress > street1 | Alfanumérico | Max:150 | Línea de dirección 1 del comprador. | Sí |
transaction > order > buyer > shippingAddress > city | Alfanumérico | Max:50 | Ciudad de la dirección del comprador. | Sí |
transaction > order > buyer > shippingAddress > state | Alfanumérico | Max:40 | Estado o provincia de la dirección del comprador. | Sí |
transaction > order > buyer > shippingAddress > country | Alfanumérico | 2 | País de la dirección del comprador en formato ISO 3166 alpha-2. | Sí |
transaction > order > buyer > shippingAddress > postalCode | Numérico | Max:20 | Código postal de la dirección del comprador. | Sí |
transaction > order > buyer > shippingAddress > phone | Numérico | Max:20 | Número de teléfono asociado a la dirección del comprador. | Sí |
transaction > order > additionalValues > | 64 | Monto de la orden y sus valores asociados. | Sí | |
transaction > order > additionalValues > TX_VALUE | Alfanumérico | 64 | Monto de la transacción. | Sí |
transaction > order > additionalValues > TX_VALUE > value | Numérico | 12, 2 | Especifica el monto de la transacción, este valor puede tener dos dígitos decimales (Ej. 10000.00 o 10000 ). |
Sí |
transaction > order > additionalValues > TX_VALUE > currency | Alfanumérico | 3 | Código ISO de la moneda. Ver monedas aceptadas. | Sí |
transaction > order > additionalValues > TX_TAX | Alfanumérico | 64 | Monto del impuesto a las ventas. | Sí |
transaction > order > additionalValues > TX_TAX > value | Numérico | 12, 2 | Especifica el monto del impuesto a las ventas. | No |
transaction > order > additionalValues > TX_TAX > currency | Alfanumérico | 3 | Código ISO de la moneda. Ver monedas aceptadas. | No |
transaction > order > additionalValues > TX_TAX_RETURN_BASE | Alfanumérico | 64 | Valor base para calcular el impuesto. Si el monto no tiene impuesto, envía 0. Este valor puede tener dos dígitos decimales. |
No |
transaction > order > additionalValues > TX_TAX_RETURN_BASE > value | Numérico | 12, 2 | Especifica el monto base de la transacción. | No |
transaction > order > additionalValues > TX_TAX_RETURN_BASE > currency | Alfanumérico | 3 | Código ISO de la moneda. Ver monedas aceptadas. | No |
transaction > payer | Información del pagador. | Sí | ||
transaction > payer > emailAddress | Alfanumérico | Max:255 | Correo electrónico del pagador. | Sí |
transaction > payer > merchantPayerId | Alfanumérico | Max:100 | Identificador del pagador en tu sistema. | No |
transaction > payer > fullName | Alfanumérico | Max:150 | Nombre del pagador. | Sí |
transaction > payer > billingAddress | Dirección de facturación. | Sí | ||
transaction > payer > billingAddress > street1 | Alfanumérico | Max:100 | Línea 1 de la dirección de facturación. | Sí |
transaction > payer > billingAddress > street2 | Alfanumérico | Max:100 | Línea 2 de la dirección de facturación. | No |
transaction > payer > billingAddress > city | Alfanumérico | Max:50 | Ciudad de la dirección de facturación. | Sí |
transaction > payer > billingAddress > state | Alfanumérico | Max:40 | Estado o provincia de la dirección de facturación. | Sí |
transaction > payer > billingAddress > country | Alfanumérico | 2 | País de la dirección de facturación en formato ISO 3166 Alpha-2. | Sí |
transaction > payer > billingAddress > postalCode | Alfanumérico | Max:20 | Código postal de la dirección de facturación. | No |
transaction > payer > billingAddress > phone | Alfanumérico | Max:20 | Número de teléfono de la dirección de facturación. | No |
transaction > payer > birthdate | Alfanumérico | Max:10 | Fecha de nacimiento del pagador. | No |
transaction > payer > contactPhone | Alfanumérico | Max:20 | Número de teléfono del pagador. | Sí |
transaction > payer > dniNumber | Alfanumérico | Max:20 | Número de identificación del pagador. | Sí |
transaction > payer > dniType | Alfanumérico | 2 | Tipo de identificación del pagador. Ver los tipos de documentos. | No |
transaction > type | Alfanumérico | 32 | Como los pagos en efectivo se realizan en oficinas físicas, el único tipo de transacción disponible es AUTHORIZATION_AND_CAPTURE |
Sí |
transaction > paymentMethod | Alfanumérico | 32 | Selecciona un método de pago en efectivo válido. Ver los métodos de pago disponibles para Argentina. | Sí |
transaction > paymentCountry | Alfanumérico | 2 | Asigna AR para Argentina. |
Sí |
transaction > expirationDate | Alfanumérico | 23 | Fecha y hora máxima en la que el cliente puede realizar el pago. Formato YYYY-MM-DDTHH:MM:SS , por ejemplo 2021-06-12T16:07:11.586 . |
No |
transaction > ipAddress | Alfanumérico | Max:39 | Dirección IP del dispositivo donde el cliente realiza la transacción. | Sí |
Respuesta (Response)
Nombre del campo | Formato | Tamaño | Descripción |
---|---|---|---|
code | Alfanumérico | Código de respuesta de la transacción. Los valores posibles son ERROR y SUCCESS . |
|
error | Alfanumérico | Max:2048 | Mensaje de error asociado cuando el código de respuesta es ERROR . |
transactionResponse | Datos de la respuesta. | ||
transactionResponse > orderId | Numérico | Identificador generado o existente de la orden en PayU. | |
transactionResponse > transactionId | Alfanumérico | 36 | Identificador de la transacción en PayU. |
transactionResponse > state | Alfanumérico | Max:32 | Estado de la transacción. Como el pago se realiza en una oficina física, el estado de una transacción exitosa es PENDING |
transactionResponse > paymentNetworkResponseCode | Alfanumérico | Max:255 | Código de respuesta retornado por la red bancaria. |
transactionResponse > paymentNetworkResponseErrorMessage | Alfanumérico | Max:255 | Mensaje de error retornado por la red bancaria. |
transactionResponse > trazabilityCode | Alfanumérico | Max:32 | Código de trazabilidad retornado por la red bancaria. |
transactionResponse > authorizationCode | Alfanumérico | Max:12 | Código de autorización retornado por la red bancaria. |
transactionResponse > pendingReason | Alfanumérico | Max:21 | Código de la razón asociada con el estado, como se mencionó en transactionResponse > state , la transacción está en espera del pago. |
transactionResponse > responseCode | Alfanumérico | Max:64 | Código de respuesta asociado con el estado. En este caso, para una transacción exitosa es PENDING_TRANSACTION_CONFIRMATION . |
transactionResponse > responseMessage | Alfanumérico | Max:2048 | Mensaje asociado al código de respuesta. |
transactionResponse > operationDate | Fecha | Fecha de creación de la respuesta en el sistema de PayU. | |
transactionResponse > extraParameters | Parámetros adicionales o datos asociados con la respuesta. En JSON, el parámetro extraParameters sigue esta estructura: "extraParameters": { "REFERENCE": "74794" } En XML, el parámetro extraParameters sigue esta estructura: <extraParameters> <entry> <string>REFERENCE</string> <int>74794</int> </entry> </extraParameters> |
Consideraciones
- El parámetro
transaction.expirationDate
no es obligatorio. Si no envías este parámetro, su valor por defecto es 15 días luego de la fecha actual.
Si envías una fecha posterior a dicho número de días, PayU ignorará este valor y asignará el valor por defecto. - El parámetro
transactionResponse.extraParameters
tiene los siguientes parámetros relacionados con la transacción:- REFERENCE: referencia de pago interna generada por PayU.
- EXPIRATION_DATE: fecha máxima en la que el pagador puede realizar el pago.
- BAR_CODE: código de barras que le permite al pagador realizar el pago.
- URL_PAYMENT_RECEIPT_HTML: recibo de pago en formato HTML. Aquí es donde debe redirigir el pago cuando el pagador selecciona un método de pago en efectivo.
- URL_PAYMENT_RECEIPT_PDF: recibo de pago en formato PDF.
Llamado del API
Los siguientes son los cuerpos de la petición y la respuesta para este método de pago.
Ejemplo petición:
{
"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
}
Ejemplo respuesta:
{
"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
}
}
Ejemplo petición:
<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>
Ejemplo respuesta:
<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>
Consultar métodos de pago disponibles
Este método retorna la lista de los métodos de pago disponibles en todos los paises.
Variables para la petición y la respuesta
Petición (Request)
Nombre del campo | Formato | Tamaño | Descripción | Obligatorio |
---|---|---|---|---|
language | Alfanumérico | 2 | Idioma utilizado en la petición, este idioma se utiliza para mostrar los mensajes de error generados. Ver idiomas soportados. | Sí |
command | Alfanumérico | Max:32 | Asigna GET_PAYMENT_METHODS . |
Sí |
test (JSON) isTest (XML) |
Booleano | Asigna true Si la petición es en modo pruebas. Si no, asigna false . |
Sí | |
merchant | Este objeto tiene los datos de la autenticación. | Sí | ||
merchant > apiLogin | Alfanumérico | Min:12 Max:32 | Usuario o login entregado por PayU. Cómo obtengo mi API Login | Sí |
merchant > apiKey | Alfanumérico | Min:6 Max:32 | Contraseña entregada por PayU. Cómo obtengo mi API Key | Sí |
Respuesta (Response)
Nombre del campo | Formato | Tamaño | Descripción | Obligatorio |
---|---|---|---|---|
code | Alfanumérico | Código de respuesta de la transacción. Los valores posibles son ERROR y SUCCESS . |
Sí | |
error | Alfanumérico | Max:2048 | Mensaje de error asociado cuando el código de respuesta es ERROR . |
Sí |
paymentMethods | Lista de métodos de pago. | Sí | ||
paymentMethods > paymentMethodComplete | Este objeto tiene la información de un método de pago. | Sí | ||
paymentMethods > paymentMethodComplete > id | Numérico | Identificador del método de pago. | Sí | |
paymentMethods > paymentMethodComplete > description | Alfanumérico | Max:32 | Nombre del método de pago. | Sí |
paymentMethods > paymentMethodComplete > country | Alfanumérico | 2 | Código ISO del país del método de pago. | Sí |
Llamado del API
Los siguientes son los cuerpos de la petición y la respuesta para este método. Para el propósito de este ejemplo, la respuesta muestra dos métodos de pago.
Ejemplo petición:
{
"test": false,
"language": "en",
"command": "GET_PAYMENT_METHODS",
"merchant": {
"apiLogin": "pRRXKOl8ikMmt9u",
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
}
}
Ejemplo respuesta:
{
"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
}
]
}
Ejemplo petición:
<request>
<language>en</language>
<command>GET_PAYMENT_METHODS</command>
<merchant>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
</merchant>
<isTest>false</isTest>
</request>
Ejemplo respuesta:
<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
El método PING
te permite verificar la conexión con nuestra plataforma.
Variables para la petición y la respuesta
Petición (Request)
Nombre del campo | Formato | Tamaño | Descripción | Obligatorio |
---|---|---|---|---|
language | Alfanumérico | 2 | Idioma utilizado en la petición, este idioma se utiliza para mostrar los mensajes de error generados. Ver idiomas soportados. | Sí |
command | Alfanumérico | Max:32 | Asigna PING . |
Sí |
test (JSON) isTest (XML) |
Booleano | Asigna true Si la petición es en modo pruebas. Si no, asigna false . |
Sí | |
merchant | Este objeto tiene los datos de la autenticación. | Sí | ||
merchant > apiLogin | Alfanumérico | Min:12 Max:32 | Usuario o login entregado por PayU. Cómo obtengo mi API Login | Sí |
merchant > apiKey | Alfanumérico | Min:6 Max:32 | Contraseña entregada por PayU. Cómo obtengo mi API Key | Sí |
Respuesta (Response)
Nombre del campo | Formato | Tamaño | Descripción |
---|---|---|---|
code | Alfanumérico | Código de respuesta de la transacción. | |
error | Alfanumérico | Max:2048 | Mensaje de error asociado si ocurrió un error. |
transactionResponse | transactionResponse | Max:2048 | La respuesta del método PING si ocurrió un error. |
Llamado del API
Los siguientes son los cuerpos de la petición y la respuesta para este método.
Ejemplo petición:
{
"test": false,
"language": "en",
"command": "PING",
"merchant": {
"apiLogin": "pRRXKOl8ikMmt9u",
"apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
}
}
Ejemplo respuesta:
{
"code": "SUCCESS",
"error": null,
"transactionResponse": null
}
Ejemplo petición:
<request>
<language>en</language>
<command>PING</command>
<merchant>
<apiLogin>pRRXKOl8ikMmt9u</apiLogin>
<apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
</merchant>
<isTest>false</isTest>
</request>
Ejemplo respuesta:
<paymentResponse>
<code>SUCCESS</code>
</paymentResponse>