Nonce: 07aed9e6318401f5fa21c97c364d385b

Toggle navigation

Documentación

Version 2.0.0

Conecte su plataforma con el API de GlobalPay Redeban en minutos, usando SDK, botones de pago, ligas para pagar,  desde su Celular o su página Web.


Ya sea que esté creando un cobro único o guardando los datos de la tarjeta de su cliente para realizar los cobros después,  utilizar la información de la tarjeta con GlobalPay Redeban es un procesos de dos pasos:

  1. Recopile de forma segura segura información de pago mediante la tokenización de la tarjeta.
  2. Use la información de pago en una solicitud de cargo o guárdela para más adelante.

La tokenización del lado del cliente es el método que GlobalPay Redeban usa para recopilar información de la tarjeta directamente de sus clientes de manera segura. Durante este proceso, un token que representa esta información se devuelve a su servidor para su uso en una solicitud de cargo  (o para guardar los detalles de la tarjeta para su uso posterior).

 

La tokenización  asegura que ningún dato sensible de la tarjeta necesite estar en su servidor para que su integración pueda operar de manera compatible con PCI. Si alguna información de la tarjeta pasara por,  o se llegase a almacenar en su servidor,  usted sería responsable de cualquier penalidad o auditoría que imponga PCI DSS.

DEMO ADD CARD SDK

Javascript

Github Repository

Revise el ejemplo funcionando

Instalación

Primero necesitas incluir jQuery y los archivos payment_[version].min.js y payment_[version].min.css dentro de tu página web especificando "UTF-8" como charset.

<script src="https://code.jquery.com/jquery-1.11.3.min.js" charset="UTF-8"></script>

<link href="https://cdn.globalpay.com.co/ccapi/sdk/payment_stable.min.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.globalpay.com.co/ccapi/sdk/payment_stable.min.js" charset="UTF-8"></script>

Uso

Para revisar ejemplos funcionales utilizando GlobalPayRedebanJS, revisa los ejemplos dentro de este proyecto.

Utilizando el Form de GlobalPay Redeban

Cualquier elemento con la clase payment-form será automáticamente convertido en una entrada de tarjeta de crédito básica con fecha de vencimiento y el check de CVC.

La manera más fácil de comenzar con la GlobalPayRedebanForm es insertando el siguiente pedazo de código:

<div class="payment-form" id="my-card" data-capture-name="true"></div>

Para obtener el objeto Card de la instancia PaymentForm, pregunte al formulario por su tarjeta.

let myCard = $('#my-card');
let cardToSave = myCard.PaymentForm('card');
if(cardToSave == null){
  alert("Invalid Card Data");
}

Si la tarjeta (Card) regresada es null, el estado de error mostrará los campos que necesitan ser arreglados.

Una vez que obtengas un objeto no null de la tarjeta (Card) del widget, podrás llamar addCard.

Biblioteca Init

Siempre debes inicializar la biblioteca.

/**
  * Init library
  *
  * @param env_mode `prod`, `stg`, `local` para cambiar ambiente. Por defecto es `stg`
  * @param client_app_code proporcionado por GlobalPay Redeban.
  * @param client_app_key proporcionado por GlobalPay Redeban.
  */
Payment.init('stg', 'CLIENT_APP_CODE', 'CLIENT_APP_KEY');

addCard Agregar una Tarjeta

La función addCard convierte los datos confidenciales de una tarjeta, en un token que puede pasar de forma segura a su servidor, para realizar el cobro al usuario.

Esta funcionalidad consume el servicio de nuestro API pero de manera segura para comercios que no cuentan con certificación PCI. Aquí podras encontrar la descripción de cada campo en la respuesta.

/*
 * @param uid Identificador del usuario. Este es el id que usas del lado de tu aplicativo.
 * @param email Email del usuario para iniciar la compra. Usar el formato válido para e-mail.
 * @param card La tarjeta que se desea tokenizar.
 * @param success_callback Funcionalidad a ejecutar cuando el servicio de la pasarela responde correctamente. (Incluso si se recibe un estado diferente a "valid")
 * @param failure_callback Funcionalidad a ejecutar cuando el servicio de la pasarela responde con un error.
 * @param payment_form Instancia del formulario de Pago
 */
Payment.addCard(uid, email, cardToSave, successHandler, errorHandler, myCard);

