-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Webservices AZUL permite procesar transacciones con tarjetas VISA, MasterCard, American Express, Discover y Diners. El comercio afiliado puede desarrollar una aplicación en cualquier lenguaje de programación que soporte llamadas HTTP. Los sistemas pueden ser integrados a la plataforma de pagos de AZUL a través del consumo de los Webservices. Webservices están publicados en formato JSON, HTTPS Post Form y SOAP.
Nota: Para brindar la seguridad necesaria en la captura y envío de los datos hacia AZUL, el comercio deberá tener un tipo de autentificación para el formulario de tarjetas e implementar la conexión TLS 1.2.
Antes de empezar el proceso de integración/implementación, se debe establecer una comunicación segura entre el site del afiliado y el site de la plataforma de pagos de AZUL, para lo cual debe de elegirse entre:
- VPN Site-to-Site.
- Autenticación Mutua con Certificados Digitales emitidos localmente por AZUL.
Esta configuración debe realizarse tanto para el ambiente de pruebas como para el ambiente de producción.
Para la implementación de una comunicación segura con autenticación mutua, el afiliado debe presentar un Client Certificate emitido por AZUL (no tiene costo).
Para obtener el certificado digital primero debes generar un archivo CSR (Certificate Signing Request) y su llave (Key) de 4096 bits:
$ openssl req -new -newkey rsa:4096 -nodes -keyout your_domain.key -out your_domain.csr
Envía este archivo CSR a tu representante de AZUL, este te enviará el certificado digital que usarás para hacer requerimientos HTTP a Webservices junto con el archivo .key que creaste.
Las especificaciones con las cuales debe ser remitido el archivo CSR correspondiente son las siguientes:
Campo | Valor |
---|---|
Common Name* | URL del sitio web |
Organization Name** | Servicios Digitales Popular |
Organization Unit Name** | Produccion |
Country Name** | DO |
State or Province** | Santo Domingo |
Locality Name** | Distrito Nacional |
Level Encryption** | 4096 bits |
Campo | Valor |
---|---|
Common Name* | URL del sitio web |
Organization Name** | Servicios Digitales Popular |
Organization Unit Name** | Desarrollo |
Country Name** | DO |
State or Province** | Santo Domingo |
Locality Name** | Distrito Nacional |
Level Encryption** | 4096 bits |
* Debes indicar la URL de tu negocio (según el ambiente que se trate).
** Los archivos CSR deben llegar con estas informaciones, los valores son fijos sin importar el país o provincia en que se encuentren.
Notas Importantes
- Los datos de pruebas y de producción nunca van a ser similares
- Los factores de autenticación de prueba y producción nunca van a ser los mismos
- Las URL de pruebas y Ias de producción no son las mismas
Este documento solo usa la integración con JSON. Para más información, consulta el PDF original de AZUL.
Debes aplicar el header Content-Type: application/json
al momento de hacer el requerimiento.
Nota: El desarrollo debe estar preparado para intentar por la URI alternativa en caso de fallar la URL principal.
Cada requerimiento requiere de dos valores de autenticación Auth1
y Auth2
, los cuales serán entregados por AZUL durante el proceso de afiliación al servicio, el funcionamiento es similar al de un usuario/password. Debes incluir estos valores en los headers de la siguiente manera:
POST /webservices/JSON/Default.aspx
Content-Type: application/json
Auth1: usuario
Auth2: password
Los factores de autentificación para el ambiente de pruebas son diferentes a los que se les proveerá en el ambiente de producción.
Ejemplo de un requerimiento (Sale):
curl -X POST \
https://pruebas.azul.com.do/WebServices/JSON/Default.aspx \
-H 'Content-Type: application/json' \
-H 'Auth1: test' \
-H 'Auth2: test' \
--cert '/absolute/path/to/azul.crt' \
--key '/absolute/path/to/azul.key' \
-d '{
"Channel": "EC",
"Store": "1234567890",
"CardNumber": {{ValidCardNumber}},
"Expiration": {{ValidExpiration}},
"CVC": {{ValidCVC}},
"Amount": 650730,
"Itbis": 99264,
"PosInputMode": "E-Commerce",
"TrxType": "Sale",
"CurrencyPosCode": "$",
"Payments": "1",
"Plan": "0",
"AcquirerRefData": "1",
"RRN": null,
"CustomerServicePhone": "809-111-2222",
"OrderNumber": "",
"ECommerceUrl": "yourdomain.com",
"CustomOrderId": 1,
"DataVaultToken": "",
"ForceNo3DS": "1",
"SaveToDataVault": "0"
}'
Nombre | Descripción |
---|---|
Channel | Canal de pago. Este valor es proporcionado por AZUL junto a los datos de acceso a cada ambiente |
Store | Identificador único del comercio (MID), proporcionado por AZUL |
CardNumber | Número de tarieta. La longitud del campo se determina por la tarjeta, no se debe rellenar con ceros (O), espaclos, ni caracteres especiales |
Expiration | Fecha expiración/vencimiento de la tarieta Formato YYYYMM Ej: 201502 |
CVC | Código de seguridad de la tarieta (CVV2 0 CVC). |
PosInputMode | Modo de ingreso. Este valor es proporcionado por AZUL, junto a los datos de acceso a cada ambiente |
TrxType | Sale | Refund | Hold | CREATE | DELETE |
Amount | Monto total de la transacción (Impuestos incluidos.) Se envia sin coma ni punto. los dos últimos digitos representan los decimales. Ei. 1000 equivale a 10.00 Ej: 1748321 equivale a 17,483.21 |
Itbis | Valor del ITBIS. Igual formato que el campo Amount Si Ia transacción o el negocio est6n exentos, se envia en cero o simplemente no incluir en la solicitud. |
CurrencyPosCode | Moneda de Ia transacción Cada MID o tienda transacciona con una sola moneda. Este valor es proporcionado por AZUL, junto a los datos de acceso a cada ambiente |
Payments | Valor fijo: 1 |
Plan | Valor fijo: 0 |
AcquirerRefData | Valor fijo: 1 |
CustomerServicePhone | Número de servicio para atención telefónica del establecimiento. Ej: 8095442985 |
OrderNumber | Número de orden asociado a la transacción. Puede viaiar nulo, pero siempre debe de estar |
EcommerceURL | Dirección web del afiliado. |
CustomOrderId | Numero Identificador dada por el afiliado a la transacción |
AltMerchantName | Campo que permite al Comercio colocar un nombre mds descriptivo para que el tarietahabiente pueda identificarle en su estado de cuenta. Se sugiere siempre colocar su nombre comercial adecuadamente a fin de evitar disputas. Si 10 desea, puede agregar a su nombre algún indicador único de orden |
DataVaultToken | Valor del token generado por SDP en caso de que se desee realizar una transacción con dicho token. Si se manda el valor de esto, no se deben enviar los valores de CardNumber, Expiration. El envio de CVC si es ecommerce puede ser o no mandatorio depende de 10 conversado con Negoclos SDP. Si es MOTO la transacción, no se deberia enviar CVC. |
SaveToDataVault | Valores posibles 1 = si, 2 = no. Si se manda este valor en 1, SDP le devolvera el token generado en el campo DataVaultToken |
ForceNo3DS | Valores posibles 0 =no, 1 = Si. Si se manda el valor en 0, el servicio 3D Secure hace el Challenge. Si envia el valor 1, no se realiza el Challenge. |
Nombre | Descripción |
---|---|
AuthorizationCode | Cödigo de autorizaciön generado por el centroa utorizador para la transacciön. Sölo presente si la transacciön fue aprobada. ISOCode=ISO8583 y ResponseCode=0 |
CustomOrderID | Numero Identificador dada por el afiliado a la transacciön. Si no fue provisto en la transacciön, este campo viaia en blanco |
DateTime | Fecha y hora de la transacciön. Formato YYYYMMDDHHMMSS |
ErrorDescription | Descripciön del error. Valor sölo presente si la transacciön produio un error. En caso de no presentar error ese campo viaja en blanco |
ISOCode | Código ISO-8583 recibido de respuesta. |
LotNumber | Nümero de lote en que se registrö la transacciön |
RRN | Nümero de referencia (Reference Referral Number). |
AzulOrderld | # de orden SDP. Puede ser usado en vez del RNN para generar una devoluciön. Importante dar prioridad a este valor sobre el RNN. |
ResponseCode | Cödigo de respuesta. Puede contener uno de los siguientes valores: Is08583 = la transacciön fue procesada. Se debe revisar el campo ISOCode para ver la respuesta de la transacciön Error = La transacciön no fue procesada. |
ReponseMessage | Mensaie de respuesta ISO-8583. Valor sölo presente si el ResponseCode = ISO8583 |
Ticket | Nümero del ticket correspondiente a la transacciön |
CardNumber | Tarjeta usada para la transacciön, enmascarada (XXXXXX******XXXX) |
Los tipos de requerimientos que puedes hacer en Azul Webservices son:
- Sale
- Refund
- Hold
- Post
- Verify
- Create token
- Delete token
- 3DS Challenge
Consulta esta documentación para conocer cada uno.