Yêu cầu Transfer
Các yêu cầu Transfer là phương thức thanh toán đơn giản nhất của Solana Pay, được thiết kế cho các giao dịch chuyển SOL hoặc SPL token mà không cần tương tác với máy chủ. Khi người dùng quét mã QR hoặc nhấp vào liên kết yêu cầu chuyển, ví của họ có tất cả thông tin cần thiết để tạo và thực hiện giao dịch ngay lập tức.
Điều tuyệt vời của các yêu cầu Transfer nằm ở sự đơn giản của chúng: tất cả thông tin thanh toán được mã hóa trực tiếp trong URL, khiến chúng bao hàm hoàn toàn thông tin và có thể thực thi ngay lập tức.
Cấu trúc URL và các tham số
URL của yêu cầu Transfer tuân theo một định dạng tiêu chuẩn mà bất kỳ ví Solana nào cũng có thể hiểu:
solana:<recipient>?<optional-query-params>
Các tham số bắt buộc:
recipient
: Một khóa công khai được mã hóa dưới dạng base58 đại diện cho ví đích. Đây là trường bắt buộc duy nhất, đảm bảo rằng các khoản thanh toán đi trực tiếp từ khách hàng đến người bán mà không cần trung gian.
Các tham số tùy chọn:
amount
: Chỉ định số tiền chuyển chính xác dưới dạng giá trị thập phân. Nếu không có tham số này, ví sẽ nhắc người dùng nhập số tiền thủ công — hoàn hảo cho các tình huống quyên góp hoặc thanh toán linh hoạt.spl-token
: Địa chỉ mint cho các giao dịch SPL token. Biến một giao dịch SOL thành bất kỳ giao dịch token nào, từ thanh toán USDC đến token khách hàng tùy chỉnh.reference
: Một định danh duy nhất để theo dõi các khoản thanh toán trên chuỗi. Vì người bán không kiểm soát chữ ký giao dịch, các tham chiếu phục vụ như các định danh có thể tìm kiếm cho việc đối chiếu thanh toán và hỗ trợ khách hàng.label
vàmessage
: Các chuỗi hiển thị cho người dùng giải thích ngữ cảnh thanh toán. Label thường xác định người bán, trong khi message mô tả giao dịch cụ thể.memo
: Tạo một bản ghi trên chuỗi bằng cách sử dụng chương trình memo của Solana. Có giá trị cho việc tuân thủ, kế toán hoặc cung cấp ngữ cảnh giao dịch vĩnh viễn.
Ví dụ
Dưới đây là một yêu cầu Transfer 1 SOL minh họa việc sử dụng các tham số thực tế:
solana:22222222222222222222222222222222222222222222?amount=1&label=Blueshift%20Subscription&message=1%20Month&memo=Order12345&reference=abc123def456
Đối với doanh nghiệp chấp nhận stablecoins, đây là một yêu cầu Transfer USDC:
solana:22222222222222222222222222222222222222222222?amount=200&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&label=Blueshift%20Subscription&message=1%20Month&memo=Order12345&reference=abc123def456
Khi nào sử dụng yêu cầu Transfer
Các yêu cầu Transfer hoạt động xuất sắc trong các tình huống mà thông tin thanh toán đã được xác định trước và không thay đổi:
Các trường hợp sử dụng hoàn hảo:
- Thanh toán thương mại điện tử với giá cố định
- Chiến dịch quyên góp nơi người dùng chọn số tiền
- Thanh toán đăng ký với số tiền đã biết
- Hệ thống điểm bán hàng cho các giao dịch trực tiếp
- Thanh toán hóa đơn với các khoản cụ thể
Lợi ích chính:
- Tính phi tương tác: Khi được tạo ra, các URL này hoạt động độc lập với máy chủ của bạn. Hoàn hảo cho các tình huống mà kết nối mạng có thể không đáng tin cậy hoặc khi bạn muốn giảm thiểu sự phụ thuộc vào cơ sở hạ tầng.
- Đảm bảo việc thực thi: Các tham số thanh toán được khóa trong URL, đảm bảo rằng khách hàng thanh toán chính xác những gì bạn mong đợi mà không có sự thay đổi giá động.
- Khả năng ngoại tuyến: Các URL có thể được tạo ra cục bộ trên các thiết bị như máy chủ POS, cho phép thanh toán ngay cả khi các hệ thống backend tạm thời không khả dụng.
- Giảm tải cho máy chủ: Không cần gọi API trong quá trình xử lý thanh toán, giúp chúng có khả năng mở rộng cao cho các tình huống có khối lượng giao dịch lớn.
- Tính tương thích toàn cầu: Bất kỳ ví Solana nào cũng có thể xử lý các yêu cầu này mà không cần tích hợp cụ thể cho từng ví.
Hãy xem xét các yêu cầu Transfer khi bạn cần số tiền thanh toán được đảm bảo, muốn giảm thiểu sự phụ thuộc vào máy chủ hoặc yêu cầu một phương thức thanh toán hoạt động đáng tin cậy trong tất cả các điều kiện mạng.
Ví dụ
Như là một ví dụ hoàn chỉnh, bạn có thể sử dụng Payment Flow Merchant Example từ Solana Foundation