let successHandler = function(cardResponse) {
  console.log(cardResponse.card);
  if(cardResponse.card.status === 'valid'){
    $('#messages').html('Tarjeta correctamente agregada<br>'+
                  'Estado: ' + cardResponse.card.status + '<br>' +
                  "Token: " + cardResponse.card.token + "<br>" +
                  "Referencia de transacción: " + cardResponse.card.transaction_reference
                );
  }else if(cardResponse.card.status === 'review'){
    $('#messages').html('Tarjeta en revisión<br>'+
                  'Estado: ' + cardResponse.card.status + '<br>' +
                  "Token: " + cardResponse.card.token + "<br>" +
                  "Referencia de transacción: " + cardResponse.card.transaction_reference
                );
  }else{
    $('#messages').html('Error<br>'+
                  'Estado: ' + cardResponse.card.status + '<br>' +
                  "Mensaje: " + cardResponse.card.message + "<br>"
                );
  }
  submitButton.removeAttr("disabled");
  submitButton.text(submitInitialText);
};

let errorHandler = function(err) {
  console.log(err.error);
  $('#messages').html(err.error.type);
  submitButton.removeAttr("disabled");
  submitButton.text(submitInitialText);
};

El tercer argumento para el addCard es un objeto Card que contiene los campos requeridos para realizar la tokenización.

getSessionId

El Session ID es un parámetro que GlobalPay Redeban utiliza para fines del antifraude. Llame este método si usted desea recolectar la información del dispositivo del usuario.

let session_id = Payment.getSessionId();

Una vez que tenga el Session ID, puedes pasarlo a tu servidor para realizar el cargo al usuario.

PaymentForm Referencia Completa

Inserción Manual

Si desea alterar manualmente los campos utilizados por PaymentForm para añadir clases adicionales, el placeholder o id. Puedes rellenar previamente los campos del formulario como se muestra a continuación.

Esto podría ser útil en caso de que desees procesar el formulario en otro idioma (de forma predeterminada, el formulario se representa en español), o para hacer referencia a alguna entrada por nombre o id.

Por ejemplo si desea mostrar el formulario en Inglés y añadir una clase personalizada para el card_number

<div class="payment-form">
  <input class="card-number my-custom-class" name="card-number" placeholder="Card number">
  <input class="name" id="the-card-name-id" placeholder="Card Holders Name">
  <input class="expiry-month" name="expiry-month">
  <input class="expiry-year" name="expiry-year">
  <input class="cvc" name="cvc">
</div>

Seleccionar Campos

Puedes determinar los campos que mostrará el formulario.

Field Description
data-capture-name Input para nombre del Tarjetahabiente, requerido para tokenizar
data-capture-email Input para email del usuario
data-capture-cellphone Input para teléfono celular del usuario
data-icon-colour Color de los íconos
data-use-dropdowns Utiliza una lista desplegable para establecer la fecha de expiración de la tarjeta
data-exclusive-types Define los tipos de tarjetas permitidos
data-invalid-card-type-message Define un mensaje personalizado para mostrar cuando se registre una tarjeta no permitida

El campo 'data-use-dropdowns' puede resolver el problema que se presenta con la mascara de expiración en dispositivos móviles antiguos.

Se integra en el form de manera simple, como se muestra a continuación:

<div class="payment-form"
id="my-card"
data-capture-name="true"
data-capture-email="true"
data-capture-cellphone="true"
data-icon-colour="#569B29"
data-use-dropdowns="true">

Tipos de tarjetas específicos

Si deseas especificar los tipos de tarjetas permitidos en el formulario, como Exito o Alkosto. Puedes configurarlo como en el siguiente ejemplo: Cuando una tarjeta de un tipo no permitido es capturado, el formulario se reinicia, bloqueando las entradas y mostrando un mensaje Tipo de tarjeta invalida para está operación.

<div class="payment-form"
id="my-card"
data-capture-name="true"
data-exclusive-types="ex,ak"
data-invalid-card-type-message="Tarjeta invalida. Por favor ingresa una tarjeta Exito / Alkosto."
>

Revisa todos los tipos de tarjetas permitidos por GlobalPay Redeban.

Leyendo los Valores

PaymentForm proporciona funcionalidad que le permite leer los valores del campo de formulario directamente con JavaScript.

Genera un elemento de PaymentForm y asigne un id único (en este ejemplo my-card)

<div class="payment-form" id="my-card" data-capture-name="true"></div>

El siguiente javascript muestra cómo leer cada valor del formulario en variables locales.

let myCard = $('#my-card');

let cardType = myCard.PaymentForm('cardType');
let name = myCard.PaymentForm('name');
let expiryMonth = myCard.PaymentForm('expiryMonth');
let expiryYear = myCard.PaymentForm('expiryYear');
let fiscalNumber = myCard.PaymentForm('fiscalNumber');

Funciones

Para llamar a una función en un elemento PaymentForm, sigue el patrón a continuación. Remplace el texto 'function' con el nombre de la función que desea llamar.

