Solana Pay 101 - Part 2

更新於 2024/08/01閱讀時間約 4 分鐘

Gentle Introduction to Solana Pay API

在開始寫程式之前我們需要準備兩個錢包地址用於模擬收發代幣,這邊我用的是phantom wallet。接下來的模擬會在Solana devnet(測試網路)上進行,可以前往wallet中的 設定>開發人員設定>測試網模式 開啟選項。


要匯入模擬用的Solana代幣可以在網路上尋找 Solana faucet

Dependencies

Solana Pay API 都是基於 js/ts。我們先下載需要用到的套件:

npm install @solana/pay bignumber.js @solana/web3.js

預計使用到的import:

import { PublicKey, Keypair, Connection, clusterApiUrl } from "@solana/web3.js";
import { encodeURL, createQR, findReference } from '@solana/pay';
import BigNumber from 'bignumber.js';


Transfer Flow

web app to mobile app transfer flow

web app to mobile app transfer flow

這個是用手機錢包在網站上進行交易的流程圖,其他的交易模式可以參考官方文檔內容。整個交易過程中商家不會知道他在跟誰交易,所以最後會需要一個搜尋並確認有收到款項的動作,透過的方法就是在transfer request url中的reference field留下一個public key,細節可以參考下一段的request url介紹。


基本上一筆Solana Pay的交易內容可以被encode成一個Solana Pay transfer request URL, 格式如下:

solana:<recipient>
?amount=<amount>
&spl-token=<spl-token>
&reference=<reference>
&label=<label>
&message=<message>
&memo=<memo>

這個url可以被包成一個qrcode或是nfc tag,且不需要靠任何的server運作,只要用錢包掃了qrcode交易就可以直接進行。以下針對幾個特別的fields做介紹:

  • recipient: required, 要收錢的錢包地址
  • spl-token: optional, 如果想要以SOL以外的代幣交易(如USDC),需填入spl-token的base58 pulbic key
  • reference: optional, 需為base58 encoding,可以用來當作交易識別來確認交易成功。
raw-image

實作

