Para usar el sistema de pago Garanti BBVA (Sanal POS) en Mavibot, debe obtener las credenciales del terminal POS virtual del banco e ingresarlas en la configuración de integración. El pago se procesa en la página segura del banco con confirmación 3D Secure.

Obtención de las credenciales

Firme un acuerdo con Garanti BBVA para el servicio Sanal POS (POS virtual). Al activar el servicio, solicite al banco que habilite Ortak Ödeme (página de pago compartida) para su terminal. Sin esta función, los pagos a través de la página de pago del banco no funcionarán.

El banco le proporcionará:

  • Merchant ID (Üye İşyeri No) — su ID de comercio;
  • Terminal ID — su ID de terminal;
  • Provision User ID — el nombre de usuario de aprovisionamiento (generalmente PROVAUT o PROVOOS);
  • Provision Password — la contraseña del usuario de aprovisionamiento.

La Store Key (clave 3D Secure) la crea usted en el panel de administración de Sanal POS (Yönetim → 3D Secure). Asegúrese de guardarla, ya que también es necesaria para la integración.

¿Cómo conectar Garanti BBVA a Mavibot?

En la sección Acquiring de Mavibot, seleccione Garanti BBVA e ingrese los siguientes detalles:

  • Merchant ID — su ID de comercio.
  • Terminal ID — su ID de terminal.
  • Provision User ID — el nombre de usuario de aprovisionamiento. Si se deja en blanco, se usará PROVAUT.
  • Provision Password — la contraseña del usuario de aprovisionamiento.
  • Store Key — su clave 3D Secure.
  • Store Name — el nombre que se muestra a los clientes en la página de pago del banco. Si se deja en blanco, se mostrará "Online store".
  • Test Mode — active esta opción para probar la integración usando las credenciales de prueba del banco. Para procesar pagos en vivo, esta opción debe estar desactivada.

La integración ahora está completa.

Generación de un enlace de pago

Función de calculadora:

get_garanti_payment_url(amount, description, currency, customer_email, language)

Parámetros:

Parámetro Descripción Requerido Valores predeterminados / permitidos
amount Monto del pago.
description Descripción del pago. No
currency Moneda del pago. No TRY (predeterminado). Valores admitidos: TRY, USD, EUR, GBP, JPY
customer_email Correo electrónico del cliente. No
language Idioma de la página de pago. No tr (predeterminado). Valores admitidos: tr, en

La función devuelve una URL de pago.

Enlace de pago en un botón

Para enviar un botón con un enlace de pago, seleccione el tipo de botón Payment y elija Garanti BBVA como proveedor de pago. Luego ingrese el nombre del producto, el monto del pago y, si es necesario, la moneda del pago.

Ejemplo 1: Configuración del flujo de trabajo

Paso 1. Cree un bloque Start.

El bloque Start se usa típicamente para mostrar el primer mensaje de bienvenida en el flujo de trabajo, junto con cualquier información introductoria que el usuario necesite.

Paso 2. Cree el bloque que se muestra a continuación.

Paso 3. Vaya a la configuración de Connection.

Necesitará la siguiente expresión regular para verificar que el cliente haya ingresado una dirección de correo electrónico válida:

^[-\w.]+@([A-z0-9][-A-z0-9]+.)+[A-z]{2,4}$

Además, active la opción User enters data e ingrese customer_email.

Paso 4. Ingrese el mensaje en el segundo bloque.

Paso 5. Cree un tercer bloque y abra la configuración de Connection entre el segundo y el tercer bloque.

Active el temporizador para pasar automáticamente al siguiente bloque.

Paso 6. En el tercer bloque, ingrese la función en la Calculator.

Ejemplo para copiar:

amount = 1000
description = "Product1 is a product of great reliability!"
link = get_garanti_payment_url(amount, description, none, customer_email, none)

Si desea aceptar pagos en una moneda diferente a la lira turca (TRY), especifique la moneda como se muestra a continuación.

Ejemplo para copiar:

amount = 1000
description = "Product1 is a product of great reliability!"
currency = "USD"
link = get_garanti_payment_url(amount, description, currency, customer_email, none)

Ejemplo 2. Botón de facturación

Este ejemplo es casi idéntico al Ejemplo 1.

Sin embargo, en lugar de crear un tercer bloque con una función para generar el enlace de pago, puede crear un botón en el segundo bloque.

En la ventana que se abre:

  • Ingrese el texto del botón.
  • Seleccione la función Billing.
  • Seleccione Garanti BBVA como proveedor de pago.

Luego ingrese lo siguiente:

  • Product Name.
  • Payment Amount.
  • Currency (opcional).
  • Client Full Name (opcional). Puede configurar esto de la misma manera que configuró la entrada del correo electrónico del cliente.
  • Customer Email — ingrese la variable #{customer_email}.

Luego haga clic en Add.

Notificaciones después del pago

Después de que el cliente siga el enlace de pago y complete el pago, se enviará una notificación (callback) a la conversación.

Para un pago exitoso:

SDJ91MTKTT_success 100

Donde:

  • SDJ91MTKTT son los primeros 10 caracteres de su Store Key.
  • 100 es el monto del pago.

Si el pago falla, se enviará la siguiente notificación:

SDJ91MTKTT_fail 100

Cómo enviar una respuesta a un pago exitoso o fallido

Paso 1. Cree un bloque Trigger.

Paso 2. En el campo de condición, ingrese el texto de notificación SDJ91MTKTT_success — sin el monto del pago — si desea reaccionar a cada pago.

En este caso, el Match Type debe configurarse como By Keywords.

Alternativamente, ingrese todo el texto del callback en el campo Trigger si desea reaccionar a un pago específico. En este caso, el Match Type debe configurarse como Exact Match.

Si desea continuar el flujo de trabajo después de un pago exitoso, puede crear un bloque Start en lugar de un bloque Trigger y continuar construyendo su flujo de bot desde allí.

Variables del cliente después de un pago exitoso