Bạn có thể thiết lập đăng ký qua Pay.sh bằng cách cài đặt Pay client trên thiết bị của bạn hoặc bằng cách thiết lập Pay server. Cài đặt Pay bằng lệnh:
brew install pay
hoặc
npm install -g @solana/pay
Xác minh quá trình cài đặt bằng lệnh:
pay --version
Bộ công cụ sẽ thiết lập địa chỉ cho bạn. Chạy lệnh sau để thiết lập và nạp tiền vào ví của bạn:
pay setup
Đăng ký với tư cách client
Người dùng đăng ký các API endpoint yêu cầu đăng ký bằng cách gọi pay như bình
thường. API có trách nhiệm gửi thông tin chi tiết đăng ký trong phản hồi
402 Status ban đầu. Pay xử lý đăng ký tự động, bao gồm việc thực thi lệnh trên
Solana SPL Subscriptions Program.
Người dùng có thể quản lý đăng ký của mình bằng các lệnh sau:
pay subscriptions # default: list + show available subcommandspay subscriptions list # same, scriptablepay subscriptions list --network mainnetpay subscriptions list --json
Bạn có thể tìm hiểu thêm về cách quản lý đăng ký với tư cách người dùng trong Pay.sh > Sử dụng Pay > Tài liệu Quản lý Đăng ký.
Quản lý đăng ký với tư cách nhà cung cấp (demo)
Pay server cho phép cấu hình người đăng ký và các gói đăng ký của họ cho từng endpoint. Dưới đây là ví dụ về một endpoint sử dụng pay mà bạn có thể thử với dự án của mình:
# monthly.ymlname: Subscriptions Examplesubdomain: subscriptions-exampletitle: "Subscription Example"description: "Demo Subscriptions"category: ai_mlversion: v1routing:type: respondoperator:currencies:usd: ["USDC", "USDT", "CASH"]network: "localnet"fee_payer: truechallenge_binding_secret: d858d9104afd728f58a1f73d806dd75d8f32ebd37c9707145816b490e8631d41# insert your own challenge_binding_secret here. use `openssl rand -hex 32`endpoints:- method: GETpath: "api/v1/pro/feed"resource: "pro-feed"description: "Pro feed — monthly subscription, 30-day billing period."subscription:period: "30d"price_usd: 9.99currency: USDCplan_id_numeric: 1
Pay xử lý đăng ký bằng cách sử dụng thuộc tính subscription: trong đặc tả YAML
endpoints của nó. Điều này trái ngược với thuộc tính metering: dùng cho các
endpoint tính phí theo lượt sử dụng.
Khởi động server trong ví dụ trên sẽ tạo ra một endpoint có tên
api/v1/pro/feed yêu cầu người dùng thực hiện thanh toán định kỳ 9,99 USDC mỗi
30 ngày.
Bạn có thể thử bằng cách chạy lệnh sau:
pay server start monthly.yml
Chạy lệnh này sẽ nhắc bạn tạo một plan. Thao tác này sẽ tạo plan và cập nhật file yml. Nếu bạn định sử dụng lại, hãy ghi nhớ địa chỉ plan và dùng nó trong cấu hình của bạn khi thực hiện các thay đổi.
Bạn có thể kiểm tra xem các subscription có hoạt động không bằng cách chạy các lệnh sau với tư cách là client trên một terminal khác:
# First call — activates the subscription, $9.99 USDC charge settles.pay --sandbox curl http://127.0.0.1:1402/api/v1/pro/feed# Same call within 30 days — no payment prompt, just the response.pay --sandbox curl http://127.0.0.1:1402/api/v1/pro/feed
Bạn sẽ thấy trạng thái OK như một phản hồi như sau:
{ "status": "ok" }
Bạn có thể tìm hiểu thêm về cách quản lý các subscription trên máy chủ Pay qua Pay.sh > Building with Pay > Subscriptions > YAML Specification docs.
Is this page helpful?