Following the global converter Pi Payments is also on the agenda!
The hackathon video seminar has just ended, and the content of the hackathon video conference has instantly become a hot topic among pioneers. One of the most exciting is that Pi Payments has become the core issue of the conference.
The research and development of global converters has been exciting, and Pi Payments has been named and put on the agenda now, making Pi friends even more excited.
The following is the content of Pi Payments in the video conference:
Pi SDK comes with Pi API, where you can perform HTTP requests to the main Pi backend. Currently this is only used to process payments, but more features will be added in the future, such as creating chat conversations on Pi Chat from your app.
At the bottom of the page, you can see a section called “API Key”. As an application developer, you will need it to access the PI backend. stay safe! Anyone with this key can pretend to be you.
Please note that access to the public Pi blockchain does not require any API keys.
You can simply use your application’s private key to generate transactions and pass any public nodes (such as your own node, one of the Pi core team’s nodes) Or any other node running “blockchain API service“)
In the whole process, basically 4 parties are involved.
Your application server
The most important thing to remember is that all of this must be fully synchronized with the payment status to avoid any possible race conditions. If something goes wrong, the user may pay for an item that has already been provided to other people, or the user may pay for an item twice because the process is interrupted.
To avoid such situations, the Pi Core team has implemented the agreement as part of the Pi SDK, so you don’t need to worry about it at all.
Using Pi SDK, creating payments in Pi Apps is very simple. Let’s take a look at the createPayment function. It requires 2 parameters, paymentData object and callback function object. The paymentData object consists of three items.
Payment amount, user memo, and metadata for your own use. If any of them are missing, you will receive an error message.
onReadyForServerApproval is a function that is called when the payment id is ready. To use this feature, you need to pass the payment ID and other related data to your application server.
Then on your server, you should reserve an item for the user who is about to buy, and let the Pi server know that you are ready to continue. In other words, you need to make sure that your server knows the current payment through this function.
onReadyForServerCompletion is a function that is called after the blockchain transaction is submitted to the Pi blockchain. Your job again is to pass any relevant data to your application server.
On your server, you can verify payment and deliver items reserved for users. Finally, you should complete the payment by letting the Pi server know that you have received the payment and delivered the item. The other two functions are onCancel and onError functions.
As the name suggests, they are functions that are called when a payment is cancelled and an error occurs.
Let’s not forget the onIncompletePaymentFound function we saw in the previous video.
Remind you that this feature is responsible for completing any outstanding payments. You may wonder why you need to implement this feature. The payment process may be interrupted unexpectedly.
The user may lose Internet connection, the application may crash or the server may not respond. If the payment process fails before the user makes the payment, then it does not matter.
The user only needs to restart the process. Of course, you need to clean up stale orders on the server. But what if the user has already paid and the process ends abruptly without completing gracefully? This is where this function comes into play.
Pi SDK will detect this type of payment when the user is authenticated and the user tries to make a new payment. If it finds that the payment is not completed, it will request your application to complete the payment.
Okay, so we will implement these functions in one minute. But there is one more step you can’t forget, and that is to get the API Key.
Assuming you have registered your application on the developer portal, let us generate an API Key if you have not already done so. Select your application at the bottom.
If you click the “Get api key” button, you can create a new key. Save the key before closing the window. Using this key, you can click on our endpoint and update the payment status.
Let’s go back to our demo application, and now we are going to implement the callback function. To save time, I prepared code snippets. Let’s fill in this together.
We all know what this is now. What you have to do here is to call your server to access our endpoint from your server. Remember, this slash approval is just an arbitrary route that I used as an example. Similarly, to complete the payment, you need to call your server to access our endpoint.
The last two functions are for your own use. After canceling the payment, please mark it as cancelled on your server. You can also handle errors as needed.
Now let’s finish the backend. In this demo, I am running a node server, but you can choose any backend you like. Also remember that the actual implementation depends on you. I just show a rough example to help you understand the process.
First, let’s look at the approved route. When creating a payment, you need to reserve an item for the user and map the paymentId to the current order. Then make sure to click on the approve endpoint to approve the payment.
The same thing applies to the complete route. You can verify the payment as needed, deliver the goods to the user, mark the order as paid and complete the payment by clicking the complete endpoint.
READ ALSO: Pi Network Popularity: See Why Pi Network is more popular than Bitcoin & Ethereum
We should not forget the incomplete route. Process the outstanding payment and click on the complete endpoint.
Although I skip it here, don’t forget to handle cancellation routing. We are finally ready to create a payment.
Now that the code is ready, let’s look at the process from the beginning. As soon as I clicked the button, the payment process started. I can see the next page only after the application server approves the payment.
Then I can view the details and if I think it is correct, I will use my password to sign and submit the transaction to the Pi blockchain.
Now that the transaction has been submitted, we are waiting for the application server to complete the payment process. When the application server finally completes the payment, I can see the result, and the demonstration ends here. Thanks for watching.
The key word described in the above content is Pi Payments. So many texts mainly tell you the operation principle, operation method, and safety factor of Pi Payments.
Don’t feel troublesome, when you complete the previous steps, then the subsequent payment will be simple.
“Winter is here, can spring be far behind?” Although π has not yet been on the mainnet, everything is in preparation and is about to be ready.
The global converter is because people worry about currency exchange issues after π is on the main network.
Once Pi Payments is completely completed, safe transactions can be made with π.
Are you still worried about the exchange issue? The ecosystem is established, the exchange problem is solved, and the payment system is perfect.
Worried issues are solved one by one, so waiting for the mainnet to go live is the only thing we can do.
ALSO READ: The administrator broke the news: After the pi main network, Amazon and other giants will be connected to the great ecosystem of pi payment in minutes!
Thousands of arrows are fired, multi-pronged, and the east wind blows, π will surely start the prairie fire.