SDK de Pagos - Argentina
El SDK de Pagos de Argentina le permite a tu tienda procesar diferentes tipos de transacciones con múltiples métodos de pago.
En esta página
De forma similar a cualquier integración API, puedes personalizar tu checkout de acuerdo con las necesidades de tu negocio y el cliente permanece en tu página web durante la compra y el procedimiento de pago. Para integrar esta opción, debes tener una cuenta de PayU empresarial y habilidades de programación avanzadas.
Accede a múltiples métodos de pago (varía por país) incluyendo tarjetas de crédito, transferencias bancarias y pagos en efectivo.
PayU te permite integrarte con la pasarela de pagos transaccional, las herramientas de pago disponibles y las consultas desarrollando un cliente HTTPS para enviar la información de la transacción a través de SSL. Es muy importante que los datos sensibles de la transacción como el número de la tarjeta de crédito, la fecha de expiración de la misma y demás, no sean almacenados. Recomendamos que sigas las mejores prácticas de PCI DSS (Payment Card Industry Data Security Standard).
Para integrate con el API, el SDK depende de la librería de Apache HttpClient
que a su vez depende de las librerías HttpCore
, CommonsLoggin
y CommonsCodec
.
En general, necesitas las siguientes librerías en tu classpath:
Antes de realizar cualquier operación con el SDK, necesitas asignar algunos valores a la clase PayU
, los cuales aplican a todas las operaciones SDK y deben ser configurados con tu información comercial. La siguiente tabla muestra los valores que necesitas configurar.
Nombre del parámetro | Tamaño | Tipo | Obligatorio | Descripción |
---|---|---|---|---|
language |
2 | Language | Sí | Idioma utilizado para mensajes de error en ell sistema y correos electrónicos enviados entre el comprado y el vendedor. Actualmente se soporta en en (inglés), es (español) y pt (portugués). |
isTest |
boolean | Sí | Asigna true si es una petición de prueba, Si no, asigna false . Dependiendo del tipo de transacción u operación, el valor de este campo puede afectar el comportamiento. |
|
apiLogin |
Min:12 Max:32 | String | Sí | Tu API Login. Cómo obtengo mi API Login |
apiKey |
Min:6 Max:32 | String | Sí | Tu API Key. Cómo obtengo mi API Key |
merchantId |
String | No | Identificador del comercio, es utilizado para generar las firmas para verificar las transacciones de pago. Este parámetro es obligatorio a menos que envíes la firma. |
|
paymentsUrl |
Min:1 | String | No | URL de lla página a donde vas a enviar las peticiones relacionadas a pagos. Por defecto, este parámetro toma la URL de producción. |
reportsUrl |
Min:1 | String | No | URL de lla página a donde vas a enviar las peticiones relacionadas a reportes. Por defecto, este parámetro toma la URL de producción. |
Ejemplo
PayU.apiKey = "xxxxxxxxxxxx"; // Ingresa tu API key aquí
PayU.apiLogin = "xxxxxxxxxxxx"; // Ingresa tu API login aquí
PayU.language = Language.en; // Ingresa aquí el idioma
PayU.isTest = false; // asigna true si estás en modo pruebas
LoggerUtil.setLogLevel(Level.ALL); // inclúyelo solo si quieres ver a traza del log completa. Si no, puedes removerlo.
PayU.paymentsUrl = "https://api.payulatam.com/payments-api/"; // inclúyelo si quieres probar en un servidor de pagos específico y asigna su URL.
PayU.reportsUrl = "https://api.payulatam.com/reports-api/"; // inclúyelo si quieres probar en un servidor de reportes específico y asigna su URL.
Para la ejecución de cada una de las operaciones provistas por el SDK de PayU, debes enviar un Mapa de parámetros al método correspondiente como argumento, este contiene toda la información de la transacción a procesar.
Map<String, String> parameters = new HashMap <String, String>();
parameters.put(PayU.PARAMETERS.TRANSACTION_ID, transactionId);
parameters.put(PayU.PARAMETERS.ORDER_ID, orderId.toString());
Para facilitar su uso, se proporcionan una serie de constantes en la interfaz PayU.PARAMETERS
que contienen los nombres de los parámetros utilizados en los métodos del SDK.
Para integrarte con el API, el SDK puede ser ejecutado en máquinas con PHP versión igual o superior a 5.2.1. Además, se necesitan las siguientes extensiones PHP en tu servidor:
Para tener acceso al las funcionalidades de SDK, necesitas incluir la clase PayU
ubicada en [PayU-php-sdk-Path]/lib/PayU.php.
<?php
require_once '[PayU-php-sdk-Path]/lib/PayU.php';
...
?>
Antes de realizar cualquier operación con el SDK, necesitas asignar algunos valores a la clase PayU
, los cuales aplican a todas las operaciones SDK y deben ser configurados con tu información comercial. La siguiente tabla muestra los valores que necesitas configurar.
Nombre del parámetro | Tamaño | Tipo | Obligatorio | Descripción |
---|---|---|---|---|
PayU::$language |
2 | Language | Sí | Idioma utilizado para mensajes de error en ell sistema y correos electrónicos enviados entre el comprado y el vendedor. Actualmente se soporta en en (inglés), es (español) and pt (portugués). |
PayU::$isTest |
boolean | Sí | Asigna true si es una petición de prueba, Si no, asigna false . Dependiendo del tipo de transacción u operación, el valor de este campo puede afectar el comportamiento. |
|
PayU::$apiLogin |
Min:12 Max:32 | String | Sí | Tu API Login. Cómo obtengo mi API Login |
PayU::$apiKey |
Min:6 Max:32 | String | Sí | Tu API Key. Cómo obtengo mi API Key |
PayU::$merchantId |
String | No | Identificador del comercio, es utilizado para generar las firmas para verificar las transacciones de pago. Este parámetro es obligatorio a menos que envíes la firma. |
Ejemplo
<?php
PayU::$apiKey = "xxxxxxxxxxxx"; // Ingresa tu llave API aquí
PayU::$apiLogin = "xxxxxxxxxxxx"; // Ingresa tu API login aquí
PayU::$merchantId = "1"; // Enter your Merchant Id here
PayU::$language = SupportedLanguages::ES; // Ingresa aquí el idioma
PayU::$isTest = false; // asigna true si estás en modo pruebas
...
?>
Además, necesitas configurar el API para redirigir tus peticiones utilizando la clase Environment
:
<?php
// URL de pagos
Environment::setPaymentsCustomUrl("https://sandbox.api.payulatam.com/payments-api/4.0/service.cgi");
// URL de reportes
Environment::setReportsCustomUrl("https://sandbox.api.payulatam.com/reports-api/4.0/service.cgi");
...
?>
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
en tus peticiones de pago.UTF-8
.yyyy-MM-ddTHH:mm:ss
, el formato de hora es 24 horas. Ejemplo: 2015-08-22T21:35:12
.El SDK de Pagos de Argentina le permite a tu tienda procesar diferentes tipos de transacciones con múltiples métodos de pago.
El SDK de Pagos de Brasil le permite a tu tienda procesar diferentes tipos de transacciones con múltiples métodos de pago.
El SDK de Pagos de Chile le permite a tu tienda procesar diferentes tipos de transacciones con múltiples métodos de pago.
El SDK de Pagos de Colombia le permite a tu tienda procesar diferentes tipos de transacciones con múltiples métodos de pago.
El SDK de Pagos de México le permite a tu tienda procesar diferentes tipos de transacciones con múltiples métodos de pago.
El SDK de Pagos de Perú le permite a tu tienda procesar diferentes tipos de transacciones con múltiples métodos de pago.
El SDK de Consultas te permite validar el estado de las órdenes generadas junto con sus transacciones.
El SDK de Tokenización te permite almacenar de forma segura, la información de las tarjetas de crédito de tus clientes a través de la creación de un token. Este token tee permite realizar pagos regulares o implementar la funcionalidad de pago a un clic, siguiendo lo estándares de seguridad de PCI DSS (Payment Card Industry Data Security Standard) para manejar los datos de las tarjetas de crédito.
Esta funcionalidad te permite solicitar la cancelación o el reembolso de transacciones autorizadas o cobradas. Puedes crear la solicitud utilizando los métodos de reembolso (Refund) o de cancelación (Void) de acuerdo con el estado de la transacción.