$('#my-card').PaymentForm('function')

Las funciones disponibles se enumeran a continuación

Function Description
card Obtiene la tarjeta del objeto
cardType Obtiene el tipo de tarjeta que se capturó
name Obtiene el nombre capturado
expiryMonth Obtiene el mes de expiración de la tarjeta
expiryYear Obtiene el año de expiración de la tarjeta
fiscalNumber Obtiene el número fiscal del usuario / cédula

Función CardType

La función cardType devolverá una cadena según el número de tarjeta ingresado. Si no se puede determinar el tipo de tarjeta, se le dará una cadena vacía.

Marcas permitidas


GlobalPay Redeban Checkout, simplifica el procesamiento de pagos en línea de manera segura. Integra rápidamente el Checkout en su sitio para proporcionar a sus usuarios una solución optimizada, ofreciendo una experiencia de pago preparada para dispositivos móviles que mejora constantemente.

La forma más fácil de integrar GlobalPay Redeban es a través de Checkout, una herramienta integrada que se encarga de crear un formulario HTML, validar la entrada del usuario y proteger los datos de la tarjeta de sus clientes. Al usar Checkout, la información confidencial de la tarjeta de crédito se envía directamente a GlobalPay Redeban y no toca tu servidor. GlobalPay Redeban devuelve a tu sitio un objeto de transacción con el resultado de la operación.

Para ver el Checkout en acción, haz clic en el botón de arriba y completa el formulario con:

  • Cualquier dirección de correo electrónico aleatoria y sintácticamente válida (cuanto más aleatoria, mejor)
  • Cualquier número de teléfono, como 777777777
  • Nombre de cualquier titular de tarjeta
  • Uno de los números de tarjeta de prueba, como 4111111111111111
  • Cualquier código CVC de tres dígitos
  • Cualquier fecha de vencimiento a futuro

Ver ejemplo de trabajo

Integración

La integración personalizada requiere habilidades sólidas de JavaScript.

Cuando se carga su página, debe crear un objeto controlador utilizando paymentCheckout.modal(). Luego puede llamar la función open() en el controlador en respuesta a cualquier evento. Si necesita abortar el proceso de pago, por ejemplo, cuando la navegación ocurre en una aplicación de una sola página, llame la función close() en el controlador.

<!DOCTYPE html>
<html>
<head>
  <title>Example | Payment Checkout Js</title>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://cdn.globalpay.com.co/ccapi/sdk/payment_checkout_3.1.0.min.js"></script>
</head>
<body>
<button class="js-payment-checkout">Pay with Card</button>
<div id="response"></div>

<script>
  let paymentCheckout = new PaymentCheckout.modal({
    env_mode: 'stg', // `prod`, `stg`: to change environment. Default is `stg`
    onOpen: function () {
      console.log('modal open');
    },
    onClose: function () {
      console.log('modal closed');
    },
    onResponse: function (response) { // The callback to invoke when the Checkout process is completed

      /*
        In Case of an error, this will be the response.
        response = {
          "error": {
            "type": "Server Error",
            "help": "Try Again Later",
            "description": "Sorry, there was a problem loading Checkout."
          }
        }

        Cuando el usuario completa el flujo en el Checkout, esta será la respuesta.
        response = {
          "transaction":{
              "status": "success", // Estado de la transacccion
              "id": "CB-81011", // Id de la transaccion de lado de la pasarela
              "status_detail": 3 // Para mas detalles de los estados: /api/#detalle-de-los-estados
          }
        }
      */
      console.log('modal response');
      document.getElementById('response').innerHTML = JSON.stringify(response);
    }
  });

  let btnOpenCheckout = document.querySelector('.js-payment-checkout');
  btnOpenCheckout.addEventListener('click', function () {
    paymentCheckout.open({
      reference: '8REV4qMyQP3w4xGmABO' // reference received for Payment Gateway
    });
  });

  window.addEventListener('popstate', function () {
    paymentCheckout.close();
  });
</script>
</body>
</html>

Opciones de configuración

Cambia la apariencia y el comportamiento de Checkout con las siguientes opciones de configuración.

PaymentCheckout.modal

| Parámetro | Requerido | Descripción | | env_mode | yes | prod, stg: to change environment. Default is stg | | onOpen | no | function() Callback a invocar cuando el Checkout es abierto | | onClose | no | function() Callback a invocar cuando el Checkout es cerrado | | onResponse | yes | function(responseObject) The callback to invoke when the Checkout process is complete |

Objeto de respuesta

Cuando el usuario complete todo el flujo en el proceso de pago, esta será la respuesta.

