Stripe

Cómo conectar

Para conectar el sistema de pago Stripe, necesitará una clave API secreta y una clave de webhook.

Puede copiar la clave API secreta yendo a la sección Developers -> API key y copiando la Secret key.

Paso 1. Vaya a la sección Developers -> API key:

Fig. 1 Cómo encontrar la sección API

Paso 2. Encuentre y copie la Secret key:

A continuación, debe establecer la URL para los callbacks. Esto es necesario para que el bot reciba notificaciones de pago.

Vaya a la sección Webhooks y añada la dirección para los webhooks.

Se abre el formulario:

Paso 1. Haga clic en "+add destination".

Paso 2. Seleccione los eventos:

Paso 3. Seleccione el tipo de "Webhook endpoint":

Paso 4. Nos familiarizamos con el tipo de solicitud y hacemos clic en "Continue":

Paso 5. Escribimos el nombre y especificamos la URL del endpoint:

Especifique la URL - https://chatter.salebot.pro/stripe_callback/resultarrow-up-right

Paso 6. Se crearán dos endpoints, puede ver la configuración antes de añadirlos:

Paso 7. A continuación, haga clic en el botón "Add destinations". Entonces los webhooks se guardarán.

Paso 8. Haga clic en el botón "Done".

Lo guardamos y llegamos a la página con el webhook instalado:

Paso 9. A continuación, haga clic en el webhook donde seleccionó todos los eventos:

Paso 10. Encontramos la clave Signig y la guardamos para nosotros (en el futuro la necesitaremos para conectarla a Salebot):

Después de recibir las claves, procedemos a conectar con Mavibot.

En Mavibot, abra la sección "Acquiring" y seleccione Stripe.

En la página de conexión, debe introducir las claves recibidas:

Haga clic en "Save Settings".

circle-check

Cómo conectar un callback sobre el estado de la transacción

Para obtener un callback adicional, necesitaremos conectar un webhook en además del existente.

Especifique la URL - https://chatter.salebot.pro/stripe_callback/<api_key>/charge_statusarrow-up-right

y seleccione los eventos:

  • charge.failed

  • charge.pending

  • charge.succeeded

circle-check

Añadimos el webhook recibido después de guardarlo en Mavibot en el campo - Webhook key2:

stripe_invoice_id - ID de la transacción para la cual no se recibió inmediatamente después del pago el callback de pago exitoso.

Cómo conectar impuestos

Para usar impuestos en los pagos, primero debe crearlos en la cuenta personal de Stripe. Para ello, escriba tax rates en la barra de búsqueda:

Y haga clic en "+ Add tax rates":

A continuación, especifique la tasa de impuesto aplicable:

En el menú que se abre, seleccione el tipo de impuesto, la región a la que se aplica, la tasa impositiva y la opción que indica si este impuesto debe incluirse en el importe del pago 'Inclusive' o añadirse por encima del importe - exclusive:

Después de crear la tasa impositiva, copie su ID en la stripe_tax_id variable antes de establecer el importe del pago.

Para evitar errores, ponga una cadena vacía ("") en la variable stripe_tax_id después de recibir el enlace, para poder aplicar el impuesto solo cuando sea necesario.

Si todo se hace correctamente, entonces, en el caso de la tasa impositiva con el parámetro exclusive, verá lo siguiente

Ejemplo de un pago con una tasa impositiva exclusive

Cómo obtener un enlace de pago

Para generar un enlace de pago, debes establecer el valor de la payment_sum variable (por ejemplo, 150 o 100.55 (separado por un punto!)), y después aparecerá la variable stripe_pay_url. Esta variable puede mostrarse con un enlace o colocarse en un botón con el texto "Pay".

El enlace se ve así:

https://checkout.stripe.com/pay/cs_test_a17mskKFFRwEuo3WgBSAUjfk7xaZZIrct9B3Ds2AdODVq1I8aRiqYEBdrU#fidkdWxOYHwnPyd1blpxYHZxWjA0TGFsVzFPVmpmMzJAbVYzUkp1Y0lLYDVgfzR2Q0NxcWZBNUNnTnRSVVRJSGFobEB1UExSczRMMTc8PWRLMGBddl8xalxyPDRoUGhnZm9xXXZANDZyaF0wNTVBVExsPHZyfycpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl

