EVO ahora forma parte de Global Payments, lo que nos permitirá ofrecer software y servicios aún más innovadores a millones de comercios y empresas en todo el mundo.

Índice de la documentación

Integración vía plugins

Hosted Payment Page

La integración Hosted Payments Page o integración de la página de pago alojada está diseñada para comercios que desean proporcionar una presencia web a sus clientes, y no desean preocuparse por las complejidades de administrar entornos que cumplan con la normativa PCI requerida para administrar datos sensibles de tarjetas. La característica principal de este método de integración es que UniversalPay administra un entorno compatible con PCI de nivel 1 que está certificado y auditado periódicamente. El comercio integrará el formulario de pago alojado de UniversalPay en su página o entorno web. El formulario de pago se carga de tal manera que todo el procesamiento se lleva a cabo en los servidores de UniversalPay, oculto de las páginas web y servidores del comercio, y se invoca la autenticación 3DS cuando se requiere. Los datos de la tarjeta de pago no estarán expuestos al sistema del comercio.

Dentro de HPP 

Nuestro Formulario de pago es nuestra solución alojada compatible con PCI DSS v3.2, que permite la captura de datos de tarjetas en un entorno securizado.

La integración se hace a través del protocolo HTTPS, con método POST, y el content type es el siguiente: application/x-www-form-urlencoded

A continuación, se detallan los endpoints URL para todas las llamadas API a las aplicaciones UniversalPay

Cualquier interacción con la pasarela de pagos de UniversalPay requiere de dos pasos obligatorios:

  1. Petición de Token de Sesión a la Api
  2. a. Petición de Carga de la Ventana o Formulario de Pago para iniciar un pago
  3. b. Petición a la Api a la Url de Acción para las siguientes operaciones:
    • Refund (Devolución)
    • Void (Anulación Preautorización)
    • Capture (Captura Preautorización)
    • Get Status (Conocer el estado de una operación)
    • Purchase (Para ventas Recurrentes)

Flujo de transacción de una solicitud de pago

Obtener Token de Sesión

En esta acción podremos hacer las siguientes llamadas:

  • Auth: Prautorización
  • Purchase: Venta
  • Verify: Operación de captura de credenciales por importe 0
Inspector de código
				
					merchantId
