更新は実際にどう起きるのか
全体がプル型ではなくプッシュ型です。この節を読めば、システムが何をするかを正確に把握できます。それ以上のことはほとんどないからです。
- 01
契約者ごとに固定のアドレスが1つ
サブスクリプションを作成すると、契約者にはあなた自身のウォレットから導出された入金アドレスが割り当てられ、期間をまたいでも変わりません。保存しておくことも、自分のウォレットから自動で送るようにすることも、毎期間手動で支払うこともできます。認証情報を尋ねる必要も、保存する必要もありません。
- 02
請求の試行ではなく、期間の時計
サブスクリプションは現在の期間の開始と終了を持ちます。期間の終わりに何かが試行されることはありません。再試行のスケジュールも、督促も、失敗した請求もありません。支払いが届かなければ期間は単に満了し、支払いが届くことがそれを前へ進めます。
- 03
入金があり、更新が判定される
そのアドレスに資金が届くと、サブスクリプションの状態と照らして判定されます。期間が満了していたか、支払い期日であれば更新として数えられ、支払済み、不足、超過という正確な金額状態が通知されるので、それがどのアクセスに相当するかはアプリ側で決められます。遅れて届いた支払いも、破棄されるのではなく到着時点で更新として判定されます。
- 04
新しいサブスクリプションはアクセスなしで始まる
サブスクリプションは有効ではなく保留の状態で始まります。アクセスは最初の支払いが検出された時点で開始されるため、支払っていないのに有効な契約を持つ期間は存在しません。これはつまり、アプリ側では保留を「まだ権利がない」として扱うべきだということです。
支払い済みの期間に届いた資金はどうなるか
その契約者に対するクレジットとして記録されます。次の期間に充当するか、余剰として残すかはあなたが選べます。いずれの場合も、後から想定外の差分を照合するのではなく、起きたことがその都度通知されます。
クレジットは会計上の記録であって、資産の預かりではありません。資金はすでにあなた自身のアドレス上にあります。クレジット残高は何が届いたかを表す会計上の数値であって、当社があなたに代わって保有している残高ではありません。保管しているものがないので、引き出すものもありません。
アプリが受け取るウェブフック
サブスクリプションの状態は、アプリケーションがそれを知って初めて役に立ちます。以下は現在公開されているイベントを、1つの期間の中で起きる順に並べたものです。
- subscription.renewed
- 期日を迎えた、または満了したサブスクリプションに対して支払いが判定されました。支払済み、不足、超過という金額状態に加えて、金額そのものと契約者に対するあなた自身の参照情報を運ぶので、アプリ側で何を解放するかを判断できます。
- subscription.expiring_soon
- 設定したリマインド期間内に、現在の期間が満了します。何かが失われる前に送る、あなた自身のリマインドメールのきっかけになります。
- subscription.expired
- 支払いがないまま期間が満了しました。誰にも請求されておらず、何も試行されていません。サブスクリプションが現行でなくなっただけなので、アプリ側でアクセスを取り消してください。
- subscription.credit_added
- 現在の期間がすでに全額支払われているサブスクリプションに入金があり、更新として扱われる代わりにクレジットとして記録されました。
サブスクリプションのウェブフックはすべて署名され、再送付きで配信され、契約者に対するあなた自身の外部参照を運びます。ですから受け取る側が、誰についての通知かを推測する必要はありません。
カードを預からない継続課金のしくみ
いずれも、請求すべき決済手段を預かっていないことから直接に導かれます。それを織り込んで設計すれば、この仕組みは機能します。
- 契約者に請求することはできません。保存された決済手段も引き落としもないため、毎期間、契約者が送金する必要があります。まさにそれが、本人の関与なしには何も請求され得ない理由です。
- 忘れてしまった契約者は、そのまま満了します。満了間近のウェブフックはあなたが知らせるために存在しますが、送るのはあなたであり、決めるのは相手です。
- 暗号資産建ての料金は、期間の間に市場に合わせて動きます。来月も同じ意味を持つ金額にしたいのであれば、ステーブルコイン建てにしてください。
- チャージバックも取り消しもありません。返金は、あなた自身のウォレットから、あなたの条件で送り返す1件の支払いです。
- アクセスの付与と取り消しはアプリケーション側の仕事です。Unheldは何がいつ起きたかを伝えますが、製品の前に立つことはありません。
質問
Unheldが毎月自動で引き落としてくれますか。
いいえ。そしてそれは欠落ではありません。登録されたカードも口座振替の指図もないため、引き落とせるものがありません。契約者が固定の入金アドレスへ送金し、その支払いが期間を更新します。手をかけたくない契約者は、自分のウォレットから送金を自動化できます。これなら主導権は当社ではなく契約者側に残ります。
契約者が遅れて支払った場合はどうなりますか。
遅れたことを理由に拒否されるのではなく、届いた時点で更新として判定されます。その時点で更新のウェブフックが届くので、新しい期間を支払い時点から始めるか、元の予定どおりにするかを決められます。期限を過ぎて届いたという理由で資金が宙に浮くことはありません。
誤った金額が支払われた場合は。
どれだったのかが正確に通知されます。更新には支払済み、不足、超過のいずれかの金額状態と数値が伴うので、アプリ側で全面的にアクセスを許可するか、保留するか、超過分をクレジットとして記録するかを選べます。黙って丸められたり吸収されたりすることはありません。
契約者はどうやって解約しますか。
支払わないことによってです。取り消すべき指図も、削除すべきカードも、支払いを止めるための問い合わせも必要ありません。次の期間が満了し、サブスクリプションが失効するだけです。あなたの側からいつでも終了させることもできます。
テストネットで1周期を試す
プランを作り、テスト用の顧客を登録し、アドレスに支払って、更新のウェブフックが届くのを確認してください。実際の資金が関わる前に、すべて無料のテストネット上で行えます。
無料で始める料金 · 決済リンク · 非カストディアル · 率直にお答えします。