circle-exclamation

Además, antes de establecer el valor de la payment_sum variable, puede establecer las siguientes variables opcionales para configurar el pago.

Parámetros de la función
Descripción de los parámetros

currency

es la moneda del pedido. Valores aceptables -https://stripe.com/docs/currenciesarrow-up-right

payment_description

descripción del pedido

stripe_tax_id

Este es el ID de la tasa impositiva, configurado en la cuenta personal de Stripe. Cómo configurarlo se describe en la sección "Cómo configurar impuestos" ссылка "Cómo conectar impuestos"

stripe_invoice_enable

Este parámetro indica la necesidad de guardar facturas (invoices, receipts). Introduzca cualquier valor: todos los documentos necesarios estarán entonces disponibles en su cuenta personal de Stripe.

stripe_locale

establece el idioma del enlace de pago: en, ru, de. Todos los idiomas disponibles están aquí: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale arrow-up-right Si el stripe_local si no se proporciona un valor, se usará por defecto el idioma del navegador del cliente.

stripe_payment_method_type

es el método de pago; el pago predeterminado es con tarjeta. Puede reemplazarlo por otros métodos de pago disponibles en Stripe. Los métodos disponibles se enumeran a continuación

Por ejemplo, stripe_payment_method_type = "customer_balance"

stripe_additional_payment_method_type

es para añadir un método de pago adicional. Los métodos disponibles se enumeran a continuación, por ejemplo, stripe_additional_payment_method_type = "sepa_debit"

coupon_id

ID del cupón de descuento

stripe_expired

es la duración del enlace de pago. Se especifica en segundos. El tiempo mínimo es 30 minutos, el máximo es 24 horas. El valor predeterminado es 24 horas

stripe_automatic_tax

activación del cálculo y cobro automático de impuestos durante el pago. Para activarlo, pase "1". La información detallada sobre esta configuración se puede encontrar en la documentación de Stripe. ссылка en la documentación de Stripe arrow-up-right

circle-exclamation
chevron-rightLista de valores para stripe_payment_method_type y stripe_additional_payment_method_typehashtag

card acss_debit affirm afterpay_clearpay alipay au_becs_debit bacs_debit bancontact blik boleto cashapp customer_balance eps fpx giropay grabpay ideal klarna konbini link oxxo p24 paynow paypal pix promptpay sepa_debit sofort us_bank_account wechat_pay zip

Puede obtener más información sobre cada uno de los métodos y para qué países están disponibles en la documentación de Stripe: ver en el sitio arrow-up-right

Ejemplo de creación del enlace de pago

Creemos un enlace de pago por un importe de 1000 rublos (por defecto, dólar)

circle-exclamation

Luego, en el lugar necesario, mostramos la variable stripe_pay_url, que contiene el enlace en el bloque o en el botón:

Ejemplo 1. Mostramos el enlace de pago directamente en el mensaje:

Pruebas en el bot:

Ejemplo 2. Añadimos el enlace de pago a un botón:

Ejemplo 3. Añadimos el enlace como adjunto al mensaje:

Pruebas en el bot:

circle-check

Al hacer clic en el botón o al seguir el enlace, su pagador será redirigido a la página de pago:

En el ejemplo se ve que se aplicaron los parámetros que indicamos en la calculadora en la configuración del bloque: descripción del pedido, moneda e importe.

Si pasa el parámetro de tasa impositiva (stripe_tax_id) en el bloque:

Entonces también se mostrará la tasa impositiva en el formulario de pago:

chevron-rightEjemplo de código para copiarhashtag

payment_description = 'Pago de prueba en Stripe' currency = 'RUB' stripe_tax_id = 'copie aquí su tax ID' payment_sum = 1000

Dónde encontrar el tax ID:

