2024-08-14|閱讀時間 ‧ 約 28 分鐘

CandyPay : Payment solution for Solana Pt.2

Opening

在前一篇文章中,我們介紹了 CandyPay 的核心功能及其在 Solana 生態系統中的重要性。

現在我們將進一步深入探討如何在實際項目中設置和使用 CandyPay,幫助開發者快速整合這一強大的支付工具。

無論你是新手還是有經驗的開發者,本篇文章將提供清晰的步驟與代碼,讓你輕鬆掌握如何將 CandyPay 整合到你的應用中,從而實現加密貨幣支付功能的無縫體驗。

Setting up

npx create-next-app checkout --ts

之後安裝套件,這套件可以跟 CandyPay Checkout 的 API 互動

npm install @candypay/checkout-sdk

Initialization CandyPay SDK

import { CandyPay } from "@candypay/checkout-sdk";

const sdk = new CandyPay({
api_keys: {
private_api_key: process.env.CANDYPAY_PRIVATE_API_KEY!,
public_api_key: process.env.CANDYPAY_PUBLIC_API_KEY!,
},
network: "mainnet", // 使用 'mainnet' 表示產品上線時使用的環境,使用 'devnet' 表示開發環境
config: {
collect_shipping_address: false, // 設定為 true 時,系統將要求用戶提供運送地址;設定為 false 時則不會收集運送地址。
},
});

接下來,我們創建一個名為 handler 的函數,這個函數將處理所有支付請求

我們需要讓用戶知道他們的支付已成功完成

當顧客取消他們支付時,我們需要讓他們返回原本的頁面

最後將這些頁面整合到應用的首頁,並添加一個支付按鈕

Add discounts for payments

Loyalty > paid marketing

接下來會介紹CandyPay其中一個亮點,就是所謂的NFT-Based Discount,這項功能會根據客戶所持有的NFT給予客戶一定的折扣,設定折扣的過程包括找出 NFT 的「verified creator address」,然後在設置 discounts 物件,這樣持有特定 NFT 的用戶可以享受相應的折扣,這項功能可以幫助商家做到以下幾種customer loyalty的擴展。

  • 去獎勵社群/品牌/產品的忠實用戶
  • 可以給予用戶100%的折扣,這樣NFT就可以當成兌換券

你可以透過以下幾個步驟設定好NFT-Based Discount

  • 找到正確的 Collection ID
    • 在 Solscan 等區塊鏈瀏覽器中打開 NFT 地址
    • 進入「Metadata」
    • 在「Creators」array中,找到第一個「address」值並確認其「verified」值為 1


  • 設置折扣(設置 discounts 物件)
    在建立Payment Session時,需要將 discounts 物件添加至Session Configuration中。該物件包括以下參數:
    • collection_id:NFT 的創作者地址,verification value為 1。
    • discount:用於扣除總支付金額的折扣百分比,以小數表示(如 0.2 表示 20% 的折扣)。
    • name:顯示在支付頁面的 NFT 名稱。
    • image:顯示在支付頁面的 NFT 圖片。
  • 假設你正在賣的商品叫做 "Solana Shades" ,並希望為持有 JACK NFT 的用戶提供 20% 的折扣,你需要添加以下代碼:

Closing

通過本篇文章的詳細步驟與代碼範例,相信你已經掌握了如何將 CandyPay 這一強大的支付工具無縫整合到你的應用中。

CandyPay 不僅簡化了加密貨幣支付的實現過程,還為你的應用帶來了 Solana 生態系統的所有優勢。

Reference

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.