Published in


How to start using 8pay network — A complete tutorial

In the following article we will cover the basics on how to create and perform single and recurring payments through the graphical interface of the 8Pay Web App.

We assume that the end user has previous knowledge about how to use a MetaMask wallet and how to buy BNB tokens to pay gas fees on the Binance Smart Chain.
If you don’t know how to connect the MetaMask wallet to the Binance Smart Chain have a look here.


First of all, to perform the login into the 8Pay Web App it’s required to sign an authorization through the MetaMask wallet, make sure the selected network is Binance Smart Chain.

To do this, the only thing to do is to click on the “sign in” button and to authorize the action from the MetaMask popup.

Once you are in, you have to enable your preferred tokens in the Wallet section. Through the 8Pay Web App you will be also able to set up a maximum allowance as an expense limit for the selected coin. If you don’t set it, we’ll consider it as infinite. Obviously, this action also requires a signature with your MetaMask account.

Single Payments

Execute a single payment

One of the most basic action you can do through 8Pay is sending your tokens straightaway to another address.

The process is really simple, just click on the “Send” top left button in the Dashboard page, fill the form with description, tag(optional), category, receiver, amount and that’s it. You have performed your first single payment through the 8Pay network.

Request a single payment

Similarly to executing a single payment, you can also create a payment link, qr code or html button, to receive a single payment into your wallet.

By clicking the “Receive” button on the upper right corner of the dashboard page and filling the information, you will be provided with Qr codes, links and buttons to share or the HTML button code to integrate the payment request you just created.

Recurring payments

Fixed recurring

Here comes the real core of the 8Pay network.

Go to the Plans tab by clicking on the corresponding button on the left sidebar. You can find (if any) all of your previously created recurring plans, with the possibility to manage your subscribers, your billings and more.

But first, let’s create our first Fixed recurring plan.

To do so, just click on the top left button called “Create a plan”, then, from the billing model option, select “Fixed recurring”, choose a category, the token you’re willing to accept for this plan, the duration of the billing cycle (in days) and finally the amount to be deducted from the subscriber at the beginning of each billing cycle.

Once the subscription has been created, you should be able to see it in the Plans section of the Web App, as we said before. From there, by clicking on the selected subscription, you will be redirected to the management page where you can list, manage and bill all your subscribers. On the same page, you will be able to obtain the qr code, the link or the html code of the button you can embed on your website.

Variable recurring

Here the process is really similar to the Fixed recurring one. The only difference is that, once you’re choosing between the billing models, you’ll select the “Variable recurring” option.

Again you can choose the title, the category, the currency and the period, but unlike the Fixed recurring, the Variable recurring allows you to set a maximum amount you’re willing to deduct from the subscriber wallet at the beginning of each period, keeping in mind that the amount could be different from cycle to cycle according to your needs but never exceeding the max amount you just set.

As in the previous case, you can find the newly created plan among the plans in the corresponding section of the Web App; from here you can manage your subscribers and obtain links, qr codes and buttons you need for our activity.

On demand

The last billing model we’ll cover in this tutorial is the “On demand”. Unlike the other two recurring models, this one doesn’t request a billing period for a billing cycle.

By creating this kind of plan, the owner will get an allowance from the subscriber’s wallet granting him the ability to deduct a certain amount any time the customer uses the service. Let’s see how to do it.

From the Plans tab, click on the “Create a plan” button on the top right corner; the usual drawer form will appear sliding from the right.

Again you can choose title, category and token of the plan but here, unlike the previous plans, there’s a minimum allowance field and a period field which meaning is quite different compared to the others.

Here the minimum allowance field means the minimum amount the subscriber could set as his “max allowance” (the maximum amount he’s willing to pay during a billing cycle).

Consequently, the period field here determines the billing cycle after which the maximum allowance is resettled and the plan creator is authorized to bill the subscriber as many times he wants until the maximum allowance is reached again.

This tutorial is on how to perform the basic operations on the 8PAY Web App.

If something is still unclear, please refer to our official telegram channels or through contact in our official website.

Sharing your plans

Single payments

Once completed a single payment request creation (as described in “Request a single payment” paragraph), after clicking the “Create payment” button, you will be able to perform 3 actions within the slider (drawer) itself:

Share a payment link

Just click the icon inside the “Payment link” field and the url of your newly created request will be automatically copied to your clipboard; now you can paste it wherever you want.

Anyone who opens the link will land on the 8Pay payment page which asks the user to proceed with the payment (valid for any kind of payment across the 8Pay network).

Download the QR Code

Similarly to sharing the payment link, you can share the QR code pointing to the same url by clicking the “Download QR code” button and selecting the preferred location for the file.

Embed the payment button

Finally, you can embed an 8Pay payment button into your website or landing page by clicking the “Embed payment button” button; again the code will be copied to your clipboard allowing you to easily paste it directly into your CMS or preferred IDE.

