Inscription

Après vous être inscrit sur le service https://auth.inxy.io/, allez dans le menu latéral gauche à la section Payment gateway API et remplissez les données suivantes : nom et description du portefeuille et icône. Le lien vers votre site est facultatif. Cochez toutes les crypto-monnaies que vous souhaitez accepter et cliquez sur Enregistrer les modifications.


Après l'enregistrement, la fenêtre avec les données de connexion s'ouvrira. Ensuite, générez la clé API en cliquant sur le bouton Générer (1) et saisissez le code envoyé à votre adresse e-mail. Conservez la variable résultante dans un endroit sûr. Copiez la clé secrète générée au même endroit. En cas de perte, les clés peuvent être régénérées (dans ce cas, n'oubliez pas de modifier les données dans le projet). Saisissez l'URL pour les webhooks https://chatter.mavibot.ai/inxy\_callback/result dans le champ Postback URL (2).


Configuration de la connexion

Ensuite, allez dans Mavibot — Systèmes de paiement — INXY et cliquez sur le bouton Connecter. Saisissez les clés API et secrètes reçues dans les champs.

скрин на подключение из Mavibot

Génération du lien de paiement

Pour générer le lien de paiement, saisissez la valeur de la variable payment_sum (par exemple : 1), après quoi la variable inxy_pay_url apparaîtra. Vous pouvez ajouter cette variable sur l'écran comme lien ou la placer dans le bouton Payer.

REMARQUE ! Le système fonctionne avec USD ! Le montant dans la variable payment_sum est considéré comme étant en USD dans le système de paiement INXY.

Le lien ressemble à ceci : https://pay.inxy.io/sessions/umLf9cJWBRiaNwowGCE1

De plus, avant de saisir le montant pour la variable payment_sum, vous pouvez saisir les variables facultatives suivantes pour la configuration du paiement
inxy_currency — la crypto-monnaie qui sera utilisée pour le paiement. Vous pouvez saisir l'une des crypto-monnaies disponibles que vous avez choisies avec une case à cocher lors de la génération de la clé API. Si laissé vide, les joueurs choisissent eux-mêmes la crypto-monnaie parmi la liste de celles sélectionnées. Valeurs disponibles : 'BTC', 'ETH', 'LTC', 'DOGE', 'USDT', 'USDC', 'DAI'

inxy_description – description du paiement.

REMARQUE ! D'abord, vous saisissez les variables facultatives pour la configuration, puis le payment_sum.

Les variables peuvent être saisies plus tôt dans la chaîne, et non dans un seul bloc. Tandis que la variable inxy_pay_url, qui inclut le lien, doit être affichée au bon endroit. Ce lien ouvre le formulaire de paiement.

REMARQUE ! La ligne Montant total affiche la valeur en USD, qui correspond au payment_sum. Le Montant total en crypto ci-dessous affiche la valeur dans la crypto-monnaie choisie. Elle varie en fonction du taux de change actuel. C'est le montant que votre client doit vous payer depuis son portefeuille.

REMARQUE ! L'adresse du portefeuille pour le paiement pendant une session unique est réservée au client uniquement pour 2 heures. Recommandez au client de s'assurer que le temps n'est pas écoulé et que l'adresse du portefeuille est toujours valide lors du paiement. Si le temps de session est écoulé — tout le processus de paiement doit être recommencé.

Callback de paiement

Après le paiement réussi, le bot recevra un callback qui vous indiquera que le paiement a été effectué avec succès. Vous voyez ce callback dans le système comme un message de l'utilisateur, de sorte que l'utilisateur ne peut pas l'envoyer. Les utilisateurs eux-mêmes NE PEUVENT PAS voir le callback, seul l'opérateur peut le voir. INXY a plusieurs types de callbacks :

  1. Les callbacks de succès consistent en les 10 premiers symboles du jeton suivis de 'success', par exemple : uc8zsjNN1x_success

Un tel callback est envoyé si le client a payé le montant total et qu'aucun problème n'est survenu pendant le paiement. Avec ce callback, deux variables seront ajoutées au projet : inxy_payment_completed égal à True ; et inxy_payment_status avec la valeur paid.

Pendant le processus, la variable inxy_payment_status change de valeur. Après que l'utilisateur ouvre le formulaire, elle passera à waiting_payment, pendant le traitement du paiement elle passera à waiting_confirmation, et après le traitement réussi elle aura la valeur paid ou partially_paid.

Pendant le traitement du callback, le type de comparaison doit être Correspondance exacte. Par exemple : vous pouvez faire le traitement du paiement réussi comme un bloc avec condition et afficher un message pertinent à l'utilisateur :

2. Parfois, les taux de change des crypto-monnaies changent ou les portefeuilles prélèvent des frais supplémentaires sur les opérations, de sorte que le montant résultant que vous avez reçu n'est pas complet. Dans de tels cas, la variable inxy_payment_status aura la valeur partially_paid et le système recevra un callback qui ressemble à ceci :


Dans ce cas, vous devrez envoyer un message au client pour lui demander de couvrir le montant manquant. Par exemple : vous pouvez définir une condition pour le début de votre callback et, à sa réception, envoyer au client une URL pré-générée avec un lien de paiement, ou vous pouvez définir une condition pour que le bloc s'active lorsque la valeur de la variable inxy_payment_status est partially_paid.

N'oubliez pas que le lien de paiement n'est valable que 2 heures ! Si le client ne paie pas le montant manquant à temps, il ne peut pas être ouvert. Comme INXY à ce stade traitera le premier paiement partiel, l'argent ne reviendra pas au client. Pour le retourner, vous devrez vous rendre sur votre compte INXY et effectuer l'opération de retour.

Création d'un abonnement

Le système INXY permet aux utilisateurs de créer des abonnements. Pour cela, ajoutez n'importe quelle valeur à la variable inxy_subscription_payment, et un abonnement mensuel sera créé. Si vous souhaitez définir une période différente, utilisez les variables suivantes :
inxy_subscription_interval égal à 'day' — créera un intervalle d'abonnement égal à des jours (par défaut, c'est un mois)
inxy_subscription_period — ajoutez une variable égale de 1 à 30 pour définir la période. Par exemple, pour créer un paiement d'abonnement une fois tous les 15 jours, définissez inxy_subscription_interval = 'day' et inxy_subscription_period = 15, et pour que le paiement soit effectué deux fois par an, définissez inxy_subscription_period = 6 (car inxy_subscription_interval est égal à mois par défaut)

