Try it
Create real payment links against your own account — every link below is live (mainnet) and calls POST /payment-links for real.
Not saved anywhere beyond this session. Don't have one yet? .
Demo store — the real integration pattern
One product, one price, one button — pressing it calls POST /payment-links right then, opens a brand-new checkout link in a new tab, and updates itself once you pay. This is the pattern to copy into your own storefront: a fresh link per order, never a reused URL.
Loofta Demo Tee
100% cotton. Not a real product — every purchase here just proves out a real checkout link.
Check your history after paying to see it land. See for the poll/webhook pattern behind this button's onGenerateLink.
Pay button config — field-by-field tester
Set every POST /payment-links field by hand and inspect the raw response — useful for testing, not a pattern to copy as-is (a real storefront generates one fresh link per order, from its own backend, as above).
POSTed with a signed "payment.succeeded" event once this link is paid. A one-time secret to verify it comes back with the created link.
Where the checkout page sends the buyer once paid (?payment=success&short_id=... appended) — works even if the link is opened directly, not just through PayButton.
Full reference: or into your own coding agent.