Cómo configurar Paypal

Para trabajar con Paypal, necesitas obtener dos claves: client_id y secret.

Ve a la página https://developer.paypal.com/developer/applications/

Y elige de la lista o crea una nueva aplicación:

En la parte superior, cambia el interruptor al modo Live y selecciona la aplicación que desees. Se abre una página con la configuración donde puedes encontrar los datos que buscas:

Copia los datos y pégalos en los campos correspondientes en la configuración de Mavibot - Sistemas de pago - Paypal:

Con esto finaliza la conexión.

Cómo crear un enlace de pago

Para generar un enlace de pago, debes establecer el valor de la variable payment_sum e inmediatamente aparecerá la variable paypal_pay_url.

payment_title no es una variable obligatoria, es el nombre del producto. Si no se especifica, se completa con el texto: "Payment account order_id" (order_id es el identificador del pedido en el servidor).

payment_description: descripción del producto, opcional.

Además, antes de especificar payment_sum, puedes indicar en qué idioma se mostrará la página de pago. Para ello, debes establecer la variable locale; el valor predeterminado es ruso (ru-RU). Todas las opciones posibles: da-DK, he-IL, id-ID, ja-JP, no-NO, pt-BR, ru-RU, sv-SE, th-TH, zh-CN, zh-HK, zh-TW.

Y el tercer parámetro adicional es company_name: el nombre de tu empresa, que se muestra en la parte superior de la página (ejemplo a continuación, company).

También puedes especificar la moneda en la que se acepta el pago; para ello, especifica la variable currency; el valor predeterminado es rublo (RUB); para el dólar, establece su valor USD (currency = USD). Las variantes de moneda posibles se pueden encontrar en el enlace https://developer.paypal.com/docs/api/reference/currency-codes/

Y el tercer parámetro adicional es company_name: el nombre de tu empresa, que se muestra en la parte superior de la página (ejemplo a continuación, company).

La variable paypal_pay_url se puede mostrar con un enlace o colocarse en el botón "Pagar".

El enlace tiene la forma: https://ww.paypal.com/checkoutnow?token=07N53571YM296381N

Ejemplo de implementación.

Establece el monto del pago 444 y el nombre de la empresa.

Nota: la variable payment_sum se establece como la última variable, después de las opcionales payment_title, company_name, etc.

Cómo procesar el resultado

Después de un pago exitoso, llegarán al bot callbacks, mediante los cuales puedes entender que se realizó un pago exitoso. Estos callbacks en el sistema los ves como mensajes del usuario, por lo que el usuario no puede enviarlos; consisten en los primeros 10 símbolos secretos y una página de inicio con el estado, por ejemplo: EHsWHYOoWV_success.

Además, después de un pago exitoso, la variable paypal_payment_completed se establece en True.

Estos callbacks NO SON VISIBLES para el usuario, solo se muestran al operador.

El tipo de comparación debe ser "Coincidencia exacta".

Para realizar un pago repetido, debes restablecer payment_sum, el enlace generado anteriormente, y después de restablecer la variable payment_sum para obtener un nuevo enlace. Puedes especificar un valor anterior.

Los callbacks llegan con retraso, por lo que después del enlace de pago al usuario, recomendamos enviar un mensaje como: "Después del pago, espera el mensaje sobre la finalización exitosa del pago".

Por ejemplo, puedes crear un bloque de procesamiento de pago exitoso con una condición e imprimir el mensaje correspondiente al usuario:


El tipo de comparación debe ser "Coincidencia exacta".

Al finalizar el pago, se agregará al cliente la variable paypal_callback_data, que contiene los datos de respuesta del sistema de pago para la transacción completada. Puedes extraer los datos necesarios del diccionario usando el método get.