Cómo configurar pagos recurrentes

Para los pagos recurrentes (suscripciones), antes de declarar la variable payment_sum declare la variable stripe_subscription y asígnele el nombre de la suscripción.

También puede añadir las siguientes variables: interval – duración del intervalo de suscripción; a esta variable debe pasar el valor ‘day’ - para días, ‘week’ - semanas, ‘month’ - meses, ‘year’ - años. Si la variable no se declara, entonces por defecto se pasará el parámetro ‘month’.

circle-exclamation

interval_count – número de intervalos especificados: cuántos días, semanas o meses habrá en la suscripción por la cantidad indicada. Por defecto se pasará un parámetro igual a uno (1);

stripe_payment_method_type - método de pago; por defecto está seleccionado el pago con tarjeta (card). Puede reemplazarse por otros métodos de pago disponibles en Stripe. A continuación se indican los métodos disponibles.

Por ejemplo, stripe_payment_method_type = 'customer_balance'

stripe_additional_payment_method_type - añadir un método de pago adicional. A continuación se indican los métodos disponibles

Por ejemplo, stripe_additional_payment_method_type = 'sepa_debit'

circle-exclamation
chevron-rightLista de valores para stripe_payment_method_type y stripe_additional_payment_method_type:hashtag

card acss_debit affirm afterpay_clearpay alipay au_becs_debit bacs_debit bancontact blik boleto cashapp customer_balance eps fpx giropay grabpay ideal klarna konbini link oxxo p24 paynow paypal pix promptpay sepa_debit sofort us_bank_account wechat_pay zip

circle-info

Para obtener más información sobre cada uno de los métodos y para qué países están disponibles, consulte la documentación de Stripe: ver el sitio web ссылка ver en el sitio arrow-up-right

circle-exclamation

En este ejemplo, se creará una suscripción llamada 'My_subscription' con un precio de 90 USD durante 3 meses y se realizará un pago recurrente por el mismo importe después de 1 mes:

Un ejemplo para copiar:

stripe_subscription = 'My_subscription' interval = 'month' interval_count = 3 payment_sum = 90

Después del pago, el cliente tendrá stripe_subscription_id variables en las variables del trato, que serán necesarias para configurar la cancelación de la suscripción, y stripe_customer_id, que más adelante se puede usar para comprobar el estado de la suscripción.

circle-exclamation

Volver a la configuración de pagos regulares

Para volver a los pagos regulares, asigne a la variable de suscripción una cadena vacía stripe_subscription = ". En este caso, las variables interval y interval_count no afectarán a la creación del enlace.

Cancelación de la configuración de suscripción

Para cancelar una suscripción en la calculadora, use el stripe_remove_subscription(stripe_subscription_id) método, donde stripe_subscription_id es el identificador que se guardó en la información del trato después del pago.

Esto le permitirá mantener activa su suscripción de pago hasta el final del período pagado actual, pero no se realizarán más cargos, y la suscripción se cancelará después de la fecha de vencimiento:

answer = stripe_remove_subscription('#{stripe_subscription_id}')

stripe_remove_subscription - Si tiene éxito, recibirá una respuesta con información sobre la fecha en la que la suscripción cancelada sigue siendo válida.

En este ejemplo, el resultado de la ejecución de la función se colocará en la variable answer y se podrá comprobar el resultado de la ejecución.

Comprobación del estado de la suscripción

stripe_check_subscription(subscription_id, customer_id), donde

stripe_subscription_id - ID de la suscripción stripe_customer_id - ID del cliente en Stripe (parámetro opcional)

Cómo crear un cupón y obtener un ID de descuento

Para obtener el ID del descuento, cree un cupón en su cuenta personal en la sección ”coupons”. ссылка ”couponsarrow-up-right”.

Después de hacer clic en el botón “New”, se abre una página donde debe especificar:

  1. Name — nombre del descuento;

  2. ID — identificador que se genera automáticamente.

  3. Type — tipo de descuento: porcentaje o cantidad fija

  4. Duration — la duración del descuento (único o recurrente, por ejemplo, para suscripciones) y otros parámetros.

