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.
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.
sell-license-keys skill'i uygular. Çalıştırılabilir örnek, eklenti deposundaki examples/license-keys (MIT).Nasıl çalışır
- 1
Anahtar veren ürün
issues_license: truevelicense_activation_limit(anahtar başına cihaz); tek seferlik, ömür boyu, süreli fiyat ya da abonelikle. - 2
Satış
Sitede bir ödeme bağlantısı ya da her alıcı için bir fatura.
- 3
Anahtarı gönder
license.createdwebhook'uyla (nesnesi anahtardır) ya dainvoice.fulfilledsonrasındalicenseKeys.list({ customer })ile. Makbuzda anahtar yok. - 4
Uygulamada etkinleştirme
Bu cihazda değişmeyen bir adla
activate({ key, product, instance_name }); etkinleştirme kimliğini sakla. - 5
Açılışta kontrol
validate({ key, product, instance }). Net birvalid: falsekapatır; ağ yokken birkaç gün boyunca son iyi yanıt geçerlidir.
Örneği çalıştır
- 1
Kur
examples/license-keysiçindenpm install(Node 20.12+). - 2
Anahtar
.env.exampledosyasını.envolarak kopyala ve test anahtarını (sk_test_…)PERLY_PAY_SECRET_KEYiçine yaz. - 3
Hazırla
npm run setupsenin anahtarınla bir ürün ve fiyat oluşturur ve.enviçin kimliklerini yazdırır. - 4
Çalıştır
README'sinde dediği gibi
npm start(ya danpm run dev). - 5
Cüzdansız öde
npm run buy-test -- you@example.comtest modunda bir kopya satın alır ve anahtarı yazdırır; sonranpm run app -- activate <key>venpm run app -- pro hello.
Tuzaklar
- Uygulamanın içinde
sk_…anahtarı. Herkes onu çıkarabilir; dağıttığın program yalnızcaLicenseClientkullanır. productolmadan çağrı reddedilir (parameter_missing). Her seferinde gönder; başka bir şeyin anahtarıwrong_productyanıtı alır.- Her açılışta değişen
instance_name: her açılış bir etkinleştirme harcar.