API de Pagos - Argentina

La API de Pagos para Argentina permite integrar de manera eficiente las capacidades de procesamiento de pagos de PayU con tu plataforma de compras en línea. A través de esta API, los comercios pueden ofrecer a sus clientes una amplia variedad de métodos de pago, incluyendo efectivo, tarjetas de crédito y tarjetas de débito.

Esta guía muestra cómo aprovechar estos servicios para mejorar la experiencia de pago de tus clientes proporcionando opciones de pago flexibles y seguras adaptadas al mercado local.

Métodos Disponibles

La API de Pagos incluye los siguiente métodos:

Enviar Transacciones Utilizando Tarjetas 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.

Uso de Tarjetas Tokenizadas

PayU admite pagos con tarjeta tokenizada, lo que permite realizar pagos regulares con una tarjeta almacenada en un token. Un token de tarjeta de crédito reemplaza la información sensible de una tarjeta de crédito, permitiéndole almacenarla de manera segura de acuerdo con los estándares de seguridad PCI DSS (Payment Card Industry Data Security Standard).

PayU puede procesar pagos utilizando los siguientes servicios:

  • Tokenización de PayU.
    Ofrecemos nuestro propio servicio para tokenizar sus tarjetas de crédito a solicitud. Este servicio te permite tokenizar la información de las tarjetas de crédito de tus clientes (independientemente de su franquicia) utilizando nuestra integración API o SDK.

    Para obtener más información, consulta Tokenización de PayU.

  • MasterCard Digital Enablement Service - MDES.
    Un servicio de tokenización proporcionado por Mastercard. Este servicio te permite tokenizar el Número de Cuenta Principal de las tarjetas de crédito Mastercard, permitiéndote usarlas para pagos regulares o para crear funciones de pago con un clic.

    Para obtener más información, consulta MasterCard Digital Enablement Service (MDES).

  • Visa Token Service - VTS.
    Un servicio de tokenización proporcionado por Visa. Este servicio le permite almacenar la información sensible de las tarjetas de crédito Visa en un token, permitiéndole usarlas para pagos regulares o para crear funciones de pago con un clic.

    Para obtener más información, consulta Visa Token Service (VTS).

Pagar con Tokens de PayU

Para realizar pagos utilizando tokens de tarjetas de crédito de PayU, incluye el parámetro transaction.creditCardTokenId en lugar de la información de la tarjeta de crédito.

El siguiente ejemplo muestra el cuerpo de la solicitud a un alto nivel para un flujo de un solo paso. No incluye parámetros detallados de la solicitud.


Ejemplo de una Solicitud:

{
   "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
}

Ejemplo de una Solicitud:

<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 con Tokens de MDES o VTS

Si estás tokenizando las tarjetas de crédito de tus clientes utilizando MDES o VTS, puedes configurar la información del token en el parámetro transaction.networkToken, reemplazando la información de la tarjeta de crédito, y establecer el parámetro creditCard.processWithoutCvv2 en true.

Por defecto, no está habilitado el procesamiento de tarjetas de crédito sin código de seguridad. Por favor, contacta a tu representante de ventas para habilitar esta función.

El siguiente ejemplo muestra el cuerpo de la solicitud a un alto nivel para un flujo de un solo paso. No incluye parámetros detallados de la solicitud.


Ejemplo de una Solicitud:

{
   "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
}

Ejemplo de una Solicitud:

<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>

Encuentra la descripción del objeto transaction.networkToken y sus parámetros en la sección de Parámetros.

Parámetros para la Solicitud y la Respuesta

