Remove refund copy from public docs
Keysat has no refund functionality — refunds are handled out-of-band in the payment processor (the v0.3 revoke-on-refund webhook hook is currently a no-op). Drop refund mentions so the docs do not describe a flow the daemon does not implement.
This commit is contained in:
@@ -17,8 +17,7 @@ This repo is a static HTML site. No build step. The deployed version lives at
|
|||||||
own software. Code examples for the TypeScript, Python, and Rust SDKs;
|
own software. Code examples for the TypeScript, Python, and Rust SDKs;
|
||||||
entitlement-gating patterns; offline verification.
|
entitlement-gating patterns; offline verification.
|
||||||
- **[operate.html](./operate.html)** — Day-to-day operations. Managing
|
- **[operate.html](./operate.html)** — Day-to-day operations. Managing
|
||||||
licenses, suspending / revoking, search, audit log, discount codes, refund
|
licenses, suspending / revoking, search, audit log, discount codes.
|
||||||
flows.
|
|
||||||
- **[wire-format.html](./wire-format.html)** — Specification of the signed
|
- **[wire-format.html](./wire-format.html)** — Specification of the signed
|
||||||
license key format (LIC1 envelope, base32 alphabet, Ed25519 signature
|
license key format (LIC1 envelope, base32 alphabet, Ed25519 signature
|
||||||
scheme). Useful for porting the SDK to a new language.
|
scheme). Useful for porting the SDK to a new language.
|
||||||
|
|||||||
+1
-1
@@ -168,7 +168,7 @@ curl https://your-keysat-host/v1/admin/licenses?status=active \
|
|||||||
<pre><code>curl -X POST $KS/v1/admin/licenses/$LICENSE_ID/revoke \
|
<pre><code>curl -X POST $KS/v1/admin/licenses/$LICENSE_ID/revoke \
|
||||||
-H "Authorization: Bearer ks_..." \
|
-H "Authorization: Bearer ks_..." \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"reason":"refund issued"}'</code></pre>
|
-d '{"reason":"customer request"}'</code></pre>
|
||||||
<p>Idempotent. The next online validate from the buyer's app returns <code>reason: revoked</code>.</p>
|
<p>Idempotent. The next online validate from the buyer's app returns <code>reason: revoked</code>.</p>
|
||||||
<p><em>Scope required: <code>licenses:write</code>.</em></p>
|
<p><em>Scope required: <code>licenses:write</code>.</em></p>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -138,7 +138,7 @@
|
|||||||
<p>You have three options:</p>
|
<p>You have three options:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Don’t support revocation at all.</strong> Many indie developers do this. Once a key is sold, it stays valid. Refunds are still possible. You send sats back via BTCPay; the key still works but the customer agreed to stop using it.</li>
|
<li><strong>Don’t support revocation at all.</strong> Many indie developers do this. Once a key is sold, it stays valid.</li>
|
||||||
<li><strong>Periodic online check.</strong> Your app fetches a small revocation list from your Keysat (or a CDN you point at it) once a week / month. Adds a "soft-online" requirement.</li>
|
<li><strong>Periodic online check.</strong> Your app fetches a small revocation list from your Keysat (or a CDN you point at it) once a week / month. Adds a "soft-online" requirement.</li>
|
||||||
<li><strong>Short-lived licenses with renewal.</strong> Issue 30-day licenses; the app fetches a fresh signed token before expiry. Recurring renewals are first-class in v0.2: define a policy with <code>is_recurring=true</code> + <code>renewal_period_days</code> and Keysat handles the cycle (invoice → settle → re-sign → webhook).</li>
|
<li><strong>Short-lived licenses with renewal.</strong> Issue 30-day licenses; the app fetches a fresh signed token before expiry. Recurring renewals are first-class in v0.2: define a policy with <code>is_recurring=true</code> + <code>renewal_period_days</code> and Keysat handles the cycle (invoice → settle → re-sign → webhook).</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
+1
-1
@@ -238,7 +238,7 @@ result = verifier.<span class="f">verify</span>(license_key_from_user)
|
|||||||
|
|
||||||
<div class="callout">
|
<div class="callout">
|
||||||
<i data-lucide="key-round"></i>
|
<i data-lucide="key-round"></i>
|
||||||
<p><strong>You decide the policy.</strong> Many indie developers ship no revocation at all. Once a key is sold, it stays valid. Refunds happen offline via BTCPay. That’s perfectly reasonable.</p>
|
<p><strong>You decide the policy.</strong> Many indie developers ship no revocation at all. Once a key is sold, it stays valid. That’s perfectly reasonable.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2 id="api">Admin API</h2>
|
<h2 id="api">Admin API</h2>
|
||||||
|
|||||||
Reference in New Issue
Block a user