NowgateDocs

Payment links

Reusable checkout pages that never expire, for a product, a ticket or donations: fixed or open prices, donors' messages and your branding.

On this page

A payment link is a reusable checkout page that never expires, for a product, a ticket or donations. Each attempt on it is an ordinary payment with payment_link set and its own quote, and you get its events like any payment's.

const link = await nowgate.paymentLinks.create({
  title: "Pro plan, one month",
  amount: "49.90",
  network: "tron",
  asset: "USDT",
});

Share the link's checkout_url, put it behind a button, or open it in the overlay. Anyone with the URL can pay on the link.

Prices#

  • Fixed in a currency: price_amount and price_currency; the payer picks one of the link's assets, or any pair Nowgate follows when you list none. Each attempt gets its own quote, as in Prices and rates.
  • Fixed in one asset: amount, network and asset, as above.
  • Open: up to six preset amounts, and optionally an amount the payer enters between a minimum and a maximum.

markup_bps, fee_paid_by and expires_in work as on a payment, for each attempt. Each attempt's order_id can be numbered from order_id_prefix: DONATE-1, DONATE-2 and so on.

Donations#

A link can let donors leave a name and a message of up to 280 characters, and give anonymously. An anonymous donor's name is never stored. The payment's donor is plain text as entered: escape it wherever you show it.

Branding#

A display name, an accent color (checkout picks a text color that meets WCAG AA on it) and a logo you upload as a PNG or JPEG with POST /v1/branding/logos (logos.create in the SDKs). After payment, checkout can offer a button back to your success_url; it never redirects on its own.

const paused = await nowgate.paymentLinks.update(link.id, { status: "inactive" });

A new price applies to new attempts only. Set a link inactive to stop new attempts; its payments still complete.