Le lien ouvrira également le formulaire de paiement mais il sera différent : d'abord, sur le côté, il sera indiqué que le paiement est basé sur un abonnement avec la période affichée, ensuite, le formulaire suggérera au client d'ajouter un dépôt pour plusieurs paiements à l'avance.

Spécificités INXY : Si le client paie х2 ou х3 du montant, Mavibot recevra un message concernant un montant unique. Le reste sera déposé sur le solde du client et sera utilisé pour les paiements à venir. Comme le taux de change des crypto-monnaies varie, ce montant peut finalement être insuffisant pour l'un des paiements suivants, entraînant un abonnement impayé. Dans ce cas, vous recevrez un callback indiquant 'fail' et vous pourrez configurer un rappel pour votre client.

Un abonnement ne peut pas être partiellement payé. Le solde du client est vérifié avant le paiement. S'il n'y a pas assez de fonds, le paiement n'est pas effectué du tout.

Après l'abonnement réussi, les variables du client incluront inxy_subscribtion_id (numéro de référence) et inxy_subscription_status.

Annulation de l'abonnement

Pour annuler un abonnement, utilisez la fonction suivante inxy_remove_subscription(inxy_subscription_id). Saisissez le numéro d'identification de l'abonnement comme inxy_subscribtion_id dans la fonction et l'abonnement sera annulé.

En cas de succès, vous recevrez un callback 'Subscription status inxy_subscription_id - deleted' et la variable inxy_subscription_status changera à la valeur pertinente.