Products | Checkout
One Time Payments
We offer a one-time payment router for you to sell services or goods. You can charge in native ETH, or any ERC-20 token. Simply generate a payment link, share it or embed it on your site, and integrate with our API to enable one-time crypto payments immediately!
Creating a One Time Payment Product
On the Sukuri Dashboard, head to the Products page. From here, you can create a new product. Choose One Time Payment for your product type. Within the create screen, you will be able to set different parameters that you require by buyers. This could be an e-mail, address, full name, notes, etc.
You will also need to setup a redirect URL for the product. You can use a default redirect URL set in your business settings, or you can have specific redirect URLs for different products. It will require one of them to be set. This redirect URL will be used later during the checkout flow!
Checkout Flow
Once your product is created, you will have a generated payment link that can then be shared with anybody or embedded on your website. When users go this link, they can login with their wallet, social account, e-mail, or phone.
This will create an account for them with Sukuri that they can use later to manage their subscription.
From here, they will be asked to provide any information you require when setting up your product. After all information is ready to be sent, they will pay you directly and the page will redirect with the following information:
<REDIRECT_URL>?user_id=<USER_ID>&product_id=<PRODUCT_ID>&payment_id=<PAYMENT_ID>&payment_status=<success | pending | failure>
Let's break this down:
user_id
: The Sukuri User ID of the person paying. You will want to store this against whatever internal user ID you have in your system. This will be used to check validity of payments.product_id
: Your product ID that they just paid for. This will be used to check validity of payments.payment_id
: Unique identifier assigned to each payment. Can be used to fetch information about payment_status later.payment_status
: The status of the payment when redirect occurs. Sometimes the chain might be slow so we will redirect them early to not keep them waiting. If this occurs, you will have to check the payment_status later using theuser_id
andproduct_id
.
Your redirect URL should take this information and store it with whatever user initiated the transaction on your side. From this point on, you can assume that the user_id
will be the same unless they use a different wallet, so your user_id should be stored in an array of valid user_ids to keep track.