El cupón de descuento aparecerá en el “Product catalog“ en la sección “Coupons”, y podrá ver el ID del descuento entrando en el menú del cupón:

Haga clic en el cupón para copiar el ID del cupón:

Cómo añadir un descuento al pedido

  1. Al generar un enlace de pago (tanto para suscripciones como para pagos únicos).

En la calculadora del bloque, antes de declarar la payment_sum variable, establezca la coupon_id variable asignándole el ID del descuento de la cuenta personal de Stripe.

  1. Para añadir a una suscripción existente usando el stripe_add_subscription_discount función.

Establezca las condiciones para activar el bloque y llame a la función especificada en la calculadora, proporcionándole los parámetros stripe_subscription_id (id de suscripción) y coupon_id (id del cupón de descuento). El descuento se aplicará a los pagos posteriores de la suscripción.

chevron-rightEjemplo de código para copiarhashtag

stripe_subscription = 'Suscripción premium' interval = 'month' payment_description = 'Pago de prueba en Stripe' currency = 'USD' coupon_id = 'ID de su cupón' stripe_add_subscription_discount(stripe_subscription_id, coupon_id) stripe_tax_id = 'ID del impuesto' payment_sum = 90

Si se añade correctamente, la función devuelve un mensaje que indica el ID de la suscripción, el tipo, el importe o el porcentaje del descuento y también su fecha de vencimiento.

circle-info

Para obtener más información sobre la creación de una suscripción, consulte la sección "Cómo configurar pagos recurrentes" ссылка "Cómo configurar pagos recurrentes"

Cómo eliminar/cambiar el descuento de la suscripción

El descuento adjunto a la suscripción puede eliminarse o sustituirse por otro descuento.

Si desea terminar el descuento, establezca una condición para activar el bloque y llame a la stripe_remove_subscription_discount función en la calculadora, proporcionándole el stripe_subscrition_id parámetro (id de suscripción).

Al completarse correctamente la operación, la función devuelve un mensaje que contiene el ID de la suscripción y la fecha de cancelación del descuento.

La sustitución del descuento, así como la adición de uno nuevo, se realiza mediante stripe_add_subscription_discount función. No olvide pasarle los stripe_subscription_id y coupon_id parámetros. Una solicitud correcta actualizará el cupón adjunto a la suscripción y devolverá un mensaje con la información actual.

circle-info

Puede leer cómo obtener un ID de descuento en la sección "Cómo crear un cupón y obtener un ID de descuento". ссылка "Cómo crear un cupón y obtener ID de descuento".

Cómo procesar el resultado

Después de un pago exitoso, se enviarán callbacks al bot, lo que le hará saber que el pago fue exitoso. Verá estos callbacks en el sistema como mensajes del usuario, de modo que el usuario no pueda enviarlos; consisten en los primeros 20 caracteres de la clave secreta y el sufijo de éxito, por ejemplo: sk_live_d35gky6d8ers_success

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

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

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

Por ejemplo, puedes procesar un pago exitoso en un bloque condicional y mostrar el mensaje correspondiente al usuario:

Después de completar el pago, la stripe_callback_data variable se añadirá al cliente, conteniendo los datos de la respuesta del sistema de pago sobre la transacción completada. Puede extraer los datos necesarios del diccionario resultante usando la get .

circle-exclamation

Cómo probar los pagos

Para probar la integración, puede usar la clave secreta del entorno de pruebas. Para ello, cambie al modo de prueba en la cuenta personal de Stripe usando el interruptor del menú derecho

A continuación, realice la configuración descrita al principio de esta guía. Introduzca la clave secreta de prueba y añada la dirección del webhook al entorno de prueba.

El número de tarjeta de prueba

4242 4242 4242 4242 cualquier fecha futura CVC - cualquier tres números

Si algo no funciona, compare los datos con los datos del sitio web oficial. ссылка en el sitio web oficial.arrow-up-right

Última actualización