Cryptoprocessing platform with recurrent features
After registering in https://auth.inxy.io/ service go to Payment gateway API in the left side menu and fill in the following data - name and description of the wallet and icon. Link to your site is optional. Select all the cryptocurrencies you want to accept with a checkbox and click Save Changes
After saving, the window with connection data will open. Next generate API key by hitting the Generate button (1) and enter the code, sent to your email. Save the resulting variable in the safe place. Copy the generated Secret Key in the same place. Keys, in case of loss, can be regenerated (in this case, remember to change the data in the project). Enter the URL for webhooks https://chatter.salebot.pro/inxy_callback/result in the Postback URL (2) field.
Then go to Salebot — Payment systems — INXY and hit the Connect button. Enter received API & Secret keys in the fields.
скрин на подключение из Salebot
To generate payment link enter the value of payment_sum variable (eg.: 1), after that the inxy_pay_url variable will appear. You can add this variable on the screen as a link or put it into the Pay button.
NOTE! The system works with USD! Amount in the payment_sum variable is considered to be USD in the INXY payment system.
The link looks like this: https://pay.inxy.io/sessions/umLf9cJWBRiaNwowGCE1
Also, before entering the amount for payment_sum variable, you can enter the following optional variables for the payment setup inxy_currency — cryptocurrency that will be used for the payment. You can enter one of the available cryptocurrencies that you have chosen with a checkbox during API key generation. If left empty, the players choose the cryptocurrency themselves from the list of chosen ones. Available values: ‘BTC’,‘ETH’,‘LTC’,‘DOGE’,‘USDT’,‘USDC’,‘DAI’
inxy_description – payment description.
NOTE! FIrst you enter optional variables for the setup, and then the payment_sum.
Variables can be entered earlier in the chain, and not in a single block. While the inxy_pay_url variable, that includes the link should be вывести in the correct place. This link opens the payment form.
NOTE! The Total amount line shows the value in USD, that equals the payment_sum. Еhe Total crypto amount below shows the value in the chosen cryptocurrency. It varies based on the current exchange rate. This is the amount your client has to pay you from his wallet.
NOTE! Wallet address for the payment during a single session is reserved for the client only for 2 hours. Recommend the client to make sure that the time has not run out and the wallet address is still valid when the payment is made. If the session time has run out — the whole payment process has to be started over.
After the successful payment the bot will receive a callback that will tell you the payment was successfully made. You see this callback in the system as a message from the user, so that the user can not send it. Users themselves CAN NOT SEE the callback, only the operator can see it. INXY has several types of callbacks:
- 1.Success callbacks consist of first 10 symbols of the token followed by ‘success’, eg.: uc8zsjNN1x_success
Such callback is sent, if the client paid the full amount and no problems have occurred during the payment. Along with this callback two variables will be added to the project: inxy_payment_completed equals True; and inxy_payment_status with the paid value.
During the process the inxy_payment_status variable changes its value. After the user opens the form it will change to waiting_payment, during the payment processing it will change to waiting_confirmation, and after the successful processing it will have the value of paid or partially_paid.
During the callback processing comparison type should be Full match. Eg.: you can make the successful payment processing as a block with condition and show relevant message to the user:
2. Sometimes cryptocurrency exchange rates change or wallets take extra fee from operations so that the resulting amount that you’ve received is not full. In such cases the inxy_payment_status variable will have the partially_paid value and the system will receive a callback that looks like this:
In this case you’ll have to message the client with a request to cover the missing amount. Eg.: you can set a condition for the beginning of your callback and upon receiving it send the client a pre-generated url with a payment link or you can set a condition that the block activates, when the inxy_payment_status variable value is partially_paid.
Remember that the payment link is valid for 2 hours only! If the client does not make the payment of the missing amount in time, it can not be opened. As INXY on this stage will process the first partial payment, money won’t return to the client. To return them you’ll need to go to your INXY account and make the return operation.
INXY system allows users to create subscriptions. To do this add any value to inxy_subscription_payment variable, and a monthly subscription will be created. If you want to set a different period, use the following variables: inxy_subscription_interval equal to ‘day’ — will create a subscription interval equal to days (default is month) inxy_subscription_period — add a variable equal from 1 to 30, to set the period. Eg. To create a subscription payment once each 15 days set the inxy_subscription_interval =‘day’ and inxy_subscription_period=15, and for the payment to be made twice a year set inxy_subscription_period=6 (as inxy_subscription_interval equals month by default)
Link will also open the payment form but it will be different: first, on the side it will be shown that the payment is subscription-based with shown period, second, the form will suggest the client to add a deposit for several payments ahead.
INXY specifics: If the client pays х2 or х3 of the amount, Salebot will receive a message about a single amount. The rest will be deposited on the clients balance, and will be used for the upcoming payments. As the cryptocurrency exchange rate varies, in the end this amount may be insufficient for one of the following payments resulting in an unpaid subscription. In such a case, you will receive a callback that states ‘fail’ and you can set up a reminder for your client.
Subscription cannot be partially paid for. Client’s balance is checked before the payment. If there’s not enough funds the payment is not made at all.
After the successful subscription client variables will include inxy_subscribtion_id (reference number) and inxy_subscription_status.
In order to cancel a subscription, use the following function inxy_remove_subscription(inxy_subscription_id). Enter subscriptions id number as inxy_subscribtion_id in the function and the subscription will be cancelled.
In case of success you’ll receive a callback ‘Subscription status inxy_subscription_id - deleted’ and the variable inxy_subscription_status will change to the relevant value.