{  
  "transaction": {  
    "status": "success", // Estado de la transacción
    "id": "CB-81011", // Id de la transacción de lado de la pasarela
    "status_detail": 3 // Para más detalles de los detalles de estado: /api/#detalle-de-los-estados
  }
}

En caso de error, esta será la respuesta.

{
  "error": {
    "type": "Server Error",
    "help": "Try Again Later",
    "description": "Sorry, there was a problem loading Checkout."
  }
}

PaymentCheckout.open

Parametro Requirido Descripción
reference yes Reference transaction. Se obtiene esta referencia al llamar al servicio init transaction.

Generar Reference

Antes de invocar el checkout, se debe generar una referencia con los datos del pago, ver /api/#metodos-de-pago-tarjetas-inicializar-una-referencia

Requisitos HTTPS

Todos los envíos de información de pago mediante Checkout se realizan a través de una conexión HTTPS segura. Sin embargo, para protegerse de ciertas formas de ataques man-in-the-middle, también debe servir la página que contiene el formulario de pago a través de HTTPS. En resumen, la dirección de la página que contiene Checkout debe comenzar con https: // en lugar de solo http: //.

Navegadores compatibles

Checkout se esfuerza por admitir todas las versiones recientes de los principales navegadores. Por razones de seguridad y para proporcionar la mejor experiencia a la mayoría de los clientes, no admitimos navegadores que ya no reciben actualizaciones de seguridad y representan una pequeña minoría de tráfico.

Evitar que se bloquee Checkout

Puede evitar que se bloquee la ventana emergente de Checkout llamando a paymentCheckout.open cuando el usuario hace clic en un elemento de la página. No llames a paymentCheckout.open dentro de un callback. Este diseño indica al navegador que el usuario está solicitando explícitamente la ventana emergente. De lo contrario, los dispositivos móviles y algunas versiones de Internet Explorer bloquearán la ventana emergente y evitarán que el uso adecuado por el cliente.

 

Qué es 3DS2 y cómo funciona

3D Secure 2 es la nueva generación de tecnología de autenticación introducida por EMVCo, una compañía  de American Express, Discover, JCB, MasterCard, UnionPay y Visa  en propiedad colectiva. Esta tecnología permite a los titulares de tarjetas autenticarse con el emisor de su tarjeta mientras realizan compras en línea sin tarjeta presente.

La nueva especificación incluye:

  • Admite compras de manera nativa  en  aplicaciones móviles  y otros dispositivos
  • Mejora la experiencia del consumidor al permitir decisiones inteligentes basadas en el riesgo que fomentan la autenticación del consumidor sin fricción
  • Ofrece características de seguridad líderes en la industria.
  • Especifica el uso de múltiples opciones para la autenticación progresiva, incluidas las contraseñas de un solo uso (OTP), así como los datos biométricos a través de la autenticación fuera de banda
  • Mejora la funcionalidad que permite a los comercios integrar el proceso de autenticación en sus experiencias de pago, tanto para aplicaciones móviles como implementaciones basadas en navegador
  • Ofrece mejoras de rendimiento para el procesamiento de mensajes de extremo a extremo
  • Agrega una categoría de mensaje sin pago para proporcionar detalles de verificación del titular de la tarjeta, para admitir diversas actividades que no conllevan pagos, como agregar una tarjeta  a una billetera digital.

A diferencia de la versión anterior donde los compradores son redirigidos a otro sitio, en 3D Secure 2 el emisor de la tarjeta realiza la autenticación dentro de su aplicación o formulario de pago. El banco emisor puede verificar la identidad del comprador utilizando enfoques de autenticación pasiva, biométrica y de dos factores.

Una transacción puede pasar por un flujo de autenticación pasiva sin fricción o un flujo de autenticación con  desafío donde el emisor requiere una mayor interacción con un comprador.

 

Flujo sin fricción

En un flujo sin fricción, el adquirente,  el emisor y la franquicia de la tarjeta intercambian toda la información necesaria en segundo plano, a través de una autenticación pasiva, utilizando la huella digital del dispositivo (device fingerprint)  del comprador.

En su integración, necesitará obtener la huella digital del dispositivo 3D Secure 2 y, sí el emisor lo valida y lo aprueba, la transacción será completada por sin más interacción por parte del comprador. (Pasos 1-4 en la siguiente figura).

Flujo con desafío

En el flujo con desafío, el emisor requiere interacción adicional del comprador para la verificación, ya sea a través de autenticación de dos factores, bromearía o métodos similares.

En 3DS 2.0, el resultado del desafío se comunica a través del DS. (Paso 6 en la figura a continuación) Por lo tanto, el comercio  es informado sobre los resultados de autenticación a través de un canal separado, que es más seguro.