透過@solana/pay 提供的api可以容易的將上述種種資訊包裝成request url再包成qrcode。(p.s.如果amount留空則會讓使用者自行輸入支付金額


確認交易成功

在成功進行交易後,如上面所述商家需確認有收到款項。這邊我實作了一個簡易的polling,每五秒透過前面reference生成的public key和@solana/web3.js所提供的 findReference()API來檢查等待中的transaction是否成功被放到區塊鏈上(交易成功)。在第二張截圖中可以看到

raw-image
raw-image

我也可以用這個signature直接在solscan的devnet上找到這筆交易


下面影片是將Solana Pay 整合到亞馬遜網路商店購物結帳流程的demo。由於phantom錢包沒有提供USDC測試,後面實際轉帳的流程我改為在devnet上轉0.1SOL代替。

不用在結帳的時候到處翻找你的信用卡,不再需要麻煩的信用卡資訊填寫,敏感資料因商家保管不當/被駭而外流的機率直接消失,跟LINE Pay一樣方便更無須擔心海外消費不支援,實際感受一次是不是覺得超級方便的呢?

以上就是本次介紹,其他實作如空投、Solana Pay tx request、Handle Transfer Request as Wallet Provider等等,礙於篇幅不再贅述。希望這篇文章能讓你對Solana Pay有初步的認識~


API文件參考:

  • https://docs.solanapay.com/api/core
  • https://docs.solanapay.com

文中範例程式碼:




avatar-img
3會員
7內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
ppe ha的沙龍 的其他內容
Solana Pay是基於Solana區塊鏈開發的支付協議,允許使用加密貨幣進行支付。文章介紹了Solana Pay的優勢和功能,下一篇文章將簡單介紹其API的機制與實作。
Solana Pay是基於Solana區塊鏈開發的支付協議,允許使用加密貨幣進行支付。文章介紹了Solana Pay的優勢和功能,下一篇文章將簡單介紹其API的機制與實作。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
🚀 币安 - 全球最大加密货币交易所-<<点击注册 💰 注册即享 20% 手续费返佣优惠 🔑 专属邀请码: R851UX3N 购买虚拟货币可能对新手来说有些复杂,但了解并掌握几个主要的购买渠道,就能让你轻松入门。本文将为你揭秘虚拟货币的购买途径,帮助你安全、高效地开启加密货币之旅。 1. 
Thumbnail
資管巨頭VanEck向美國SEC提交Solana ETF申請文件,帶動SOL及部分山寨幣強勢反彈。整理了貓友對於山寨幣操作的問題,直播6A、6V分享操作看法!劫富濟貧嚕錢招式等。
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#152篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
進入Lua的第一步! 安裝和執行
Thumbnail
這篇分享了之前訂購的 Solana Chapter 2 手機的相關訊息,包括空投代幣的情況以及未來的風險評估。同時也提到了最新的 TON 手機預購情況,包括成本、簡介、福利、發貨時間和邀請機制。
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#150篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
GG 為 Solana 上創建第一個 ARC (AR Crypto) 遊戲生態系統 玩家可以在自己的城市中收集 GBox,以此來獲得SOL 融資方面,投機機構也已進場,如Delphi Digital、Cozomo de' Medici、GMoney等 https://www.rootdata.co
Thumbnail
最近@solana生態很火,這個@ggdotzip只要連結 #Solana 錢包就可以開始!後續會做遊戲,大家趕緊推薦碼立刻用有使用哪個幫忙回報一下喔 顶级加密游戏 VC@Delphi_Digital 投资的Solana 游戏@ggdotzip免费拿积分,邀请码自取 https://gg.zip/C
Thumbnail
以太坊上隱私協議@dop_org白皮書內測試網明牌空投- Tomi代幣持有者- Tomi Pioneers系列NFT持有者-測試網參與者流程:創建錢包領取測試代幣加密-發送-解密代幣Let's go 1⃣創建錢包 網址:https://doptest.dop.org?id=b5tWpB9 流程
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
🚀 币安 - 全球最大加密货币交易所-<<点击注册 💰 注册即享 20% 手续费返佣优惠 🔑 专属邀请码: R851UX3N 购买虚拟货币可能对新手来说有些复杂,但了解并掌握几个主要的购买渠道,就能让你轻松入门。本文将为你揭秘虚拟货币的购买途径,帮助你安全、高效地开启加密货币之旅。 1. 
Thumbnail
資管巨頭VanEck向美國SEC提交Solana ETF申請文件,帶動SOL及部分山寨幣強勢反彈。整理了貓友對於山寨幣操作的問題,直播6A、6V分享操作看法!劫富濟貧嚕錢招式等。
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#152篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
進入Lua的第一步! 安裝和執行
Thumbnail
這篇分享了之前訂購的 Solana Chapter 2 手機的相關訊息,包括空投代幣的情況以及未來的風險評估。同時也提到了最新的 TON 手機預購情況,包括成本、簡介、福利、發貨時間和邀請機制。
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#150篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
GG 為 Solana 上創建第一個 ARC (AR Crypto) 遊戲生態系統 玩家可以在自己的城市中收集 GBox,以此來獲得SOL 融資方面,投機機構也已進場,如Delphi Digital、Cozomo de' Medici、GMoney等 https://www.rootdata.co
Thumbnail
最近@solana生態很火,這個@ggdotzip只要連結 #Solana 錢包就可以開始!後續會做遊戲,大家趕緊推薦碼立刻用有使用哪個幫忙回報一下喔 顶级加密游戏 VC@Delphi_Digital 投资的Solana 游戏@ggdotzip免费拿积分,邀请码自取 https://gg.zip/C
Thumbnail
以太坊上隱私協議@dop_org白皮書內測試網明牌空投- Tomi代幣持有者- Tomi Pioneers系列NFT持有者-測試網參與者流程:創建錢包領取測試代幣加密-發送-解密代幣Let's go 1⃣創建錢包 網址:https://doptest.dop.org?id=b5tWpB9 流程