Підключення
Приймайте крипту на своєму сайті
Оберіть спосіб. Скопіюйте, вставте, готово.
Три способи
- 1
Створіть товар
New product
Name
House Blend · 1 kgPrice
24.00USDHouse Blend · 1 kg$24.00Active - 2
Скопіюйте посилання
Linkpay.perly.io/l/your-linkOr print the QR.
Link copied - 3
Вставте будь-де
Біо, повідомлення, лист, кнопка, QR на касі.
Куди вставити посилання
Instagram, TikTok Редагувати профіль → Посилання → вставити Telegram, WhatsApp Вставте в повідомлення або пост каналу Пошта Вставте в текст або під слово Wix Кнопка → Посилання → Веб-адреса → вставити Tilda Блок кнопки → Контент → Посилання кнопки → вставити Webflow Кнопка → Налаштування → Link → URL → вставити WordPress Блок «Кнопки» → Посилання → вставити Shopify Налаштувати тему → Кнопка → Посилання → вставити Notion Виділіть текст → Link → вставити У конструкторі сайтів: додайте кнопку, вставте посилання.
northwind.coffeeRoasted on Fridays.
pay.perly.io/l/your-link
Bio ChatHow do I pay?pay.perly.io/l/your-linkMessage Your orderPay here →Email Buy nowLink
pay.perly.io/l/your-link✓ Done
Site builder - 4
Покупець платить
House Blend · 1 kg
$24.00
BTCUSDCUSDTUSDC · Base24.000000 USDC
Paid
- 1
Візьміть тестовий ключ
Секретний ключ лишається на сервері. Ніколи на сторінці.
API keys
Local dev
sk_test_…
Copy it now. It is shown once.
sk_test_•••••••••••••••• - 2
Встановіть SDK
npm i perly-pay~/shop $ npm i perly-pay
added 1 package in 1s
0 dependencies · TypeScript types included
ready
- 3
Створіть рахунок і відправте покупця на нього
import { PerlyPay } from "perly-pay"; const pay = new PerlyPay(process.env.PERLY_PAY_KEY); // sk_test_… app.post("/buy", async (req, res) => { const invoice = await pay.invoices.create({ line_items: [{ price: "price_…" }], return_url: "https://yourshop.com/thanks", metadata: { order: "1042" }, }); res.redirect(303, invoice.url); // https://pay.perly.io/i/<uuid> }); - 4
Дізнайтеся про оплату: вебхук
Перевіряйте сирі байти. Відвантажуйте на invoice.fulfilled — він приходить раз, після перевірки.
app.post("/webhooks/perly", express.raw({ type: "application/json" }), (req, res) => { const event = pay.webhooks.verify( req.body, // the raw bytes, not parsed JSON req.header("Perly-Signature"), process.env.PERLY_PAY_WEBHOOK_SECRET, // whsec_… ); // throws if forged, or older than 5 minutes if (event.type === "invoice.fulfilled") { ship(event.data.object.metadata.order); // once, after screening } res.sendStatus(204); });Webhooks
Endpoint URL
yourshop.com/webhooks/perlyhttps://yourshop.com/webhooks/perlyOnwhsec_•••• · shown once
invoice.paid200deliveredinvoice.fulfilled200delivered - 5
Що відбувається, по черзі
Спершу invoice.paid; invoice.fulfilled — коли можна відвантажувати.
ПокупецьВаш сайтPerly PayМережаВаш серверКупити
POST /invoices
invoice.url
Перехід на /i/…
Платить на вашу адресу
Побачено, підтверджено
invoice.paid · invoice.fulfilled
Квитанція
Відвантажити
Перевірте, потім — наживо
- 1
Тестовий режим
Northwind CoffeeTestTest networks. Nothing real moves. - 2
Simulate payment
USDC · Base SepoliaPaid24.000000
Simulate payment - 3
Вебхук і квитанція
Webhooks
invoice.paid200deliveredinvoice.fulfilled200deliveredreceipt.created200deliveredReceipt
TEST-NW-2026-000124
House Blend · 1 kg$24.00PDF - 4
Наживо: перевірте гаманець
Звірте першу адресу на екрані самого гаманця.
Wallets · live · first address
bc1q9h7…x7f2
Verify address
bc1q9h7…x7f2
Live