Integración para sólo autenticar

Admitimos la autenticación 3D Secure 2 para transacciones web y en la aplicación móvil, con su integración de pagos en línea.

Es posible realizar solo la autenticación, sin realizar el pago.

Para mayor información revise la documentación de nuestra API para este caso.

Para una integración Web, el flujo es distinto:

Para mayor información revise la documentación de nuestra API para este caso.

 

Cobro con autenticación 3DS2

En este tipo de integración, realizaremos la autenticación e inmediatamente después se procede con el cobro.

El cobro puede llevarse a cabo a través de los distintos servicios que proveemos, dependiendo del país y del tipo de integración. Las posibilidades son: Agregar una Tarjeta, Cobro con Token, Cobro con Tarjeta Crédito y Autorizar.

Para el flujo de Agregar una Tarjeta, la autenticación será llevada a cabo antes de añadir la tarjeta en nuestra bóveda.

Para una integración Web, el flujo es el siguiente:

El flujo de autenticación 3DS 2 comienza con una solicitud de cobro. Envíe una solicitud de cobro desde su servidor con los objetos requeridos para 3D Secure2.

Maneje la transacción de acuerdo al Status and Status detail que haya obtenido. Por ejemplo, si recibe un Status Pending y un Status detail 35 proceda a renderizar el iframe oculto proporcionado en la respuesta, y después solicite la verificación (endpoint Verificar).

Las posibles respuestas de la verificación son:

  • Success: Esto significa que la autenticación fue sin fricción y el cobro ha sido autorizado.
  • Pending: El emisor requiere interacción adicional con el comprador. Prosiga con el flujo de desafío.
  • Failure:  La autenticación fue fallida o algo salió mal. En la respuesta se incluye el motivo de rechazo.

 

PSE / ACH

Los usuarios realizan una transferencia bancaria, desde su propia cuenta. La aprobación puede tomar hasta 72 horas.

Los pasos a seguir son los siguientes:

  1. Primero es necesario consultar la lista de bancos disponibles.
  2. Luego crear una transferencia bancaria, en este paso le regresaremos una URL del banco.
  3. Se deberá redireccionar al usuario al *URL del banco* que se regresó en el paso anterior.
  4. Cuando el usuario termine la transacción en la oficina virtual de su banco, será redirigido la url que fue proporcionada en la creación de la transacción response_url.
  5. Una vez que el cliente regrese a su plataforma, usted deberá consultar  el estado de la transacción, de tal manera que PSE cierre la transacción y regrese el status final. Usted obtendrá el estado final de la transacción por este servicio  y también a través del  web hook.

Efectivo

El comercio genera una referencia para que el usuario pueda pagar en una institución, con la cual se tenga un acuerdo.

Generamos referencias de pago para baloto, efecty, dimonex, puntored y reservi.

Los pasos son los siguientes:

  1. Genera una referencia.
  2. Espere hasta que el cliente final realize el pago.

Tarjetas Tuya

Es posible utilizar las tarjetas Tuya a través de nuestra plataforma, esté es una guía rápida para su uso:

  • Flujo para agregar una tarjeta Tuya

 

  1. Agregar una tarjeta utilizando nuestro  javascript, al hacerlo, obtendrá un card.token, card.status, transaction.id, entre otra información. Si el cliente tiene clave temporal clave con autenticación fuerte, el card.status será pending y el siguiente paso será el paso 2, de otra manera la tarjeta estará activa y por tanto el siguiente  paso será el 5.
  2. Si el card.status es pending entonces el card.message deberá de contener un objeto son con los datos del email o teléfono celular del cliente, para este caso deberá de mostrar uno de los siguientes mensajes a su cliente:

    Mensaje con teléfono y email:

    Enviamos a tu número de celular {phone} y a tu correo electrónico {email} una clave temporal con una vigencia de un minuto, por favor ingrésala cuando la recibas. Si no es tu número de celular o correo electrónico debes actualizar tus datos personales en los centros de atención de tu entidad financiera.

    Mensaje solo con email:

    Enviamos a tu correo electrónico {email} una clave temporal con una vigencia de un minuto, por favor ingrésala cuando la recibas. Si no es tu correo electrónico debes actualizar tus datos personales en los centros de atención de tu entidad financiera.

    Mensaje solo con teléfono celular:

    Enviamos a tu número de celular {phone} una clave temporal con una vigencia de un minuto, por favor ingrésala cuando la recibas. Si no es tu número de celular debes actualizar tus datos personales en los centros de atención de tu entidad financiera.

  3. En este paso el cliente debe de confirmar su  clave temporal,  para eso usted necesitará invocar el endpoint verificar para poder activar la tarjeta.
  4. En la respuesta del paso 3, podrá saber si la tarjeta está lista para usarse.
  5. Una vez que la tarjeta esta lista para usarse puede utilizar el cobro con token (aquí necesitará el card.token obtenido en el punto 1).
  6. Como en el paso 2 dependiendo del tipo de autenticación de la tarjeta, usted obtendrá un status y status detail, utilizados para determinar si necesita verificar la transacción o no.