Solicitud
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.
command Alfanumérico Max:32 Asigna SUBMIT_TRANSACTION.
test (JSON)
isTest (XML)
Booleano Asigna true si la petición es en modo pruebas. Si no, asigna false.
merchant Objeto Este objeto tiene los datos de autenticación.
merchant > apiLogin Alfanumérico Min:12 Max:32 Usuario o login entregado por PayU. Cómo obtengo mi API Login
merchant > apiKey Alfanumérico Min:6 Max:32 Contraseña entregada por PayU. Cómo obtengo mi API Key
transaction Objeto Este objeto tiene los datos de la transacción.
transaction > order Objeto Este objeto tiene los datos de la orden.
transaction > order > accountId Numérico Identificador de tu cuenta.
transaction > order > referenceCode Alfanumérico Min:1 Max:255 Representa el identificador de la orden en tu sistema.
transaction > order > description Alfanumérico Min:1 Max:255 Descripción de la orden.
transaction > order > language Alfanumérico 2 Idioma utilizado en los correos electrónicos enviados al comprador y al vendedor.
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.
transaction > order > shippingAddress Objeto 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 Objeto Información del comprador.
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.
transaction > order > buyer > emailAddress Alfanumérico Max:255 Correo electrónico de comprador.
transaction > order > buyer > contactPhone Alfanumérico Max:20 Teléfono del comprador.
transaction > order > buyer > dniNumber Alfanumérico Max:20 Número de identificación del comprador.
transaction > order > buyer > shippingAddress Alfanumérico Dirección de envío del comprador.
transaction > order > buyer > shippingAddress > street1 Alfanumérico Max:150 Línea de dirección 1 del comprador.
transaction > order > buyer > shippingAddress > city Alfanumérico Max:50 Ciudad de la dirección del comprador.
transaction > order > buyer > shippingAddress > state Alfanumérico Max:40 Estado o provincia de la dirección del comprador.
transaction > order > buyer > shippingAddress > country Alfanumérico 2 País de la dirección del comprador en formato ISO 3166 alpha-2.
transaction > order > buyer > shippingAddress > postalCode Numérico Max:20 Código postal de la dirección del comprador.
transaction > order > buyer > shippingAddress > phone Numérico Max:20 Número de teléfono asociado a la dirección del comprador.
transaction > order > additionalValues > Objeto 64 Monto de la orden y sus valores asociados.
transaction > order > additionalValues > TX_VALUE Alfanumérico 64 Monto de la transacción.
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).
transaction > order > additionalValues > TX_VALUE > currency Alfanumérico 3 Código ISO de la moneda. Ver monedas aceptadas.
transaction > order > additionalValues > TX_TAX Alfanumérico 64 Monto del impuesto a las ventas.
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 Alfanumérico 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 Objeto 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 Objeto 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 Objeto Información del pagador. Debido a regulaciones de impuestos, es obligatorio enviar los parámetros payer.billingAddress.state y payer.dnitype.
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 Objeto Dirección de facturación.
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.
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.
transaction > type Alfanumérico 32 Asigna este valor de acuerdo con el tipo de transacción requerido:
  • AUTHORIZATION
  • CAPTURE
  • AUTHORIZATION_AND_CAPTURE para flujos de un paso.
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.
transaction > paymentCountry Alfanumérico 2 Asigna AR para Argentina.
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.
transaction > ipAddress Alfanumérico Max:39 Dirección IP del dispositivo donde el cliente realiza la transacción.
transaction > cookie Alfanumérico Max:255 Cookie almacenada por el dispositivo donde el cliente realiza la transacción.
transaction > userAgent Alfanumérico Max:1024 User agent del navegador donde el cliente realiza la transacción.
transaction > extraParameters Objeto 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
transaction > threeDomainSecure Objeto Este objeto contiene la información de 3DS 2.0. No
transaction > threeDomainSecure > embedded Booleano Asigna true si quieres utilizar un MPI embebido para el proceso de Autorización. Por defecto, este valor está asignado como false. No
transaction > threeDomainSecure > eci Numérico Máx:2 Indicador de Comercio Electrónico.
Valor retornado por los servidores de directorio indicando el intento de autenticación.
Este parámetro es obligatorio cuando transaction.threeDomainSecure.embedded es false y transaction.threeDomainSecure.xid tiene un valor configurado.
No
transaction > threeDomainSecure > cavv Alfanumérico Máx:28 Valor de verificación de autenticación del titular de la tarjeta (Cardholder Authentication Verification Value).
Código del criptograma utilizado en la autenticación de la transacción codificado en Base 64.
Dependiendo de los códigos ECI específicos establecidos por la red, este valor puede ser opcional.
No
transaction > threeDomainSecure > xid Alfanumérico Máx:28 Identificador de la transacción enviado por el MPI codificado en Base 64.
Este parámetro es obligatorio cuando transaction.threeDomainSecure.embedded is false y transaction.threeDomainSecure.eci tiene un valor configurado.
No
transaction > threeDomainSecure > directoryServerTransactionId Alfanumérico Máx:36 Identificador de la transacción generador por el servidor de directorio durante la autenticación. No
Respuesta
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 Objeto 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 Objeto 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 y PROMOTION_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 y transaction.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.
  • Para pagos con tokens de tarjeta de crédito generados utilizando MDES o VTS, incluye el objeto transaction.networkToken y sus parámetros.
  • 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 variable creditCard.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 y payer.dnitype.
  • La variable transaction.threeDomainSecure no reemplaza la información de la tarjeta o ninguno de los campos obligatorios de la transacción. Este objeto es adicional y no es obligatorio.
  • La variable transaction.threeDomainSecure corresponde a un escenario Pass Through donde el comercio realiza la autenticación por su cuenta.

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 de una Solicitud:

{
   "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 de una 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 de una Solicitud:

<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 de una 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 más información, consulta la sección Captura Parcial.

Los siguientes son ejemplos de los cuerpos de la solicitud y la respuesta para este tipo de transacción.


Ejemplo de una Solicitud:

{
   "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 de una 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 de una Solicitud:

<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 de una 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>

Captura Parcial

Una captura parcial es una operación que permite solicitar el desembolso de un monto menor al autorizado previamente en una transacción.

Esto significa que si inicialmente tu integración autorizó un pago de $100, puedes realizar una captura parcial por un valor de $60, y liberar el monto restante de $40, el cual la integración no podrá capturar posteriormente.

Consideraciones

  • El monto total capturado no puede exceder el monto autorizado originalmente.
  • Cada procesador de pagos y cada país pueden tener reglas o restricciones en cuanto al monto que puedes capturar parcialmente.
  • Debes especificar el valor que deseas capturar parcialmente en el campo value, dentro del parámetro TX_VALUE, como se muestra en el ejemplo a continuación.

Los siguientes son ejemplos de los cuerpos de la solicitud y la respuesta para este tipo de transacción.


Ejemplo de una Solicitud:

{
    "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
}

Ejemplo de una Respuesta:

{
    "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"
        }
    }
}

Ejemplo de una Solicitud:

<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>

Ejemplo de una Respuesta:

<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>

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 de una Solicitud:

{
   "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 de una 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 de una Solicitud:

<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 de una 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:

PrintScreen

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:

  1. Debe estar junto a las variables reportadas.

  2. 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 Utilizando 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

Parámetros para la Solicitud y la Respuesta

Solicitud
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.
command Alfanumérico Max:32 Asigna SUBMIT_TRANSACTION.
test (JSON)
isTest (XML)
Booleano Asigna true Si la petición es en modo pruebas. Si no, asigna false.
merchant Objeto Este objeto tiene los datos de la autenticación.
merchant > apiLogin Alfanumérico Min:12 Max:32 Usuario o login entregado por PayU. Cómo obtengo mi API Login
merchant > apiKey Alfanumérico Min:6 Max:32 Contraseña entregada por PayU. Cómo obtengo mi API Key
transaction Objeto Este objeto tiene los datos de la transacción.
transaction > order Objeto Este objeto tiene los datos de la orden.
transaction > order > accountId Numérico Identificador de tu cuenta.
transaction > order > referenceCode Alfanumérico Min:1 Max:255 Representa el identificador de la orden en tu sistema.
transaction > order > description Alfanumérico Min:1 Max:255 Descripción de la orden.
transaction > order > language Alfanumérico 2 Idioma utilizado en los correos electrónicos enviados al comprador y al vendedor.
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.
transaction > order > shippingAddress Objeto 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 Objeto Información del comprador.
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.
transaction > order > buyer > emailAddress Alfanumérico Max:255 Correo electrónico de comprador.
transaction > order > buyer > contactPhone Alfanumérico Max:20 Teléfono del comprador.
transaction > order > buyer > dniNumber Alfanumérico Max:20 Número de identificación del comprador.
transaction > order > buyer > shippingAddress Alfanumérico Dirección de envío del comprador.
transaction > order > buyer > shippingAddress > street1 Alfanumérico Max:150 Línea de dirección 1 del comprador.
transaction > order > buyer > shippingAddress > city Alfanumérico Max:50 Ciudad de la dirección del comprador.
transaction > order > buyer > shippingAddress > state Alfanumérico Max:40 Estado o provincia de la dirección del comprador.
transaction > order > buyer > shippingAddress > country Alfanumérico 2 País de la dirección del comprador en formato ISO 3166 alpha-2.
transaction > order > buyer > shippingAddress > postalCode Numérico Max:20 Código postal de la dirección del comprador.
transaction > order > buyer > shippingAddress > phone Numérico Max:20 Número de teléfono asociado a la dirección del comprador.
transaction > order > additionalValues > Objeto 64 Monto de la orden y sus valores asociados.
transaction > order > additionalValues > TX_VALUE Alfanumérico 64 Monto de la transacción.
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).
transaction > order > additionalValues > TX_VALUE > currency Alfanumérico 3 Código ISO de la moneda. Ver monedas aceptadas.
transaction > order > additionalValues > TX_TAX Alfanumérico 64 Monto del impuesto a las ventas.
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 Objeto Información del pagador.
transaction > payer > emailAddress Alfanumérico Max:255 Correo electrónico del pagador.
transaction > payer > merchantPayerId Alfanumérico Max:100 Identificador del pagador en tu sistema. No
transaction > payer > fullName Alfanumérico Max:150 Nombre del pagador.
transaction > payer > billingAddress Objeto Dirección de facturación.
transaction > payer > billingAddress > street1 Alfanumérico Max:100 Línea 1 de la dirección de facturación.
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.
transaction > payer > billingAddress > state Alfanumérico Max:40 Estado o provincia de la dirección de facturación.
transaction > payer > billingAddress > country Alfanumérico 2 País de la dirección de facturación en formato ISO 3166 Alpha-2.
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.
transaction > payer > dniNumber Alfanumérico Max:20 Número de identificación del pagador.
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
transaction > paymentMethod Alfanumérico 32 Selecciona un método de pago en efectivo válido. Ver los métodos de pago disponibles para Argentina.
transaction > paymentCountry Alfanumérico 2 Asigna AR para Argentina.
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.
Respuesta
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 Objeto 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 Objeto 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 a la API

