# Bepaid (ru)

## Comment connecter

Pour connecter le système de paiement bePaid, vous aurez besoin de l’ID du magasin, de la clé secrète et de la clé publique. Une fois obtenues, passons aux paramètres dans MaviBot.

Dans MaviBot, ouvrez la section "Encaissement", choisissez bePaid. Vous devez saisir les données obtenues.

<div data-with-frame="true"><figure><img src="/files/b55e76aafc1757d32871c55d1e9fb3f4fa31a4ca" alt=""><figcaption></figcaption></figure></div>

Veuillez noter que le dernier champ est un commutateur d’hébergement API selon le pays d’utilisation : Biélorussie ou Russie.

<div data-with-frame="true"><figure><img src="/files/4c7bdb9318ca4e16426468c6672589fb114895aa" alt=""><figcaption></figcaption></figure></div>

## Comment générer un lien de paiement

Pour générer un lien de paiement, vous devez définir la valeur de la variable payment\_sum (par exemple 150 ou 100.55 (avec un point !)), après quoi la variable bepaid\_pay\_url apparaîtra. Cette variable peut être affichée sous forme de lien ou placée sur un bouton avec le texte "Payer".&#x20;

Le lien ressemble à ceci : \
<https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a>

Avant de définir la valeur de la variable payment\_sum, vous pouvez également définir les variables optionnelles suivantes pour configurer le paiement.

{% hint style="info" %}
Par défaut, le rouble biélorusse est défini ; si une autre devise est nécessaire, il faut définir la valeur de la variable currency
{% endhint %}

<table><thead><tr><th width="209">Paramètres de la fonction</th><th width="242">Description du paramètre</th><th>Supplémentaire</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>devise de paiement en <a href="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</a> format</td><td>par exemple USD</td></tr><tr><td><strong>language</strong></td><td><p>langue de la page de paiement</p><p>Par défaut - en.</p></td><td><p>Valeurs autorisées :</p><p>en - Anglais</p><p>es - Espagnol</p><p>tr - Turc</p><p>de - Allemand</p><p>it - Italien</p><p>ru - Russe</p><p>zh - Chinois</p><p>fr - Français</p><p>da - Danois</p><p>sv - Suédois</p><p>no - Norvégien</p><p>fi - Finnois</p><p>pl - Polonais</p><p>ja - Japonais</p><p>uk - Ukrainien</p><p>be - Biélorusse</p><p>ka - Géorgien</p><p>ro - Roumain</p></td></tr><tr><td><strong>payment_description</strong></td><td>description du paiement</td><td></td></tr><tr><td><strong>link_expired</strong> </td><td><p>durée de validité du lien de paiement, au format jj.mm.aaaa (par exemple 25.06.2025). </p><p>Par défaut, le paiement doit être effectué dans les 24 heures</p></td><td><p>Vous pouvez également, dans le champ <strong>"Affectation des variables lors du passage"</strong> indiquer : link_expired = current_date + 2 (le lien sera valable 2 jours jusqu’à 00:00)</p><p><strong>link_expired</strong> vous pouvez aussi indiquer une date avec une heure précise, séparée par un espace, au format jj.mm.aaaa hh:mm (par exemple : 25.06.2025 12:23). Par défaut, le paiement doit être effectué dans les 24 heures</p><p>Vous pouvez aussi utiliser des variables standard, par exemple définissons la durée de validité du lien à 30 minutes :</p><p>time = current_time + 30</p><p>link_expired = "#{current_date} #{time}"</p></td></tr><tr><td>russian_host</td><td>indicateur d’enregistrement du magasin sur l’hôte russe de bePaid. Indiquez ce paramètre avec la valeur 1 si votre magasin est enregistré sur le site bepaid.tech</td><td>Si vous devez passer l’hôte en biélorusse, indiquez le paramètre avec la valeur ''</td></tr><tr><td><strong>test_payments</strong></td><td>la variable est nécessaire pour les paiements de test ; si un paiement de test est requis, ajoutez-la avec n’importe quelle valeur.</td><td></td></tr><tr><td><strong>bepaid_attempts</strong> </td><td>indique le nombre de tentatives pour effectuer le paiement ; par défaut, 1 tentative est accordée.</td><td></td></tr><tr><td><strong>сustomer_data</strong></td><td>un tableau contenant <em>first_name, last_name et email</em> du payeur. Ces données sont nécessaires pour envoyer le reçu par e-mail au payeur et sont disponibles pour modification sur la page de paiement. </td><td><p>Le paramètre doit être transmis sous forme de liste au format JSON, composée de paires clé-valeur</p><p><strong>par exemple</strong>:</p><p>customer_data = ‘{“first_name”: “Vladimir”, “last_name”: “Popov”, “email”: “v.popov@mavibot.ai” }’</p></td></tr><tr><td>bepaid_contract (conditionnellement obligatoire)</td><td>destination du paiement par jeton.</td><td>Valeurs attendues : “recurring” (pour les paiements récurrents à fréquence définie) ou “card_on_file” (pour les paiements non récurrents, par exemple un paiement différé pour un service rendu)</td></tr></tbody></table>