Magento 2

Si ya tiene su plataforma de comercio electrónico en Magento 2, tenemos el módulo para usar nuestras soluciones de pago.

Cómo instalar el módulo GlobalPay Redeban para Magento 2:

This module is a solution that allows Magento users to easily process payments with Globalpay.

Download and Installation

1. Execute this command for install our package:

Install the latest version. composer require globalpay/payment-gateway

Install a specific version. composer require globalpay/payment-gateway:2.3.1

Once the installation finished, continue with the next commands in your bash terminal.

2. Update dependency injection:

php bin/magento setup:di:compile

3. Update modules registry:

php bin/magento setup:upgrade

Optional.- This command is optional for production environments:

php bin/magento setup:static-content:deploy

Now you can see the Globalpay settings in this path Stores > Configuration > Sales > Payment Methods on your Magento admin dashboard.

Maintenance

If you need update the plugin to latest version execute: composer update globalpay/payment-gateway or composer require globalpay/payment-gateway:2.3.1 for specific version.

Webhook Notifications and Order Updates

Every time a transaction changes their status you will get an HTTP POST request from Globalpay to your webhook.

The URL that will be used for the order updates via webhook is: https://magentodomain.com/rest/V2/webhook/globalpay

This URL will be configured on Globalpay.

La configuración del módulo en el panel de administración se ve así:

Configuración para LinkToPay:

WooCommerce

Globalpay Redeban Payment Gateway Plugin para WooCommerce

Este es un plugin de Wordpress preparado para funcionar como pasarela de pago para otro plugin llamado WooCommerce.

1.- Prerrequisitos

1.1.- XAMPP, LAMPP, MAMPP, Bitnami o cualquier entorno de desarrollo PHP

  • XAMPP: https://www.apachefriends.org/download.html
  • LAMPP: https://www.apachefriends.org/download.html
  • MAMPP: https://www.mamp.info/en/mac/
  • Bitnami: https://bitnami.com/stack/wordpress

1.2.- Wordpress

Si ya instaló la opción Bitnami, este paso se puede omitir.

La documentación necesaria para instalar y configurar Wordpress se encuentra en el siguiente enlace:

https://wordpress.org/support/article/how-to-install-wordpress/

Se deben cumplir todos los requisitos mínimos (PHP y MySQL) para que el plugin desarrollado funcione correctamente.

1.3.- WooCommerce

La documentación necesaria para instalar WooCommerce se encuentra en el siguiente enlace:

https://docs.woocommerce.com/document/installing-uninstalling-woocommerce/

Allí también encontrará la información necesaria para solucionar problemas relacionados con la instalación.

1.4.- WooCommerce Admin

La documentación necesaria para instalar WooCommerce se encuentra en el siguiente enlace:

https://wordpress.org/plugins/woocommerce-admin/

Allí también encontrará la información necesaria para solucionar problemas relacionados con la instalación.

2.- Repositorio de Git

Puede descargar la versión estable actual desde: https://github.com/globalpayredeban/gp-woocommerce-plugin/releases

3.- Instalación del Plugin

El desarrollo funciona como un complemento de Wordpress que se conecta a otro complemento de Wordpress, WooCommerce.

Entonces, cuando está instalado y activado, se utilizan los hooks y actions de WooCommerce y Wordpress.

3.1 Instalación y Activación a Través del Wordpress Admin

Cuando tengamos el proyecto comprimido en formato .zip, procedemos a la instalación a través de Wordpress Admin.

  1. El primer paso será iniciar sesión en Wordpress Admin como administrador.

  2. Estando en la pantalla principal del administrador hacemos clic en la pestaña Plugins.

  3. Dentro de la pantalla de Plugins hacemos clic en Agregar nuevo.

  4. Dentro de la pantalla Agregar Plugins, hacemos clic en Cargar Plugin.

  5. Se mostrará la opción de cargar nuestro plugin en formato .zip. Lo subimos y hacemos clic en el botón Instalar ahora.

  6. Seremos redirigidos a la pantalla de instalación del plugin. Esperamos que el mensaje "Plugin se ha instalado correctamente" y hacemos clic en el botón Activar plugin.

