Start
Schnellstart mit npx
Ein Befehl richtet Perly Pay in Ihrem Projekt ein: eine Bezahl-Route, eine Webhook-Route mit Signaturprüfung, einen Pay-Button und Ihren Testschlüssel.
npx perly-pay init liest Ihr Projekt, schreibt Code für sein Framework und bringt Sie bis auf einen Klick an eine Testzahlung heran. Es richtet nur den Testmodus ein; live schalten Sie im Dashboard.
Ausführen
Es erkennt Framework und Paketmanager, öffnet Dashboard → Developers und fragt nach einem Testschlüssel (sk_test_…). Einen Live-Schlüssel lehnt es ab.
Was es schreibt
| Framework | Erkannt an | Dateien |
|---|---|---|
| Next.js (App Router) | next | lib/perly-pay.ts, app/api/perly-pay/checkout/route.ts, app/api/perly-pay/webhook/route.ts, components/PayButton.tsx, app/perly-pay/page.tsx |
| Express | express | lib/perly-pay.js, routes/perly-pay.js |
| Hono | hono | lib/perly-pay.ts, routes/perly-pay.ts |
| Laravel | artisan, laravel/framework | app/Http/Controllers/PerlyPayController.php, routes/perly-pay.php, config/perly-pay.php, resources/views/perly-pay/button.blade.php |
| Node.js | jede andere package.json | lib/perly-pay.js, perly-pay.js (node:http) |
TypeScript oder JavaScript, ES-Module oder CommonJS – wie in Ihrem Projekt, und in src/, wenn der Code dort liegt. npm, pnpm, yarn, bun und Composer.
- Bezahlen. Der Button sendet ein Formular an
/perly-pay/checkout(/api/perly-pay/checkoutin Next.js). Es öffnet eine Rechnung und schickt den Käufer zum Bezahlen. - Webhook.
/perly-pay/webhookprüftPerly-Signatureauf dem rohen Body. Beiinvoice.fulfilledruft esgrantAccess()auf – das einzige TODO, das Sie schreiben. - Pläne. Einmalverkäufe und Credit-Pakete, in
PLANSoben im Hauptmodul. Der Plan, seine Credits und Ihre Nutzer-ID reisen in den Metadaten der Rechnung mit und kommen im Webhook zurück. - Schlüssel.
PERLY_PAY_SECRET_KEYundPERLY_PAY_WEBHOOK_SECRETin.env.local(Next.js) oder.env, und die Datei selbst in.gitignore. Verfolgt git die Datei schon, schreibt init den Schlüssel nicht hinein und zeigt, wie Sie die Verfolgung aufheben.
--force ersetzt.Webhook anbinden
Perly Pay muss Ihre Webhook-Adresse erreichen. Fügen Sie sie unter Dashboard → Developers → Webhooks für invoice.fulfilled hinzu und setzen Sie ihr Secret whsec_… in PERLY_PAY_WEBHOOK_SECRET. Oder lassen Sie init beides erledigen:
npx perly-pay init --webhook-url https://your-app.example/perly-pay/webhookAuf einem Laptop gibt ein Tunnel die öffentliche Adresse: cloudflared tunnel --url http://localhost:3000. Mehr unter Webhooks.
Eine Zahlung im Testmodus
- 1
App starten
Express und Node lesen
.envmitnode --env-file=.envoder dotenv. - 2
/perly-pay öffnen
Klicken Sie auf Pay with crypto. Sie sind auf der Zahlungsseite.
- 3
Simulate payment
Die Rechnung wird bezahlt, dann erfüllt. Siehe Testmodus.
- 4
grantAccess arbeiten sehen
Ihr Webhook erhält
invoice.fulfilled. Jetzt schreiben Sie, was er freischaltet.
Mit einem AI-Assistenten
--yes fragt nichts, daher führen Claude Code, Cursor oder Codex es für Sie aus. Geben Sie den Schlüssel und das, was Sie verkaufen:
npx perly-pay init --yes --key sk_test_… --product "Logo review" --amount 4900--json gibt ein Ergebnis aus, das der Assistent lesen kann.
Optionen
| Flag | Was es tut |
|---|---|
--yes, -y | Ohne Rückfragen. Für AI-Assistenten und Skripte. |
--framework <name> | next, express, hono, laravel oder node, wenn falsch erkannt. |
--key <sk_test_…> | Ihr Testschlüssel. Standard: PERLY_PAY_SECRET_KEY, sonst wird gefragt. |
--webhook-url <url> | Registriert die Adresse für invoice.fulfilled und speichert ihr Secret. |
--product <name>, --amount <cents>, --currency <code> | Was Sie verkaufen, in USD oder EUR. --amount 4900 sind $49.00. |
--install | Installiert auch das SDK. Sonst wird der Befehl ausgegeben. |
--force | Ersetzt vorhandene Dateien und Werte. |
--plugin, --mcp | Zeigt, wie Sie das Claude-Code-Plugin und den Server perly-pay-mcp hinzufügen. |
--dry-run | Sagt, was es tun würde, schreibt nichts. |
--json | Gibt das Ergebnis als JSON aus. |
--api <origin>, --dir <path> | Ein anderes Perly Pay (lokal), ein anderer Ordner. |
Live gehen
- Verbinden Sie Live-Wallet-Schlüssel unter Dashboard → Wallets.
- Erstellen Sie einen Live-Schlüssel (
sk_live_…) und einen Live-Webhook. - Setzen Sie sie dort, wo die App läuft. Der Code bleibt, wie er ist. Den Rest der API finden Sie unter SDKs.