API – Developers Docs API – Developers Docs
  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
API – Developers Docs API – Developers Docs
API – Developers Docs
  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
Universal Pay
  • Folder icon closed Folder open iconIntegraciones
    • Integración Hosted
    • Integración vía API
    • Integración vía Plugins
  • Folder icon closed Folder open iconSoporte técnico
  • Folder icon closed Folder open iconPreguntas frecuentes

Universal Pay

TPV Virtual UniversalPay

UniversalPay ahora forma parte de Comercia Global Payments S.L., lo que nos permitirá ofrecer Software y servicios aún más innovadores a millones de empresas en todo el mundo. 

Si tu comercio aun utiliza un TPV Virtual UniversalPay te ofrecemos la información y documentación necesaria para su integración

UniversalPay Logo

¡Atención! Esta documentación es sólo valida para el TPV Virtual UniversalPay. Si tienes dudas si esta documentación es para tu comercio, consulta a nuestro equipo de soporte. 

UniversalPay 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

Endpoints

Entornos

Session Token Request URL

Action Request URL

Back-Office

Payment Form URL (Solo para comercios HPP)

Payment Form Iframe URL (Solo para comercios HPP)

Test

https://api.test.universalpay.es/token

https://api.test.universalpay.es/payments

https://backofficeui.test.universalpay.es/

https://cashierui.test.universalpay.es/

https://cashierui.test.universalpay.es/ui

Producción

https://api.universalpay.es/token

https://api.universalpay.es/payments

https://backofficeui.universalpay.es/

https://cashierui.universalpay.es/

https://cashierui.universalpay.es/ui

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

archivo de descarga

Operación venta autenticada Click-UP

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

archivo de descarga

Cashier customisations template

Siguiente las instrucciones

archivo de descarga

Important CSS elements for iFrame-Standalone Hosted Payment sample CSS

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:

archivo de descarga

Operación VOID Click-UP

archivo de descarga

Operación devolución Click-UP

archivo de descarga

Operación capture Click-UP

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:

archivo de descarga

Operación venta con tokenización subscripción Click-UP

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

Link

Woocommerce

Hosted Payments

Github

Magento 2

Hosted Payments

Github

Opencart

Hosted Payments

Github

Prestashop

Hosted Payments

Github

Virtuemart

Hosted Payments

Github

Zencart

Hosted Payments

Github

osCommerce

Hosted Payments

Github

Integraciones
Integraciones

Soporte técnico
Soporte técnico

Preguntas frecuentes
Preguntas frecuentes

Comparte este documento

Universal Pay

Copiar el enlace

Clipboard Icon
Tabla de Contenidos

Productos

  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
  • Universal Pay
  • Addon 1 - XML API Integration

Ventas

Cuéntanos cómo es tu negocio para ofrecerte la mejor solución.

Contacta con un experto

Soporte técnico

¿Ya eres cliente y necesitas ayuda? Contacta con nosotros, estamos a tu disposición.

Ayuda

Socios

Trabajamos con los mejores partners de soluciones in-store y eCommerce. ¿Quieres unirte?

Únete a nosotros

© Comercia Global Payments

Política de privacidad
Ejercicio de Derechos
Información a Clientes
Canal de denuncia
Aviso Legal
Política de cookies
Pregúntale a la IA
Escribe tu pregunta. Por ejemplo: ¿Cómo creo un enlace de pago?
La SmartWiki puede omitir datos. Verifica la información o contacta con soporte.

SmartWiki, Impulsada por IA

API - Developers Docs
Gestionar el consentimiento de las cookies
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar {vendor_count} proveedores Leer más sobre estos propósitos
Ver preferencias
{title} {title} {title}

Cyberpac

Consulta la documentación de Cyberpac. Aquí tienes las distintas secciones:

Canales

Módulos de integración

Integraciones a medida

Consulta la documentación de las distintas secciones de integraciones:

Comienza a integrar

undraw_add_to_cart_re_wrdo 1 (1) (1)

Plugins para CMS

Complementa la integración

SDKs

Métodos de pago

Herramientas

Addon Payments

Consulta la documentación de Addon Payments. Aquí tienes las distintas secciones:

Integraciones

Consultas frecuentes

Portal Backoffice

Pagos integrados en TPV

Crea una solución que te ayudará a automatizar procesos. Incluso, podrás agregar procesos de pago en terminales físicos.

Pago integrado con TPV Android

Pago integrado con Smartphone TPV

Fichas Técnicas TPVs

Addon Payments

Comercia Global Payments has several integration options so you can choose the most efficient one for you.

Integrations

Frequently Asked Questions

BackOffice Portal

Consult the documentation of the different integrations sections:​

Start integration

undraw_add_to_cart_re_wrdo 1 (1) (1)

CMS Plugins

Complement your integration

SDKs

Payment Methods

Tools