password 
action:AUTH/PURCHASE/VERIFY
timestamp:{{millis}}
channel:ECOM
country: 
allowOriginUrl:null
merchantNotificationUrl 
merchantLandingPageUrl 
merchantLandingPageRedirectMethod:GET
paymentSolutionId:500
brandId: 
userDevice:DESKTOP
userAgent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
customerIPAddress:217.127.186.91
language:es
amount:10
currency:EUR
customerFirstName:David
customerLastName:Lopez
customerId:DavidUP7
customerBrowser[browserAcceptHeader]:*/*
customerBrowser[browserJavaEnabled]:true
customerBrowser[browserJavascriptEnabled]:true
customerBrowser[browserLanguage]:ES
customerBrowser[browserColorDepth]:8
customerBrowser[browserScreenHeight]:800
customerBrowser[browserScreenWidth]:1200
customerBrowser[browserTZ]:1
sdkAppInfo:null

				
			

Caso de uso de una Operación de Venta Autenticada

				
					Response:
{
    "result": "success",
    "resultId": "ae847363-d3eb-415f-a9ad-8ce2d35c5714",
    "merchantId": "188536",
    "additionalDetails": {},
    "processingTime": 22,
    "token": "87800feb-4bc7-43ba-8f54-7772c51a707e"
}

				
			
				
					Error
{
    "result": "failure",
    "resultId": "0007ca83-cd19-4b80-a32c-1458012c1637",
    "additionalDetails": {},
    "errors": [
        {
            "messageCode": "This field is required in [REQUEST]",
            "fieldName": "action"
        }
    ],
    "processingTime": 8
}

				
			

Completar el Pago en el Formulario de UniversalPay

El siguiente paso es completar el proceso de pago mediante el formulario de pago de UniversalPay. El formulario de pago se puede presentar mediante redirección a otra ventana, o bien mediante iframe o incrustado sin salir de la web del cliente. Para la carga del formulario es necesario hacer una llamada con los siguientes parámetros:
  • merchantId
  • token (token obtenido en la respuesta a la primera petición)
  • integrationMode:hostedPayPage/standalone (en función del tipo de formulario de pago)

Redirección/Standalone:

Redirección/Standalone:

Iframe con Apms (Métodos de Pago Alternatrivos):

iframe apms

Iframe sin Métodos de Pago Alternatrivos:

iframe sin metodo de pago

El formulario de pago en Iframe y Redirección puede ser customizado por el integrador, mediante la siguiente plantilla CSS

Siguiente las instrucciones

Iframe customizado

iframe customizado

Resto de operativas

  • Refund (Devolución)
  • Void (Anulación Preautorización)
  • Capture (Captura Preautorización)
  • Get Status (Consultar el estado de una operación)

Obtener Token de Sesión llamando al URL de Session Token con los siguientes parámetros:

				
					merchantId
password
action REFUND/VOID/CAPTURE/GET STATUS
originalMerchantTxId
timestamp
allowOriginUrl
amount

Respuesta Ok:
{
"result":"success",
"merchantId":1111111,
"token":"abcde12345abcde12345",
”resultId”:”fghij67890fghij67890”,
“processingTime”: 2
}

Respuesta Ko:
{
"result":"failure",
"merchantId":1111111,
"errors":[
{ "messageCode": "This field is required in [REQUEST]", "fieldName": "password" }
],
“processingTime”: 4
}

				
			

Una vez obtenido el Token, ejecutar la acción llamando a la URL de Acción con los siguientes parámetros:

				
					merchantId
token

Ejemplo Respuesta Ok Capture:
{
“result”:”success”,
"merchantId":111111,
"merchantTxId":"abc123",
”txId”:546,
”status”:”SET_FOR_CAPTURE”,
"resultId": "4fd9f223-bb1a-4879-a6e6-81a10b53bdca",
"processingTime": 948
}

Respuesta Ko:
{
"result": "failure",
"resultId": "308802f2-224d-44f5-b256-8d9443a72770",
"additionalDetails": {},
"errors": [
{ "messageCode": "This field is required in [TOKEN]", "fieldName": "merchantId" }
],
"processingTime": 173
}

				
			

Caso de Uso Resto de Operativas:

Operativa Card On File, o Ventas Recurrentes

La pasarela de pago de UniversalPay dispone de Operativa Card On File.

¿Qué es el Card on File?

El proceso mediante el cual el titular de la tarjeta autoriza al comercio a guardar sus credenciales (datos de tarjeta) que se convierten en un token y que permiten al comercio emitir transacciones posteriores sin la participación del titular

La única diferencia entre una operación de venta autenticada normal y una operación de venta autenticada para hacer recurrencia, es que la operación inicial (Auth/Purchase/Verify) tenga los siguientes parámetros:

Obtener Token de Sesión:

				
					merchantId
password 
action:AUTH/PURCHASE/VERIFY
timestamp:{{millis}}
channel:ECOM
country: 
allowOriginUrl:null
merchantNotificationUrl 
merchantLandingPageUrl 
merchantLandingPageRedirectMethod:GET
paymentSolutionId:500
brandId: 
userDevice:DESKTOP
userAgent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
customerIPAddress:217.127.186.91
language:es
amount:10
currency:EUR
customerFirstName:David
customerLastName:Lopez
customerId:DavidUP7
customerBrowser[browserAcceptHeader]:*/*
customerBrowser[browserJavaEnabled]:true
customerBrowser[browserJavascriptEnabled]:true
customerBrowser[browserLanguage]:ES
customerBrowser[browserColorDepth]:8
customerBrowser[browserScreenHeight]:800
customerBrowser[browserScreenWidth]:1200
customerBrowser[browserTZ]:1
sdkAppInfo:null
cardOnFileType:First: (Obligatorio para transacción de inicial COF)
cardOnFileReasonR: (Obligatorio para Pagos Recurrentes)
cardOnFileMaxPayments: (100 (siempre mayor que 1) Obligatorio (número máximo de operaciones para ese plan de pagos)
mmrpBillPayment:Recurring (Obligatorio)
mmrpCustomerPresent:BillPayment Obligatorio
mmrpRecurringExpiry:YYYYMMDD Obligatorio ()Fecha estimada del plan de pagos, como norma general suele ser 12 meses, pero se puede poner a un plazo mayor))
mmrpRecurringFrequency:28 Obligatorio (28 días permite lanzar pagos dentro de todo un mes)
				
			

Completar el Pago en el Formulario de UniversalPay

El siguiente paso es completar el proceso de pago mediante el formulario de pago de UniversalPay. El formulario de pago se puede presentar mediante redirección a otra ventana, o bien mediante iframe o incrustado sin salir de la web del cliente. Para la carga del formulario es necesario hacer una llamada con los siguientes parámetros:

  • merchantId
  • token (token obtenido en la respuesta a la primera petición)
  • integrationMode:hostedPayPage/standalone (en función del tipo de formulario de pago)

