PayLynks docs
Take payments with a link, an embedded checkout, invoices, text requests, subscriptions or a phone call. Built for developers and the AI tools they use.
- Quickstart
Take a test payment in about five minutes: get keys, create a payment intent on your server, and show the PayLynks checkout in the browser.
- Build with AI
PayLynks is built to be wired up by AI coding tools (Claude Code, Cursor, Lovable, Bolt, Replit) on the first try, safely.
- PayLynks agent skill
Instructions for AI coding agents adding PayLynks payments to an app. Also served at https://paylynks.io/SKILL.md.
- MCP server
Connect PayLynks to Claude, Cursor, Claude Code or any MCP client so the assistant can create payment links and invoices, look up payments and fetch integration code for you.
- CLI
`paylynks` sets up an app for payments in one command.
- Checkout and snippets
Three ways to take a payment, from no code to fully custom.
- Payment links
A hosted page with a shareable URL and QR code. Fixed price or let the payer enter an amount.
- Payment intents
A payment intent is one attempt to collect an amount. Create it on your server, confirm it from the browser (via checkout) or the server.
- Bank payments (ACH), Apple Pay and Google Pay
Checkout can take a US bank account as well as cards. Apple Pay and Google Pay appear automatically on supported devices and are priced as cards.
- Invoices
Invoices with line items, installments, late fees, early-payment discounts and automatic reminders.
- Payment requests (text and email)
Ask a customer to pay an amount; they get a link by email and/or text.
- Customers and saved cards
- `POST /api/v1/customers` `{name, email?, phone?}` (phone in E.164, e.g. `+15555550123`) - `GET /api/v1/customers`, `GET /api/v1/customers/:id`
- Customer portal
A page where your customers see what they owe and what they've paid, and manage their saved cards and subscriptions. No passwords: they sign in with a one-time link sent to their email.
- Subscriptions and payment plans
Bill a customer on a schedule: memberships, retainers, or a fixed number of payments.
- Donation pages
Branded giving pages for nonprofits and fundraisers: suggested amounts, a custom amount, one-time or monthly gifts, an optional goal with a progress bar, and an option for donors to cover processing costs.
- Refunds
```bash curl -X POST https://paylynks.io/api/v1/refunds -H "Authorization: Bearer $PAYLYNKS_SECRET_KEY" \ -H "Content-Type: application/json" -d '{"payment_intent": "pi_...", "amount": 5000}' ```
- Webhooks
PayLynks POSTs events to your HTTPS endpoint as they happen.
- Voice payments
Take a card payment during a phone call with an AI agent or a person. The caller types the card on their keypad into Twilio `<Pay>`; the digits go straight to the gateway, and neither PayLynks nor the agent hears them.
- Surcharging and dual pricing
Merchants can pass card costs to payers in two ways. PayLynks applies the rules; your integration doesn't calculate anything.
- Partners: onboarding businesses
Software platforms and resellers onboard the businesses they serve through PayLynks with a white-label signup, then act for each one through the API.
- Security and API versions
Send `PayLynks-Version: 2026-10-21` to pin the API version your integration was built against. Without the header you get the latest version. Every `/api/v1` response includes the `PayLynks-Version` that served it. Unknown versions are rejected with `400 api_version_invalid`. Breaking changes ship a
- Testing
Everything in test mode works end to end and never moves money. Test keys start with `sk_test_` / `pk_test_`; agent tokens with `ak_test_`.
- Errors
Errors return an HTTP status and a JSON body:
- API reference
Base URL `https://paylynks.io/api/v1`. Authenticate with `Authorization: Bearer <key>`. Amounts are integer cents. Send `Idempotency-Key` on POSTs; the same key and body return the same response. Pin a version with `PayLynks-Version: 2026-10-21` (see [Security and API versions](/docs/security)).