Payment links

Payment links provide a shareable URL for a catalog price. Suitable for sales emails, social posts, and no-code storefronts. Each link has a plink_ ID and a public path at /l/{slug}.

How they work

When a customer opens a payment link, Rollo creates a Checkout Session bound to that price. One-time prices produce a single charge; recurring prices follow the subscription flow. Completed payments emit the same webhooks as API-created sessions.

Payment links follow your Settings → Fees default (if enabled). For a fee on one sale only — name, percent, and/or fixed — create a Checkout Session with merchant_fee instead (see Payments & fees).

Create a payment link

Example request

POST /v1/payment_links
Authorization: Bearer rk_live_...
Content-Type: application/json

{
  "name": "Pro plan",
  "price": "price_01HPRO...",
  "slug": "pro-plan"
}

Example response

{
  "id": "plink_01H...",
  "object": "payment_link",
  "name": "Pro plan",
  "slug": "pro-plan",
  "url": "https://rollopayments.com/l/pro-plan",
  "active": true
}

How to handle it

  1. Share url with buyers — do not invent the path.
  2. Fulfill on the same webhooks as checkout (payment.succeeded, subscription.created, etc.).
  3. Slug must be unique; reuse causes a 400.

Deactivate a payment link

Example request

DELETE /v1/payment_links/plink_01H...
Authorization: Bearer rk_live_...

Example response

{
  "id": "plink_01H...",
  "deleted": true
}

How to handle it

The link becomes inactive; existing open sessions are unaffected. Create a new link if you need a replacement URL.

Dashboard

From Payment Links, select a product price, optional slug, and share the URL. View and conversion counts update as customers open and complete checkout.