7.Seremos redirigidos a la pantalla de Plugins dónde veremos nuestro plugin instalado y activado.

3.2.- Idiomas

El idioma del plugin se selecciona dinámicamente de acuerdo con el idioma configurado en Wordpress. Los idiomas disponibles son: - Español - Español CO - Inglés (Default)

4. Activación y Configuración del Complemento en WooCommerce

Luego de haber instalado nuestro plugin en Wordpress debemos proceder a configurarlo en el administrador de WooCommerce.

Esto se encuentra en la pestaña WooCommerce del administrador principal de WordPress. Luego hacemos clic en la opción Configuración y luego en la pestaña Pagos.

4.1 Payment Gateway Activation

Para activar nuestra pasarela de pago dentro de WooCommerce debemos estar dentro de WooCommerce -> Configuración -> Pagos y veremos nuestro complemento detectado e instalado.

Para habilitarlo debemos activar el botón Habilitado. Esta habilitación es diferente a la de Wordpress que hicimos anteriormente.

4.2 Configuración de la Pasarela en el WooCommerce Admin

Al habilitar nuestro plugin en el administrador de WooCommerce, tendremos algunas opciones para configurar. Para ello hacemos clic en el botón Gestionar que aparecerá al costado de nuestro plugin.

Las opciones a configurar son las siguientes:

  • Entorno de pruebas: Cuando está habilitado, el plugin apuntará al servidor de pruebas de Globalpay.

  • Habilitar LinkToPay: Si se selecciona, LinkToPay (transferencia bancaria, efectivo) se puede utilizar para pagar.

  • Título: Esta opción configura el texto que verá el cliente en la ventana de pago junto al logo de Globalpay.

  • Mensaje del cliente: Esta opción configura el mensaje que verá el cliente en la ventana de pago cuando seleccione Globalpay como método de pago.

  • Idioma de pago: Esta opción selecciona el idioma que se mostrará en la ventana de pago. Las opciones disponibles son español, portugués e inglés (por defecto).

  • Tipo de cuotas: Seleccione el tipo de cuotas que se habilitarán en la pantalla de pago (Solo en pago con tarjeta).

  • App Code Client: Identificador único en Globalpay.

  • App Key Client: Clave utilizada para cifrar la comunicación con Globalpay.

  • App Code Server: Identificador único en el servidor Globalpay.

  • App Key Server: Clave utilizada para la comunicación con el servidor Globalpay.

5.- Seleccionar el Plugin en el Checkout de la Tienda

Cuando tengamos nuestro plugin activado y configurado en WooCommerce, lo veremos disponible para ser seleccionado por los clientes en la página de Checkout de nuestra tienda.

Simplemente selecciónelo, complete los Detalles de facturación y haga clic en el botón Realizar pedido.

Al hacer clic llegaremos a la ventana Order-Pay o Pay For Order en la que veremos un resumen de nuestro pedido. Se mostrará el botón Pagar con Tarjeta y/o Pagar con Efectivo/Transferencia Bancaria, que abrirá el proceso de pago.

6.Proceso para Hacer un Reembolso

El proceso de reembolso comenzará en la ventana principal de administración de Wordpress.

Seleccionamos la pestaña WooCommerce y hacemos clic en la opción Pedidos.

Seleccionamos el pedido que queremos reembolsar y se abrirá la ventana Editar pedido.

En el detalle del artículo encontraremos el botón Reembolso, hacemos clic y se mostrarán las opciones de reembolso.

Tecleamos la cantidad a reembolsar y hacemos clic en el botón Reembolso vía Globalpay. El estado dentro de WooCommerce cambiará y también lo hará el estado en la puerta de enlace.

7. Configuración del Webhook

El complemento incluye la funcionalidad de un webhook para recibir las actualizaciones de transacciones que se realizan. Este webhook recibe notificaciones de transacciones y las actualiza en el administrador y la base de datos de WooCommerce.

Para configurarlo, el comercio debe proporcionar a su asesor comercial de Globalpay la dirección donde está instalado el webhook, la url estará en el siguiente formato: https://{{URL-COMMERCE}}/wp-json/globalpay/webhook/v1/params.

Prestashop

Globalpay Payment Gateway Plugin para Prestashop

1.- Prerrequisitos

1.1.- XAMPP, LAMPP, MAMPP, Bitnami o cualquier entorno de desarrollo PHP

  • XAMPP: https://www.apachefriends.org/download.html
  • LAMPP: https://www.apachefriends.org/download.html
  • MAMPP: https://www.mamp.info/en/mac/
  • Bitnami: https://bitnami.com/stack/prestashop

1.2.- Prestashop

