Skip to main content
Create a checkout link in one API call, then share the URL with your customer via any channel.

Prerequisites

  • A Quidkey merchant account with client_id and client_secret
  • An active access token (see Authentication)

Step 1: Authenticate

Get an access token using your credentials.
Call POST /api/v1/payment-links with the payment details.

Response

Save the payment_link_url. This is the URL you’ll share with your customer. The token in the URL is only returned once at creation time.
Send the payment_link_url to your customer through any channel:
  • Email: include in invoice emails or payment reminders
  • SMS: send a short message with the link
  • Messaging apps: WhatsApp, Telegram, or any chat platform
  • In-person: display as text or generate a QR code
When the customer clicks the link, they’ll see a Quidkey-hosted checkout page where they can complete the payment. See Checkout Experience for details.

Request Body Reference

Amount format: Use minor units (cents). 1000 = €10.00, 5000 = €50.00. This is the same format used by Stripe and the Embedded Flow.

Redirect URLs

By default, after payment customers are redirected to a Quidkey-hosted thank you or failure page. To send customers back to your own site, provide custom redirect URLs at creation time.
When custom redirect URLs are provided, Quidkey appends query parameters so you can correlate the redirect on your side: For example, after a successful payment the customer would be redirected to:
Both success_url and failure_url must be provided together. You cannot set only one. If redirect_urls is omitted, customers are redirected to Quidkey’s default pages.
Webhooks still fire regardless of redirect URL configuration. Custom redirects only affect where the customer’s browser is sent. Your backend still receives the webhook notification as normal. See After Payment for webhook details.
By default, payment links are single-use: they transition to USED after a customer completes payment. You can also create reusable links that stay active for multiple payments.
Link type configuration (single_use vs reusable) is currently set at the system level. Contact support if you need reusable links for your use case (e.g., donation pages, recurring invoices).
Payment links expire after 7 days by default. The expiry timestamp is returned in the expires_at field of the creation response. When a customer opens an expired link, the checkout page displays an expiry message instead of the payment form. See Link Lifecycle for all status transitions.

Next Steps

Checkout Experience

See what your customers see when they open a payment link

After Payment

Track status, handle webhooks, and manage your links

API Reference

Full endpoint documentation with interactive playground

Overview

Payment Links overview and lifecycle