And here’s the resulting button:

Pro tip: you can also tweak the html button code to dynamically change the amount of the single payment (valid for single payments only) and, furthermore, you can set callback urls during the creation phase to receive notification each time you receive a payment through the links, qr codes or buttons.

Recurring Payments

Exactly as sharing single payments, also after creating any Recurring payment you can play upon the same sharing possibilities as the single payments case, but here you can retrieve or create those resources at any time by going to the Plans tab of the webapp, clicking on the plan you’re interested in and start generating or recalling them.

Share a payment link or a QR Code

To share a payment link, you need to click first on the “Link & QR Code” button on the plan’s detail page, after that, the usual slider will open showing eventual previously created links and a “Generate Now” button.

By clicking on the button, a form asking for optional and required fields will appear; just fill it and upon clicking on the “Generate” button, you’ll be prompted with both a link to copy and a QR code to download.

The link is then saved into the system and available for further reuses.

Embed the payment button

Embedding the payment button is even easier. Again, from the plan’s detail page, click on the “Buttons” button.

Here the slider shows immediately only a bunch of optional fields for the savviest, fill what you need and once you click on the “Generate” button, the slider disappears leaving the code in your clipboard for you to paste it wherever you need it.

Manage your subscribers

Once you set up any of the recurring payments types, it’s time to manage and bill your subscribers. Let’s see how to do it.

Bill your subscribers

Billing your subscribers from the Web App is really easy. Just go to the Plans tab and on the corresponding button on the left sidebar from anywhere in the Web App, then access the plan you prefer and then click on the “Manage Subscriptions” button on the top left corner.

Here a list of active subscribers will appear first; those are the subscribers who are in the middle of the billing cycle and unavailable for billing (except for on demand payments).

All your billable subscribers are collected under “Expired” Tab. Just click over and the list will pop out. Now you can select a bunch of subscribers or all of them by clicking on the corresponding checkbox on the left.

Once there’s at least one checkbox selected, the “Bill” button on the upper left zone of the screen will gain color; this means you can finally click on it to bill the selected subscribers.

Once you are done, you can see the selected subscribers are not transferred from the “Expired” to the “Active” tab, and the total amount is reported on the daily chart in the details page of the plan.

Terminate a subscriber’s subscription

You can also kick off one or more of your subscribers from the plan using the “Manage Subscriptions” section of your plan (same as billing).

Both from the “Active” and “Expired” tab you can click on the target row (not on the checkbox) and the drawer (slider) will open showing the details of the subscriber (eg. when subscription started, when you can bill him again, the history of billings ecc); at the very bottom of the slider, a grey button called “Terminate” is available to be clicked. If you click on it, the subscriber’s subscription will be terminated and his row will be moved to the “Unactive” tab where you can gather historical information about his activities.

Unleash 8Pay superpowers

If the amount of actions you can perform directly from our 8Pay Web App using the UI it’s still not enough for your needs, what you can do with code is almost limitless.

With developers and merchants in mind, we crafted many useful interfaces available to the public.

Click here for the full documentation: https://docs.8pay.network/


The APIs, which are controlled and hosted by 8Pay, read from a cached version of the information stored on the blockchain. Everybody can verify all of the information provided by the 8Pay APIs with onchain data to ensure that it is accurate and up to date.

Webhook Notifications

Webhooks are user-defined HTTP callbacks triggered by an event. 8Pay uses webhooks to asynchronously let your application know when events happen, like payments are completed, customers subscribe to plans, subscriptions are cancelled, billings are executed and so on.

When an event occurs, 8Pay makes an HTTP POST request to the URL you have configured for your webhook, sending a notification of the event. Your application can then perform whatever logic is necessary.

Javascript SDK

The 8Pay Javascript SDK empowers your web applications allowing you to perform any of the action we introduced through this tutorial with a bunch of lines of code. This is a Node.js module available through the npm registry.


WooCommerce plugin

Last but not least we made The WooCommerce 8Pay Payment Gateway plugin which allows merchants to receive crypto payments on their WooCommerce stores without being coding wizards or tech experts.

Store owners can visit this link https://it.wordpress.org/plugins/8pay-payment-gateway/ to download and then install the plugin as they usually do with other plugins out there.


We really hope we covered all the principal aspects of our platform in the most easy yet enjoyable way; if it’s not the case, or something is missing or unclear, please feel free to mail us at info@8pay.network and we’ll be happy to correct, enrich or adjust the content of this tutorial.

Enjoy your 8Pay journey!

Website: https://www.8pay.network/

Documentation: https://docs.8pay.network/

Certik Audit: https://github.com/8pay/core-contracts/blob/master/docs/audit.pdf

Telegram Official Channel: https://t.me/official_8pay



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store