Si ya instaló la opción Bitnami, estos pasos se pueden omitir.

Prestashop es una solución de comercio electrónico desarrollada en PHP. La última versión estable es la 1.7.X. - Descarga: https://www.prestashop.com/en/download - Guia de Instalación: https://www.prestashop.com/es/blog/como-instalar-prestashop-la-guia-completa

2.- Git Repository

Puede descargar la versión estable actual desde: https://github.com/globalpayredeban/pg_prestashop_plugin/releases

3.- Instalación del Plugin en Prestashop

  1. Primero, necesitamos descargar la versión estable actual del Globalpay Prestashop Plugin del paso anterior.
  2. Prestashop necesita que la carpeta se llame pg_prestashop_plugin, por lo que necesitamos extraer la carpeta pg_prestashop_plugin_1.0.0 del archivo zip y cambiarle el nombre a pg_prestashop_plugin.
  3. Con nuestra carpeta correctamente nombrada, comprimimos la carpeta nuevamente para tener pg_prestashop_plugin.zip
  4. Necesitamos iniciar sesión en nuestra página de administración de Prestashop.
  5. Ahora hacemos clic en Mejoras -> Módulos -> Administrador de módulos
  6. En el administrador de módulos hacemos clic en el botón Subir un módulo
  7. Hacemos clic en seleccionar archivo o podemos Arrastrar la carpeta del Globalpay Prestashop Plugin en formato .zip o .rar.
  8. Esperaremos hasta que la pantalla Instalando módulo cambie a Módulo instalado!.
  9. Ahora podemos hacer clic en el botón Configurar que se muestra en la pantalla o en el botón Configurar que se muestra en la sección Pago en el Administrador de módulos.
  10. Dentro de las Configuraciones de la pasarela de pago necesitamos configurar o las credenciales de CLIENT/SERVER proporcionadas por Globalpay, podemos seleccionar el Idioma de pago que se mostrará al usuario, también debemos seleccionar un Entorno, de forma predeterminada, Pruebas (Staging) está configurado.
  11. ¡Felicitaciones! Ahora tenemos el Globalpay Prestashop Plugin configurado correctamente.

4.- Considerations and Comments

4.1.- Reembolsos

  • La versión del plugin 1.0.0 no soporta Reembolsos parciales de Prestashop. Sin embargo, el complemento admite Reembolsos estándar de Prestashop.
  • El Reembolso estándar se puede interpretar como un reembolso parcial por parte de Globalpay, el éxito de la operación depende de que la red de pago configurada acepte reembolsos parciales.

4.- Considerations and Comments

4.1.- Reembolsos

  • La versión del plugin 2.0.0 no soporta Reembolsos parciales de Prestashop. Sin embargo, el complemento admite Reembolsos estándar de Prestashop.
  • El Reembolso estándar se puede interpretar como un reembolso parcial por parte de Globalpay, el éxito de la operación depende de que la red de pago configurada acepte reembolsos parciales.

4.2. Webhook

El Globalpay Prestashop Plugin tiene un webhook interno para mantener actualizados los estados de las transacciones entre Prestashop y Globalpay. Debe seguir los siguientes pasos para configurar el webhook: 1. Inicie sesión en el Back-office de Prestashop. 2. Vaya a Parámetros avanzados -> Opciones del menú Servicios web para abrir la página Servicios web. 3. Redirigirá a la página de Servicios Web que tiene la lista de servicios Web disponibles y el formulario de configuración para configurar el servicio. 4. Necesitamos habilitar el campo llamado Habilitar el servicio web Prestashop. 5. Haga clic en el botón Guardar. 6. Haga clic en el botón Agregar nueva clave de servicio web para agregar una nueva clave de servicio web para acceder solo a ciertos recursos de la tienda Prestashop. 7. Necesitamos configurar la Clave, esta es una clave única. Puede ingresarlo manualmente o hacer clic en el botón Generar para generar una clave aleatoria para el servicio web. 8. También configuramos la Descripción de la clave, puede proporcionar la descripción con respecto a la clave para una mejor comprensión. 9. Estableceremos Estado en Habilitar para proporcionar una concesión para acceder a los datos utilizando la clave. 10. Finalmente, necesitamos configurar el campo Permiso para proporcionar el permiso para acceder a los datos usando la clave determinada. Aquí tenemos que buscar el recurso llamado globalpaywebhook y seleccionar la casilla de verificación Agregar (POST). 11. El webhook está ubicado en https://{mystoreurl}/api/globalpaywebhook?ws_key=KEY_GENERATED_ON_STEP_6. 12. Debe proporcionar esta URL a su agente de Globalpay.