Après l’achèvement du paiement, la variable suivante sera ajoutée au client **bepaid\_callback\_data**, contenant les données de réponse du système de paiement pour l’opération effectuée. À partir du dictionnaire reçu, vous pouvez extraire les données nécessaires à l’aide de la méthode **get**.

## Comment tester les paiements

Pour effectuer un paiement de test avant d’indiquer la variable payment\_sum, vous devez définir la variable test\_payments avec n’importe quelle valeur.

N’oubliez pas de la supprimer lors du lancement du bot en mode production !

Cartes pour les tests :

4200000000000000      succès

4005550000000019        échec

Si quelque chose ne fonctionne pas, comparez les données avec celles du site officiel : <https://docs.bepaid.by/ru/test-integration#test-card-number>&#x20;

## Exemple de génération d’un lien de paiement

Créons un lien de paiement d’un montant de 100 roubles biélorusses (devise par défaut)

Veuillez noter qu’au début, nous définissons les variables supplémentaires pour les paramètres, puis payment\_sum. Les variables peuvent également être définies plus tôt dans la chaîne, et pas dans un seul bloc ; c’est un exemple.

Ensuite, à l’endroit voulu, nous affichons la variable **bepaid\_pay\_url**, qui contient le lien

## Gestion des abonnements

L’intégration du système de paiement offre la possibilité de créer des abonnements pour vos clients.

Avant d’utiliser les fonctionnalités de MaviBot, créez un plan d’abonnement dans votre espace personnel bePaid.

{% hint style="warning" %}
Si le menu “Plans” et “Abonnements” ne s’affiche pas dans l’espace personnel, contactez votre gestionnaire.
{% endhint %}

### Création d’un abonnement et obtention du lien de paiement

Utilisez la fonction **get\_bepaid\_subscription\_url**en lui transmettant le paramètre plan\_id, où

<table><thead><tr><th width="233"></th><th></th></tr></thead><tbody><tr><td>plan_id</td><td>est l’identifiant du plan dans le système bePaid.</td></tr></tbody></table>

En résultat, la fonction créera un abonnement et renverra le lien pour son paiement.

Envoyez le lien au client et attendez la fin du paiement.

