AskPay generates payment links your customers can pay through QR codes, email links, payment buttons, and SMS. Create once, deliver everywhere, and track payment status per channel.
# Create and deliver a payment link
curl https://api.ask.paying.co/v1/links \
-H "Authorization: Bearer $PAYING_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 4200,
"currency": "usd",
"delivery": ["qr", "email", "sms"],
"description": "Invoice #1042"
}'
# → { id, url, qr_png, delivery: { qr, email, sms } } Choose any combination of delivery channels per request. AskPay handles generation, hosting, and delivery.
Return a ready-to-print QR image for counters, invoices, kiosks, and unattended terminals.
Send a hosted payment link by email with your branding, or pass it into your own templates.
Deliver a tappable link by text for fast mobile checkout, with per-message delivery status.
Drop an embeddable button on any page that opens a hosted, secure checkout.
Subscribe to link.paid and link.expired events to reconcile in real time.
Set single-use links, reusable links, and expiry windows to match your billing flow.
Authenticate with a bearer token, choose your channels, and AskPay returns a hosted link, a QR image, and delivery status.
Sign up and copy your sandbox and live API keys from the dashboard.
Pull askpay-sdks for your language from the PayingCo GitHub org.
Post an amount and your delivery channels — handle the webhook when it's paid.
Maintained libraries with auth, link creation, and webhook helpers built in.
The most-used routes. See the full reference for every parameter and event.
Each payment link can be delivered through any combination of QR code, email, SMS, and an embeddable payment button. You choose the channels per request, and AskPay returns a hosted link plus a QR image and delivery status for each channel.
Links can be configured as single-use or reusable, with optional expiry. Single-use links close after the first successful payment so they can't be paid twice.
Subscribe to webhooks for events such as link.paid and link.expired. Each event includes the link ID, amount, and the channel the payment came through, so you can reconcile automatically.
Yes. Use sandbox API keys to create and pay test links end to end, then switch to live keys when you're ready to ship.
Create an account, grab your keys, and generate your first link in minutes.
Get API keys