İçeriğe geç

Rehberler

Tarif: lisans anahtarları

Masaüstü uygulamasını, CLI'ı, eklentiyi ya da şablonu lisans anahtarlarıyla sat. Uygulama anahtarı, içinde hiçbir sır olmadan doğrular.

Markdown olarak aç

Perly Pay, ödeme teslim edildiğinde bir anahtar verir, cihazlardaki etkinleştirmeleri sayar ve "bu anahtar bu ürün için burada geçerli mi?" sorusunu herkese açık uç noktalar üzerinden yanıtlar. Dağıttığın program LicenseClient kullanır — gizli anahtara ihtiyacı yoktur.

Asistanla: bu tarifi projende Perly Pay eklentisinin sell-license-keys skill'i uygular. Çalıştırılabilir örnek, eklenti deposundaki examples/license-keys (MIT).

Nasıl çalışır

  1. 1

    Anahtar veren ürün

    issues_license: true ve license_activation_limit (anahtar başına cihaz); tek seferlik, ömür boyu, süreli fiyat ya da abonelikle.

  2. 2

    Satış

    Sitede bir ödeme bağlantısı ya da her alıcı için bir fatura.

  3. 3

    Anahtarı gönder

    license.created webhook'uyla (nesnesi anahtardır) ya da invoice.fulfilled sonrasında licenseKeys.list({ customer }) ile. Makbuzda anahtar yok.

  4. 4

    Uygulamada etkinleştirme

    Bu cihazda değişmeyen bir adla activate({ key, product, instance_name }); etkinleştirme kimliğini sakla.

  5. 5

    Açılışta kontrol

    validate({ key, product, instance }). Net bir valid: false kapatır; ağ yokken birkaç gün boyunca son iyi yanıt geçerlidir.

import { LicenseClient } from "perly-pay";

const licenses = new LicenseClient(); // no secret key, ever
const result = await licenses.activate({ key, product: "prod_…", instance_name: deviceName });
if (!result.valid) showWhy(result.reason); // limit_reached, revoked, expired, …

Örneği çalıştır

  1. 1

    Kur

    examples/license-keys içinde npm install (Node 20.12+).

  2. 2

    Anahtar

    .env.example dosyasını .env olarak kopyala ve test anahtarını (sk_test_…) PERLY_PAY_SECRET_KEY içine yaz.

  3. 3

    Hazırla

    npm run setup senin anahtarınla bir ürün ve fiyat oluşturur ve .env için kimliklerini yazdırır.

  4. 4

    Çalıştır

    README'sinde dediği gibi npm start (ya da npm run dev).

  5. 5

    Cüzdansız öde

    npm run buy-test -- you@example.com test modunda bir kopya satın alır ve anahtarı yazdırır; sonra npm run app -- activate <key> ve npm run app -- pro hello.

Tuzaklar

  • Uygulamanın içinde sk_… anahtarı. Herkes onu çıkarabilir; dağıttığın program yalnızca LicenseClient kullanır.
  • product olmadan çağrı reddedilir (parameter_missing). Her seferinde gönder; başka bir şeyin anahtarı wrong_product yanıtı alır.
  • Her açılışta değişen instance_name: her açılış bir etkinleştirme harcar.