En cas de paiement réussi, l’abonnement sera activé, les variables bepaid\_subscription\_id et bepaid\_subscription\_status seront ajoutées à la transaction, et un callback arrivera dans le bot (voir la section “[Comment traiter le résultat](#kak-obrabotat-rezultat)”).

### Obtention d’informations sur l’abonnement

Pour obtenir les données de l’abonnement actuel du client, appelez la fonction get\_bepaid\_subscription\_info en lui transmettant le paramètre subscription\_id (la valeur peut être prise de la variable bepaid\_subscription\_id).

### Annulation de l’abonnement

Pour annuler l’abonnement, utilisez la fonction cancel\_bepaid\_subscription.&#x20;

Cette fonction ne prend qu’un seul paramètre subscription\_id (la valeur peut être prise de la variable bepaid\_subscription\_id).

En cas d’annulation réussie, la variable bepaid\_subscription\_status prendra la valeur “canceled”, et un callback arrivera dans le bot (voir la section “[Comment traiter le résultat](#kak-obrabotat-rezultat)”).

### Statuts des abonnements

<table data-header-hidden><thead><tr><th width="270"></th><th></th></tr></thead><tbody><tr><td>trial</td><td>Abonnement actif ou annulé de la période d’essai.</td></tr><tr><td>active</td><td>Abonnement actif dont le paiement a été effectué dans les délais.</td></tr><tr><td>failed</td><td>Abonnement échoué. bePaid n’a pas pu effectuer le paiement suivant.</td></tr><tr><td>error</td><td>Une erreur s’est produite lors de la tentative de bePaid d’effectuer le paiement.</td></tr><tr><td>canceled</td><td>L’abonnement est annulé et n’est plus en vigueur.</td></tr></tbody></table>

### Paiements récurrents

Vous pouvez également organiser un système d’abonnements sans créer de plan dans l’espace personnel bePaid.

Pour cela, vous aurez besoin du jeton de la carte du client.

Pour obtenir le jeton de la carte, le client doit effectuer un paiement initial via le lien généré à l’aide de payment\_sum.

Avant de définir la valeur de payment\_sum, définissez la variable bepaid\_contract, dans laquelle indiquez l’objectif des futurs paiements par jeton : “recurring” pour les paiements récurrents à fréquence définie ou “card\_on\_file” pour les paiements non récurrents (par exemple, un paiement différé pour un service rendu).

{% hint style="warning" %}
L’option “card\_on\_file” n’est pas prise en charge par tous les acquéreurs. Si vous souhaitez l’utiliser, contactez votre responsable de compte.
{% endhint %}

Après un paiement réussi, la variable bepaid\_client\_card\_token sera ajoutée à la transaction, et le jeton de la carte du client y sera enregistré. Ce jeton permet de débiter la carte du client sans sa participation.

Ensuite, configurez le tunnel et définissez une date ou une condition pour le débit automatique, puis appelez la fonction du calculateur make\_bepaid\_token\_payment en lui transmettant les paramètres nécessaires.

**Ordre des paramètres**:

amount -> currency -> description -> contract

#### Description des paramètres :

<table><thead><tr><th width="286"></th><th></th></tr></thead><tbody><tr><td>amount (obligatoire)</td><td>montant du paiement, valeur attendue - nombre entier ou décimal, par exemple 100 ou 100.5;</td></tr><tr><td>currency (obligatoire)</td><td>devise de paiement en<a href="http://en.wikipedia.org/wiki/ISO_4217"> ISO-4217</a> format, par exemple “USD”</td></tr><tr><td>description (obligatoire)</td><td>description de la raison du débit, par exemple, “Paiement de l’abonnement hebdomadaire pour participer à un club d’intérêts”;</td></tr><tr><td>contract (obligatoire)</td><td>destination du paiement par jeton. Valeurs attendues : “recurring” ou “card_on_file”. </td></tr></tbody></table>

{% hint style="warning" %}
La valeur contract doit obligatoirement correspondre à la valeur indiquée lors de la création du lien pour le paiement initial !
{% endhint %}

Si le paiement a réussi, la fonction renverra le message “Débit réussi via le jeton bePaid“, vous recevrez un callback de paiement réussi, et la variable de transaction bepaid\_token\_payment\_completed prendra la valeur “True”.

Si le paiement n’a pas abouti, la fonction renverra un message indiquant la raison de l’échec du paiement, un callback avec le suffixe “\_fail” arrivera dans le bot, et la variable de transaction bepaid\_token\_payment\_completed prendra la valeur “False”.

{% hint style="warning" %}
La banque peut demander la finalisation du paiement par le client. Dans ce cas, la fonction renverra un lien demandant la validation de l’authentification 3-D Secure.
{% endhint %}

## Comment traiter le résultat

En réponse aux actions du client, des callbacks arriveront dans le bot, composés des 20 premiers caractères de la clé secrète et d’un suffixe dépendant du type et du résultat de l’opération.

Dans le système, le callback ressemble à un message de l’utilisateur, mais l’utilisateur lui-même ne le voit pas.

### Pour les paiements

À la suite d’un paiement ne relevant pas d’un abonnement, vous recevrez l’un des messages suivants :

<mark style="color:green;">**numeroCle\_success**</mark> - en cas de paiement réussi ;

<mark style="color:red;">**numeroCle\_fail**</mark> - en cas d’échec du paiement ;

Le statut du dernier paiement peut également être suivi via les variables bepaid\_payment\_completed (pour les paiements avec participation du client) et bepaid\_token\_payment\_completed (pour les paiements sans acceptation par token de carte)

### Pour les abonnements

Après l’activation réussie d’un abonnement lors du premier paiement ou d’un paiement récurrent, un message arrivera dans le bot <mark style="color:green;">**numeroCle\_success**</mark>.

Si l’abonnement a été annulé, vous recevrez <mark style="color:orange;">**numeroCle\_canceled**</mark>.

En cas d’échec du paiement de l’abonnement, vous recevrez un message *<mark style="color:red;">**numeroCle**</mark>*<mark style="color:red;">\_fail.</mark>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/integrations/payment/bepaid/bepaid-ru.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
