Botón de Pago Yappy – Librería en PHP
Descripción
Botón de Pago Yappy es el checkout oficial de Banco General para integraciones con PHP. Ofrezca Yappy como método de pago a más de 1mil clientes y reciba pagos con Yappy directamente en su tienda o aplicación.
Rápido, seguro y fácil de implementar en su sitio web.
Requerimientos mínimos
PHP 7.0+
Una cuenta jurídica con Yappy
Un certificado SSL
Resumen de implementación
Esta es una guía de implementación básica del SDK de PHP. Usted puede tomar el SDK e instalarlo como mejor se adapte a la configuración de su aplicación, siguiendo los siguientes pasos:
2. Instalación del SDK (back-end)
4. Instalación de la librería del cliente (front-end)
5. Configuración de la librería del cliente
7. Configuración de notificación instantánea de pago (opcional)
Guía de ejemplo
2. Instalación del SDK (back-end)
Copie los siguientes archivos y colóquelos en la configuración más apropiada de su servidor. Recomendamos que sea una carpeta de fácil acceso para su desarrollo, preferiblemente la carpeta madre (root):
Archivos back-end:
– .env (variables de entorno del backend)
– BgFirma.php (librería)
– pagosbg.php (actualización de estado del pedido)
Archivos front-end:
– env.js (variables de entorno del frontend)
– bg-payment.js (archivo para inyectar el Botón de Pago)
– main.css (estilos)
A continuación se describirá el paso a paso del proceso de configuración. Como parte de esta guía, contamos con un archivo de ejemplo ejemplo.zip de referencia.
3.1) Primero, en el archivo .env se debe colocar las credenciales proporcionadas en Banca en Línea Comercial en las variables de ID_DEL_COMERCIO y CLAVE_SECRETA. Para conocer sobre la conexión de prueba (sandbox) ir al paso 6.
3.2) Importe la librería y las variables de entorno en la página donde quiere utilizar el Botón de Pago Yappy.
3.3) Obtenga el dominio de la aplicación. Es importante que este dominio sea igual al que definió en su perfil de Botón de Pago en Banca en Línea Comercial, ya que se utilizará para validar la solicitud.
3.4) Después, verifique las credenciales ubicadas en el archivo .env.
Valide que las credenciales proporcionadas son correctas. Al llamar el método checkCredentials, debe retornar una variable de tipo [‘success’ => boolean]. Si la variable $response[‘success’] es true, las credenciales son correctas. Si no, verifique las credenciales ingresadas.
3.5) Cree el objeto al instanciar la clase BgFirma para generar el URL de éxito y llame al método createHash.
A continuación se describen los campos para realizar la solicitud:
Nombre del campo | Descripción |
Subtotal (obligatorio) | El subtotal de su carrito antes de impuestos, este monto ya debe incluir costos de transportes (shipping) y descuentos. Solo aplican números positivos mayores a cero. |
Taxes (obligatorio) | Valor de los impuestos. Aplican cero o números positivos. |
Total (obligatorio) | El monto total a cobrar al cliente. Debe ser la suma de impuestos más subtotal. Solo aplican números positivos. |
Order ID (obligatorio) | Es el número único de pedido generado por su aplicación, por ejemplo un número de pedido o de cliente. Este quedará registrado en el reporte transaccional Banca en Línea Comercial y lo podrá utilizar para conciliar los movimientos. Máximo 15 caracteres alfanuméricos (no se permiten ñ, Ñ o tildes). |
Success URL (opcional) | Es el URL donde su cliente será regresado o redireccionado en caso de que la transacción sea ejecutada correctamente. Por ejemplo, una página de gracias. |
Fail URL (opcional) | Es el URL donde su cliente será regresado o redireccionado en caso de que el cliente cancele la transacción o suceda un error. |
Teléfono (obligatorio) | Es el campo telefónico del cliente y es obligatorio. De no contar con esa información, se le debe asignar un valor vacío y enviarlo igualmente. |
3.6) Finalmente, verifique que se creó correctamente el URL de éxito.
4. Instalación de la librería del cliente (front-end)
Para mostrar el Botón de Pago Yappy en su aplicación, coloque lo siguiente en su HTML:
El formulario de id “YappyForm” presente en el archivo bg-payment.js, fue creado con motivos de prueba.
5. Configuración de la librería del cliente
Finalmente, configure el archivo de configuración env.js para personalizar su botón.
1. Color del botón: las opciones de color son ‘brand’, ‘dark’, ‘light’, ‘white’.
2. Donación: permite reemplazar el botón de pago por uno para donaciones.
3. Activar: la opción activar está por defecto, no es necesario colocarle el valor ‘true’, al colocar ‘false’ no se mostrará el botón.
Personalización del Botón de Pago Yappy
Opcionalmente, puede seleccionar el color del botón que se ajuste mejor al estilo de su tienda. Recomendamos la opción predeterminada.
Brand (predeterminada)
Dark
Light
White
El modo de pruebas permite simular transacciones utilizando números de teléfono de prueba para visualizar el flujo de compra sin realizar un pedido real. Debe tener en cuenta que:
– El modo de pruebas sólo funciona con los números de teléfono de pruebas (se detallan a continuación).
– Recuerde deshabilitar el modo de pruebas para aceptar transacciones reales.
Para activar el modo de pruebas, cambie la variable de MODO_DE_PRUEBAS a true en el archivo .env
El Botón de Pago Yappy le permite a su servidor recibir el estado de las transacciones. Esta comunicación permite cerrar el ciclo de su pedido y automatizar los procesos de venta.
El archivo pagosbg.php se utiliza para actualizar el estado del pedido en su aplicación. El Banco le enviará un mensaje de confirmación a su servidor (por ejemplo: https://mitienda.com/pagosbg.php) de manera asíncrona al flujo de la transacción.
El estado del pedido se puede encontrar en $_GET[‘status’]. Este query param puede devolver uno de los siguientes estados:
– “E” para Ejecutado. El cliente confirmó el pago y se completó la compra.
– “R” para Rechazado. Cuando el cliente no confirma el pago dentro de los cinco minutos que dura la vida del pedido.
– “C” para Cancelado. El cliente inició el proceso, pero canceló el pedido en el app de Banco General.
Si la variable success = true, significa que la transacción fue exitosa y puede continuar con su proceso de negocio.
Preguntas frecuentes
1. Como comercio, ¿recibiré alguna notificación de las compras realizadas por Yappy?
Sí. Cada vez que se realice una compra por Yappy, recibirá un correo de confirmación con el número de pedido, el monto, la hora de la transacción, el número de confirmación de la transacción y el nombre del cliente. Como método opcional, el comercio puede recibir una notificación instantánea de pago (ir al paso 7).
2. ¿Dónde puedo conseguir mis credenciales para el Botón de Pago Yappy?
Sus credenciales las puede conseguir en Banca en Línea Comercial. Siga este enlace para verificar los pasos de generación de credenciales.
3. Veo un mensaje que dice “Algo salió mal, contacta al administrador.” ¿Qué debo hacer?
– Asegúrese de que su sitio web cumple con los requerimientos mínimos.
– Revise que cuenta con la versión más reciente del plugin.
– Confirme que sus credenciales son correctas y que fueron colocadas en los campos correspondientes.
– Confirmar que el URL de su tienda está registrado correctamente en su tienda en el perfil de su Botón de Pago Yappy en Banca en Línea Comercial.
4. ¿Dónde puedo ver reportes de ventas de mi Botón de Pago Yappy?
Las ventas del Botón de Pago se verán reflejadas en su Banca en Línea Comercial. Acceda a las mismas desde Reportes > Reportes Yappy.
Resolución de problemas
¿Tiene algún problema? Siga estos pasos para asegurar la correcta configuración de la extensión:
– Asegúrese que su sitio cumple con los requerimientos mínimos.
– Revise que cuenta con la versión más reciente de la librería.
– Revise las preguntas frecuentes por si su pregunta se ve reflejada en las mismas.
– Confirme que sus credenciales son correctas y que fueron colocadas en los campos correspondientes.
– Confirme que no está habilitado el modo de pruebas (sandbox).
– Revise que el dominio de su tienda (URL) sea igual al que definió en su perfil de Botón de Pago en Banca en Línea Comercial, ya que se utilizará para validar la solicitud.
¿Tiene alguna pregunta?
Consulte nuestra sección de Preguntas Frecuentes o de Resolución de problemas para resolver los inconvenientes más comunes. Si requiere mayor soporte, comuníquese con nosotros por correo electrónico a botondepagoyappy@bgeneral.com.