Gói đăng ký
Coin Moebius có thể bán gói đăng ký định kỳ trên mọi nhà cung cấp tiền pháp định trong danh sách của bạn. Người bán cấu hình giá và chu kỳ một lần trên một sản phẩm; nút mua trên trang vẫn y nguyên. Nhà cung cấp thanh toán lo việc tính phí định kỳ, giữ thẻ, thử lại các lần gia hạn thất bại, và lưu trữ trang hủy. Coin Moebius chuyển tiếp các sự kiện vòng đời đến mã của bạn.
Thiết lập một sản phẩm định kỳ
Trong tab Sản phẩm của bảng điều khiển, đặt trường Tính phí thành Hàng tháng hoặc Hàng năm thay vì Một lần. Một trường Dùng thử miễn phí tùy chọn xuất hiện cho bất kỳ số ngày dùng thử nào bạn muốn cấp trước lần tính phí đầu tiên. Lưu sản phẩm.
HTML nút mua không thay đổi. Cùng thuộc tính product-id="pro-plan" hoạt động cho cả một lần lẫn định kỳ; worker kiểm tra thiết lập tính phí của sản phẩm khi thanh toán và định tuyến qua API gói đăng ký của nhà cung cấp khi áp dụng.
<coin-moebius-buy
project-id="proj_YOUR_ID"
product-id="pro-plan"
label="Subscribe to Pro">
</coin-moebius-buy>Những gì bạn không phải xây
Nhà cung cấp lo lịch trình. Chúng tôi không lưu thẻ. Chúng tôi không chạy cron job. Chúng tôi không thử lại các khoản phí thất bại. Chúng tôi không gửi email đòi nợ. Chúng tôi không lưu trữ một trang hủy. Toàn bộ phía đó của hệ thống nằm bên trong Stripe (hoặc bất kỳ nhà cung cấp tiền pháp định nào bạn đã kết nối). Bạn đang giao phó những phần khó của tính phí định kỳ cho công ty vốn đã chạy chúng cho hàng triệu người bán.
Các sự kiện gói đăng ký
Các lần gia hạn và hủy xuất hiện dưới dạng sự kiện webhook mà máy chủ của bạn có thể phản ứng. Năm loại đã chuẩn hóa bao trọn vòng đời:
| Sự kiện | Khi nào nó kích hoạt |
|---|---|
subscription.created | Đăng ký mới. Mang theo số tiền của chu kỳ đầu tiên. |
subscription.renewed | Một chu kỳ không phải chu kỳ đầu đã thành công. Gia hạn quyền truy cập đến hết chu kỳ mới. |
subscription.payment_failed | Thẻ của một chu kỳ bị từ chối. Quy trình đòi nợ của nhà cung cấp thử lại theo lịch của nó; bạn thường chỉ ghi lại cái này để theo dõi. |
subscription.canceled | Hủy chấm dứt. Người mua đã hủy, quy trình đòi nợ đã cạn, hoặc người bán đã hủy. |
subscription.updated | Thay đổi trạng thái, cập nhật thẻ, đổi gói. Kiểm tra trạng thái mới. |
Nhận diện người mua mà không lưu họ
Coin Moebius là một bộ định tuyến thanh toán, không phải một cơ sở dữ liệu khách hàng. Chúng tôi không bao giờ lưu email, tên, địa chỉ người mua, hay id khách hàng nội bộ của nhà cung cấp. Nếu ứng dụng của bạn có tài khoản người dùng (hầu hết ứng dụng gói đăng ký đều có), hãy truyền id người dùng không rõ nghĩa của riêng bạn dưới dạng customer-ref trên nút mua. Cái nút chuyển tiếp nó đến worker dưới dạng metadata.customerRef, chúng tôi luồn nó đến nhà cung cấp, hiện nó lại trên mọi sự kiện, và chỉ lưu chuỗi không rõ nghĩa đó. Với chúng tôi nó vô nghĩa; với bạn nó là khóa ngoại vào hệ thống người dùng của riêng bạn.
<coin-moebius-buy
project-id="proj_YOUR_ID"
product-id="pro-plan"
customer-ref="user_bob_42">
</coin-moebius-buy>Khi bạn cần thông tin người mua sâu hơn (email, bốn số cuối của thẻ, ghi chú tranh chấp), bảng điều khiển liên kết mỗi giao dịch thẻ ra nhà cung cấp đã xử lý nó (Stripe, PayPal, Square, hoặc Authorize.Net), nơi hồ sơ người mua thực sự nằm. Bạn nhấp qua; chúng tôi không bao giờ sao chép nó.
Hủy: liên kết ra ngoài, đừng xây
Người mua hủy trong cổng được lưu trữ của nhà cung cấp: Stripe Customer Portal, trang tài khoản PayPal của người mua, v.v. Cổng xử lý hủy, cập nhật thẻ, tải biên nhận, và đổi gói, tất cả giao diện mà bạn không phải xây. Bạn có thể đưa người mua vào cổng bằng một lệnh gọi API:
const res = await fetch(
`https://api.coinmoebius.com/api/subscriptions/${projectId}/${subId}/portal-url`,
{ method: 'POST', body: JSON.stringify({ returnUrl: 'https://you.example/account' }) },
);
const { url } = await res.json();
window.location.assign(url);Những nhà cung cấp nào hỗ trợ gói đăng ký hôm nay
Stripe và PayPal hoạt động trọn vẹn qua nút mua được lưu trữ. Đặt một sản phẩm thành Hàng tháng hoặc Hàng năm trong bảng điều khiển của bạn, dán cái nút lên trang của bạn, và cú nhấp khởi tạo một gói đăng ký thật. Nhà cung cấp lo việc gia hạn.
Gói đăng ký của Square và Authorize.Net không chạy qua nút mua được lưu trữ. Bạn tạo gói đăng ký qua tích hợp của riêng bạn với nhà cung cấp (với Authorize.Net, nghĩa là thu thẻ trên trang của riêng bạn bằng Accept.js; Square có khâu thanh toán gói đăng ký được lưu trữ riêng mà bạn có thể dùng), rồi trỏ webhook của nhà cung cấp về chúng tôi. Từ đó phần còn lại của hệ thống (định tuyến webhook, bảng điều khiển, endpoint trạng thái, liên kết khách hàng) hoạt động y hệt như với gói đăng ký Stripe và PayPal. Xem mục tiếp theo.
Các nhà cung cấp tiền điện tử (NOWPayments) không hỗ trợ tính phí định kỳ trong sản phẩm này. Tiền điện tử định kỳ gây nhiều ma sát trên mọi cổng chúng tôi đã đánh giá; chúng tôi thà không ra mắt gì còn hơn ra mắt một câu chuyện nửa vời cho nó.