Los siguientes son los cuerpos de la petición y la respuesta para este método de pago.


Ejemplo de una Solicitud:

{
   "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 de una 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 de una Solicitud:

<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 de una 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 países.

Parámetros para la Solicitud y la Respuesta

Solicitud
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.
command Alfanumérico Max:32 Asigna GET_PAYMENT_METHODS.
test (JSON)
isTest (XML)
Booleano Asigna true Si la petición es en modo pruebas. Si no, asigna false.
merchant Objeto Este objeto tiene los datos de la autenticación.
merchant > apiLogin Alfanumérico Min:12 Max:32 Usuario o login entregado por PayU. Cómo obtengo mi API Login
merchant > apiKey Alfanumérico Min:6 Max:32 Contraseña entregada por PayU. Cómo obtengo mi API Key
Respuesta
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.
error Alfanumérico Max:2048 Mensaje de error asociado cuando el código de respuesta es ERROR.
paymentMethods Objeto Lista de métodos de pago.
paymentMethods > paymentMethodComplete Objeto Este objeto tiene la información de un método de pago.
paymentMethods > paymentMethodComplete > id Numérico Identificador del método de pago.
paymentMethods > paymentMethodComplete > description Alfanumérico Max:32 Nombre del método de pago.
paymentMethods > paymentMethodComplete > country Alfanumérico 2 Código ISO del país del método de pago.

Llamado a la 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 de una Solicitud:

{
   "test": false,
   "language": "en",
   "command": "GET_PAYMENT_METHODS",
   "merchant": {
      "apiLogin": "pRRXKOl8ikMmt9u",
      "apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
   }
}

Ejemplo de una 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 de una Solicitud:

<request>
   <language>en</language>
   <command>GET_PAYMENT_METHODS</command>
   <merchant>
      <apiLogin>pRRXKOl8ikMmt9u</apiLogin>
      <apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
   </merchant>
   <isTest>false</isTest>
</request>

Ejemplo de una 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.

Parámetros para la Solicitud y la Respuesta

Solicitud
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.
command Alfanumérico Max:32 Asigna PING.
test (JSON)
isTest (XML)
Booleano Asigna true Si la petición es en modo pruebas. Si no, asigna false.
merchant Objeto Este objeto tiene los datos de la autenticación.
merchant > apiLogin Alfanumérico Min:12 Max:32 Usuario o login entregado por PayU. Cómo obtengo mi API Login
merchant > apiKey Alfanumérico Min:6 Max:32 Contraseña entregada por PayU. Cómo obtengo mi API Key
Respuesta
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 Objeto Max:2048 La respuesta del método PING si ocurrió un error.

Llamado a la API

Los siguientes son los cuerpos de la petición y la respuesta para este método.


Ejemplo de una Solicitud:

{
   "test": false,
   "language": "en",
   "command": "PING",
   "merchant": {
      "apiLogin": "pRRXKOl8ikMmt9u",
      "apiKey": "4Vj8eK4rloUd272L48hsrarnUA"
   }
}

Ejemplo de una Respuesta:

{
    "code": "SUCCESS",
    "error": null,
    "transactionResponse": null
}

Ejemplo de una Solicitud:

<request>
   <language>en</language>
   <command>PING</command>
   <merchant>
      <apiLogin>pRRXKOl8ikMmt9u</apiLogin>
      <apiKey>4Vj8eK4rloUd272L48hsrarnUA</apiKey>
   </merchant>
   <isTest>false</isTest>
</request>

Ejemplo de una Respuesta:

<paymentResponse>
    <code>SUCCESS</code>
</paymentResponse>
Última modificación 9 de septiembre de 2024: Documentation Updates (74c84013a)