PayU ofrece una API que le permite a tu comercio procesar transacciones desde diferentes tipos de aplicaciones (web, móvil, IVR, entre otras).

Dependiendo del país donde registres tu comercio, tendrás acceso a diferentes medios de pago, incluyendo tarjetas de crédito, transferencias bancarias y pagos en efectivo.

Podrás personalizar el checkout de acuerdo a las necesidades de tu negocio y lo mejor de todo, tu cliente permanecerá en tu sitio web durante la compra.

API checkout
 
 

Funcionalidades disponibles para la integración con la API PayU

Integración API

Pagos

Integración API

Consultas

Integración API

Pagos recurrentes

Integración Webcheckout

Tokenización

Configuraciones iniciales

Con PayU puedes realizar integraciones usando nuestra pasarela transaccional, la cual te da acceso a herramientas de pago y consultas, desarrollando un cliente HTTPS para transferir la información de las transacciones a través de SSL. Es importante que no se almacenen los datos sensibles de la transacciones como el número de tarjeta de crédito, fecha de expiración, etc. Se recomienda seguir las práctias de PCI DSS (Payment Card Industry Data Security Standard).  
La transmisión de las transacciones es asegurada a través de una conexión TLS (Transport Layer Security) de 256 bits desde el servidor del comercio hasta nuestro Gateway de pagos. El intercambio de mensajes se realiza a través de cadenas XML o JSON, las operaciones se distinguen a través de un comando que se envía en la petición. Un ejemplo de una petición en XML y una en JSON se pueden ver en los siguientes listados:

POST /payments-api/4.0/service.cgi HTTP/1.1 
Host: sandbox.api.payulatam.com
Content-Type: application/xml; charset=utf-8
Accept: application/xml
Content-Length: length
<request>
   <language>en</language>
   <command>GET_PAYMENT_METHODS</command>
   <merchant>
      <apiLogin>xxxxxxxxxxxxx</apiLogin>
      <apiKey>xxxxxxxxxxxxx</apiKey>
   </merchant>
   <isTest>false</isTest>
</request>
POST /payments-api/4.0/service.cgi HTTP/1.1 
Host: sandbox.api.payulatam.com
Content-Type: application/json; charset=utf-8
Accept: application/json
Content-Length: length
{
   "test": false,
   "language": "en",
   "command": "GET_PAYMENT_METHODS",
   "merchant": {
      "apiLogin": "xxxxxxxxxxxxx",
      "apiKey": "xxxxxxxxxxxxx"
   }
}
 
 

Puedes definir en la petición qué lenguajes deseas usar a través de las cabeceras HTTP Content-type y Accept. Se pueden usar todas las combinaciones posibles:

 
CONTENT-TYPE ACCEPT
application/xml application/xml
application/json application/json
application/xml application/json
application/json application/xml
 
 
 
Tener en cuenta:
  1. Debes tener una cuenta activa en PayU.
  2. Debes instalar el certificado SSL válido en tu servidor y tu sitio debe estar en capacidad de realizar conexiones SSL por lo cual la máquina virtual debe contar con las extensiones de seguridad apropiadas.
  3. Temporalmente NO utilices certificados de seguridad de curva elíptica o aquellos que cuenten con la suite de cifrado TLS_ECDHE_ECDSA_WITH_RC4_128_SHA en tus peticiones de pago.
  4. Debes contar con lenguajes de servidor o CGI tales como Java, C#, VB, PHP, etc.
  5. Debes estar en capacidad de almacenar de forma segura tus credenciales de autenticación (API Key y API Login).
  6. La codificación para los mensajes debe ser UTF-8.
  7. Las fechas con hora deben seguir el formato yyyy-MM-ddTHH:mm:ss, el formato de la hora es 24 horas. Ej. 2015-08-22T21:35:12.
  8. En condiciones normales la conexión garantiza tiempos de respuesta de 3 segundos en promedio, si hay una situación anormal, el tiempo máximo de respuesta será de 1 minuto. Es altamente recomendable que configures los “timeouts” cuando te conectes con PayU.
  9. Es importante validar la longitud y los números de tarjetas de crédito por franquicia junto con los códigos de seguridad.