갱신이 실제로 일어나는 방식
전체 주기가 끌어오는 방식이 아니라 보내는 방식입니다. 이 항목만 읽으시면 시스템이 하는 일을 정확히 아시게 됩니다. 그 이상이 별로 없기 때문입니다.
- 01
구독자당 하나의 고정 주소
구독을 만들면 구독자에게 판매자 본인의 지갑에서 파생된 입금 주소가 주어지고, 그것은 기간이 바뀌어도 달라지지 않습니다. 구독자는 그것을 저장해 두거나, 자기 지갑에서 자동 송금을 걸어 두거나, 기간마다 직접 결제할 수 있습니다. 그들에게 자격 증명을 요구할 일도, 무언가를 저장할 일도 없습니다.
- 02
청구 시도가 아니라 기간 시계
구독은 현재 기간의 시작과 끝을 지니고 있습니다. 그 끝에서 시도되는 것은 아무것도 없습니다. 재시도 일정도, 독촉도, 실패한 청구도 없습니다. 결제가 도착하지 않으면 기간은 그냥 지나가고, 결제가 도착하는 것이 그것을 앞으로 밀어 줍니다.
- 03
결제가 도착하면, 갱신이 판정됩니다
그 주소로 돈이 들어오면, 구독이 놓인 상태와 대조해 판정됩니다. 기간이 지났거나 도래했다면 갱신으로 계산되고, 판매자는 완납·부족·초과라는 정확한 금액 상태를 받습니다. 그것이 어떤 이용 권한을 사는지는 앱이 결정합니다. 늦게 도착한 결제도 버려지지 않고 도착 시점에 갱신으로 판정됩니다.
- 04
새 구독은 이용 권한 없이 시작합니다
구독은 활성이 아니라 대기 상태로 시작합니다. 이용 권한은 첫 결제가 감지될 때 시작되며, 이는 결제하지 않은 사람이 활성 구독을 쥐고 있는 구간이 없다는 뜻입니다. 동시에 앱이 대기 상태를 “아직 권한 없음”으로 다루어야 한다는 뜻이기도 합니다.
이미 결제된 주기에 도착한 돈은 어떻게 되는가
그 구독자에 대한 크레딧으로 기록됩니다. 그것을 어떻게 할지는 판매자가 고릅니다. 다음 기간에 충당하거나, 여분으로 남겨 두면 됩니다. 어느 쪽이든 나중에 갑작스러운 차이를 맞추느라 애쓰는 대신, 그런 일이 있었다고 바로 알려 드립니다.
크레딧은 회계 장부이지 자산 보관이 아닙니다. 자금은 이미 판매자 본인의 주소 위에 앉아 있고, 크레딧 잔액은 무엇이 도착했는지를 서술하는 회계상의 숫자이지 저희가 대신 갖고 있는 잔액이 아닙니다. 보관 중인 것이 없으므로 출금할 것도 없습니다.
앱이 받는 웹훅
구독 상태는 애플리케이션이 그것을 전해 들을 때에만 쓸모가 있습니다. 아래는 오늘 발행되는 이벤트를, 한 기간에 걸쳐 일어나는 순서대로 적은 것입니다.
- subscription.renewed
- 도래했거나 지나간 구독에 대해 결제가 판정되었습니다. 완납·부족·초과라는 금액 상태와 금액들, 그리고 그 구독자에 대한 판매자 자신의 참조값을 함께 실어 나르므로, 앱이 무엇을 열어 줄지 결정할 수 있습니다.
- subscription.expiring_soon
- 현재 기간이 설정하신 알림 선행 시간 안에 지나갑니다. 무언가를 잃기 전에 보내는, 판매자 자신의 리마인더 메일을 걸어 둘 지점입니다.
- subscription.expired
- 결제 없이 기간이 지나갔습니다. 누구에게도 청구되지 않았고 아무것도 시도되지 않았습니다. 구독이 그냥 현재이기를 멈춘 것이며, 앱은 이용 권한을 거두어야 합니다.
- subscription.credit_added
- 현재 기간이 이미 완납된 구독에 결제가 들어와, 갱신으로 취급되는 대신 크레딧으로 기록되었습니다.
모든 구독 웹훅은 서명되고, 재시도와 함께 전달되며, 그 구독자에 대한 판매자 자신의 외부 참조값을 실어 나릅니다. 그래서 받는 쪽이 누구에 대한 것인지 추측할 일이 없습니다.
카드를 저장하지 않는 정기 결제의 원리
모두 청구할 수단을 저장해 두지 않는다는 사실에서 곧바로 따라 나옵니다. 그것을 염두에 두고 설계하면 이 방식은 잘 작동합니다.
- 구독자에게 청구할 수 없습니다. 저장된 수단도 끌어오기도 없으므로 기간마다 구독자가 보내야 합니다. 그것이 바로 그들 없이 아무것도 청구될 수 없는 이유입니다.
- 잊어버린 구독자는 그냥 기간이 지나갑니다. 만료 임박 웹훅은 판매자가 알릴 수 있도록 있는 것이지만, 알리는 것은 판매자의 몫이고 결정은 여전히 구독자의 것입니다.
- 암호화폐로 값을 매긴 요금제는 기간 사이에 시세와 함께 움직입니다. 다음 달에도 금액이 같은 의미이기를 바라신다면 스테이블코인으로 값을 매기세요.
- 지불 거절도 되돌림도 없습니다. 환불은 판매자가 자기 지갑에서, 자기 기준에 따라 다시 보내는 하나의 결제입니다.
- 이용 권한을 주고 거두는 것은 애플리케이션의 몫입니다. Unheld는 무슨 일이 언제 있었는지 알려 줄 뿐, 제품 앞을 가로막고 서지 않습니다.
자주 묻는 질문
Unheld가 매달 자동으로 결제를 가져갈 수 있나요?
아니요. 그리고 빠뜨린 것이 아닙니다. 등록된 카드도 위임도 없으므로 끌어올 것이 없습니다. 구독자가 자신의 고정 입금 주소로 보내고, 그 결제가 기간을 갱신합니다. 손이 가지 않기를 바라는 구독자는 자기 지갑에서 송금을 자동화할 수 있으며, 그러면 주도권이 저희가 아니라 그들에게 남습니다.
구독자가 늦게 결제하면 어떻게 되나요?
늦었다고 거절되는 것이 아니라, 도착한 시점에 갱신으로 판정됩니다. 그때 갱신 웹훅을 받으시고, 새 기간을 결제 시점부터 셀지 원래 일정부터 셀지 판매자가 정합니다. 기한이 지나 도착했다는 이유로 돈이 붕 뜨는 일은 결코 없습니다.
금액을 잘못 보내면 어떻게 되나요?
어느 쪽이었는지 정확히 알려 드립니다. 갱신에는 완납·부족·초과라는 금액 상태가 수치와 함께 실려 오므로, 애플리케이션이 전체 권한을 주거나, 보류하거나, 여분을 크레딧으로 기록할 수 있습니다. 조용히 반올림하거나 흡수하는 일은 없습니다.
구독자는 어떻게 해지하나요?
결제하지 않으면 됩니다. 철회할 위임도, 삭제할 카드도, 돈을 멈추기 위해 필요한 고객 문의도 없습니다. 다음 기간이 그냥 지나가고 구독이 만료됩니다. 판매자 쪽에서도 언제든 끝낼 수 있습니다.
테스트넷에서 한 주기를 돌려 보세요
요금제를 만들고, 테스트 고객을 구독시키고, 주소로 결제한 뒤 갱신 웹훅이 도착하는 것을 지켜보세요. 실제 돈이 관여하기 전에, 전부 무료 테스트넷에서 할 수 있습니다.
무료로 시작하기요금제 · 결제 링크 · 비수탁 · 있는 그대로 답합니다.