Se completa la operación tal y como se indicó previamente.

En Url de notificación definida recibirás los datos necesarios para poder enviar una transacción recurrente iniciada por el comercio:

  • Pan (los datos de la tarjeta encriptados y convertidos en un token)
  • merchantTxId (número de la operación original)
				
					         [country=ES
         amount=10.00
         acquirerTxId=12322936
         txId=12322936
         language=es
         paymentSolutionDetails{
                 expiryDate=3D12%2F2023%2C
                 authCode=3D395922%2C
                 maskedPan=491801******3839
                 nameOnCard=UniversalPay Prueba
                 cardType=VISA+ELECTRON
                 }
         acquirer=EVO+IPG+Redsys+EUR+Testing
         acquirerAmount=10.00
         myriadFlowId=api-dky6po
         merchantId=188536
         brandId=1885360000
         merchantTxId=tlRtBqPELSoEBbFInUUu
         customerId=DavidUP7
         acquirerCurrency=EUR
         action=PURCHASE
         paymentSolutionId=500
         currency=EUR
         pan=5373179995403839
         status=CAPTURED
         originalTxId=null]

				
			

Caso de Uso Venta Inicial de una serie:

Lanzar Operación Sucesiva Recurrente iniciada por el Comercio

La operación recurrente se inicia como una venta normal pero los parámetros son distintos, ya que en este caso el que inicia es el comercio, y no es una operación inicial, por lo que no hay interacción con el cashier o página de pago.

Obtener Token de Sesión llamando al URL de Session Token con los siguientes parámetros

				
					 merchantId
password 
action: PURCHASE 
timestamp:{{millis}}
channel:MOTO
country: 
allowOriginUrl:null
merchantNotificationUrl 
merchantLandingPageUrl 
merchantLandingPageRedirectMethod:GET
paymentSolutionId:500
brandId: 
userDevice:DESKTOP
userAgent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
customerIPAddress:217.127.186.91
language:es
amount:10
currency:EUR
customerFirstName:David
customerLastName:Lopez
customerId:DavidUP7
customerBrowser[browserAcceptHeader]:*/*
customerBrowser[browserJavaEnabled]:true
customerBrowser[browserJavascriptEnabled]:true
customerBrowser[browserLanguage]:ES
customerBrowser[browserColorDepth]:8
customerBrowser[browserScreenHeight]:800
customerBrowser[browserScreenWidth]:1200
customerBrowser[browserTZ]:1
sdkAppInfo:null
cardOnFileReasonR: (Obligatorio para Pagos Recurrentes)
cardOnFileMaxPayments: (100 (siempre mayor que 1) Obligatorio (número máximo de operaciones para ese plan de pagos)
mmrpBillPayment:Recurring (Obligatorio)
mmrpCustomerPresent:BillPayment Obligatorio
mmrpRecurringExpiry:YYYYMMDD Obligatorio ()Fecha estimada del plan de pagos, como norma general suele ser 12 meses, pero se puede poner a un plazo mayor))
mmrpRecurringFrequency:28 Obligatorio (28 días permite lanzar pagos dentro de todo un mes) 
mmrpOriginalMerchantTransactionId	: Obligatorio (El id obtenido de la transacción original)
specinCreditCardToken: Obligatorio (el token obtenido en la operación original)
cardOnFileInitialTransactionId: Obligatorio (El id obtenido de la transacción original)
specinProcessWithoutCvv2:TRUE(Obligatorio)
cardOnFileType:Repeat (Obligatorio para transacción de subsiguiente COF)
				
			

Hacer la Llamada a la Url de Acción con los siguientes parámetros:

  • merchantId
  • token (el token de sesión obtenido en el paso anterior)
				
					Respuesta:
{
    "txId": "12315608",
    "language": "es",
    "paymentSolutionDetails": {
        "authCode": "378691",
        "expiryDate": "12/2023",
        "cardType": "VISA ELECTRON",
        "maskedPan": "491801******4602",
        "nameOnCard": "UniversalPay Prueba"
    },
    "result": "success",
    "expired": null,
    "merchantId": "178549",
    "merchantTxId": "PedidoRecurrenteOctubre2022",
    "customerId": "Cliente1A",
    "merchantLandingPageRedirectMethod": "GET",
    "action": "PURCHASE",
    "paymentSolutionId": "500",
    "currency": "EUR",
    "pan": "6454620653464602",
    "amount": "60",
    "resultId": "e9e9c58b-760d-40e5-9400-5e5151910591",
    "merchantLandingPageUrl": "https://ptsv2.com/t/b7hs9-1634670567/post",
    "acquirerTxId": "12315608",
    "additionalDetails": {},
    "acquirerAmount": "",
    "processingTime": 1697,
    "bankId": null,
    "brandId": "1785490000",
    "freeText": "",
    "acquirerCurrency": "",
    "errors": null,
    "status": "CAPTURED"
}
				
			

Importante

Dentro de la Operative Card On File hay distintos motivos que se pueden incluir dentro de la llamada:

  • Instalments
  • Recurring
  • No Show
  • Ucof
  • Incremental
  • Delayed Charges
  • Reauthorization
  • Resubmission

Si deseas más información sobre este tipo de operativa por favor escribe a:

Integraciones_es@evopayments.com

Integración vía API

La integración Direct Api está diseñada para los comercios que tienen un entorno de pago compatible con PCI totalmente funcional.

La característica principal de este método de integración es la capacidad del comercio para desarrollar su propio formulario de pago, donde sus clientes ingresan la información confidencial de su tarjeta.

En este escenario, el comercio está utilizando UniversalPay para procesar el pago, integrarse con 3DS y admitir transacciones a través de su adquiriente.

Esta integración está diseñada a comercios tecnológicamente más sofisticados que administran sistemas complejos que brindan una experiencia de compra completa al cliente. Permite aceptar métodos de pago de todo el mundo.

Dentro de API

Diferencias entre Direct Api y Hosted Payment Page

Función Tokenice:

La principal diferencia es que, en este caso, al ser cliente PCI, el formulario de pago es el del propio comercio.

Obtener Token de Sesión

Los parámetros son los siguientes:

				
					merchantId
password
action: TOKENIZE
timestamp
allowOriginUrl
customerId: (Opcional)

				
			
Completar el Pago introduciendo datos de tarjeta en claro

Los parámetros son los siguientes:

				
					merchantId
token
number (Número de la tarjeta)
nameOnCard (Nombre del titular)
expiryMonth
expiryYear

Respuesta
{
    "result": "success",
    "country": "GB",
    "resultId": "87ef995a-36a8-418d-b5e1-28760aec8415",
    "merchantId": "188536",
    "cardType": "400",
    "customerId": "viLFsk2pVKF0KpNqQJ4p",
    "additionalDetails": {},
    "cardToken": "5660280929951111",
    "processingTime": 651,
    "cardIssuer": null
}
				
			
Resto de Operativas

Son exactamente las mismas que se han descrito dentro de la integración HPP:

  • Auth/Purchase/Verify
  • Refund
  • Void
  • Capture
  • Get Status
  • Purchase (Ventas Recurrentes)

Medios de pago

La pasarela de pago te permite ofrecer a tus clientes la posibilidad de pagar a través de múltiples canales, mostrándoles una única interfaz y realizando una integración sencilla a las aplicaciones finales. Los siguientes métodos de pago son compatibles actualmente en España:

  • Tarjetas de Débito/Crédito
  • Paypal
  • GooglePay

Basado en sus propios requisitos de negocio, usted puede definir, para cada caso en específico, el conjunto de métodos de pago a ser presentado a sus clientes.

Integración vía plugins

Es una integración de la pasarela de pagos de UniversalPay rápida y sencilla que no conlleva tener conocimientos de lenguaje de programación. Este tipo de integración da acceso a la mayoría de funcionalidades de nuestra solución de comercio electrónico. Estos plugins son desarrollados por nuestros equipos técnicos, que periódicamente los actualizan y mejoran. Ofrecen métodos de pago por tarjeta y opciones de pago alternativas (PayPal, GooglePay…).

La característica principal de este método de integración es que UniversalPay administra un entorno compatible con PCI de nivel 1 que está certificado y auditado periódicamente.

El comercio integrará el formulario de pago alojado de UniversalPay en su página o entorno web. El formulario de pago se carga de tal manera que todo el procesamiento se lleva a cabo en los servidores de UniversalPay, oculto de las páginas web y servidores del comercio, y se invoca la autenticación 3DS cuando se requiere. Los datos de la tarjeta de pago no estarán expuestos al sistema del comercio.

Ofrecemos una gama de plugins para soluciones tecnológicas líderes para dar a sus clientes la mejor experiencia de pago. Nuestros plugins son fáciles y rápidas de integrar.

Plugin

Solo por HPP

Woocommerce

Hosted Payments

Magento 2

Hosted Payments

Opencart

Hosted Payments

Prestashop

Hosted Payments

Virtuemart

Hosted Payments

Zencart

Hosted Payments

osCommerce

Hosted Payments

¿Qué estás buscando?

Buscar