> ## Documentation Index
> Fetch the complete documentation index at: https://docs.boomfi.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Paylink Features

> Prefill, customer_ident, redirects, variants, and managing payment links.

Payment links support query parameters and variant URLs so you can tailor checkout without creating a new link for every customer.

Topics:

* [Prefill customer data](#prefill-customer-data)
* [Customer fields a merchant can collect](#customer-fields-a-merchant-can-collect)
* [Connect a customer (`customer_ident`)](#connect-a-customer)
* [Redirect after payment](#redirect-after-a-successful-payment)
* [Change amount and currency (variants)](#change-amount-and-currency)
* [Manage pay links in the dashboard](#manage-pay-links)

Your base pay link URL is returned when you create a pay link (hosted checkout host + link id). Hosted checkout for this environment is rooted at `https://pay.boomfi.xyz`. Below, `<PAYLINK_URL>` means that full URL (for example `https://pay.boomfi.xyz/<PAYLINK_ID>`).

## Prefill customer data

Append identity query parameters so the customer does not re-type data you already hold. Checkout always collects name and email. The other parameters apply only when that field is enabled on the paylink (see [Customer fields a merchant can collect](#customer-fields-a-merchant-can-collect)).

```text theme={null}
<PAYLINK_URL>?name=Tamara&email=tamara@example.com&nationality=GB
```

| Field | Description | Required |
| - | - | - |
| `name` | Full name | Yes when prefilling |
| `email` | Email address | Yes when prefilling |
| `dateOfBirth` | Date of birth, ISO 8601 `YYYY-MM-DD` | Conditional\* |
| `nationality` | Nationality as ISO 3166-1 alpha-2 (`GB`, not `GBR` or a country name) | Conditional\* |
| `placeOfBirth` | Place of birth, free text | Conditional\* |
| `address1` | Address line 1 | Conditional\* |
| `address2` | Address line 2 | Conditional\* |
| `city` | City | Conditional\* |
| `state` | State / province | Conditional\* |
| `postalCode` | Postal / ZIP code | Conditional\* |
| `country` | Country of the address, free text | Conditional\* |
| `phoneNumber` | Phone in international format | Conditional\* |

\*Required only when the paylink collects that field. Name and email are always collected. An unknown `nationality` value, including an alpha-3 code or a country name, is ignored and the customer chooses a country from the list.

`nationality` is separate from `country`. `country` is the address country. `nationality` is the payer's nationality, chosen from a country list at checkout. Prefill only accepts alpha-2. On the payment, `customer.nationality` may be alpha-2 or alpha-3, and the customer record stores alpha-3 (`GB` is stored as `GBR`).

## Customer fields a merchant can collect

Turn extra fields on in the dashboard under **Collect customer information**, or set `metadata.customer_fields` when you create or update the paylink. Checkout always asks for name and email, whether or not they are in the list.

Allowed values:

| `customer_fields` | Checkout collects | Prefill parameters |
| - | - | - |
| `address` | Address line 1, city, postal code, and country. Line 2 and state are optional | `address1`, `address2`, `city`, `state`, `postalCode`, `country` |
| `date_of_birth` | Date of birth | `dateOfBirth` |
| `nationality` | Nationality | `nationality` |
| `phone` | Phone number | `phoneNumber` |
| `place_of_birth` | Place of birth | `placeOfBirth` |
| `name` | Full name (always shown) | `name` |
| `email` | Email address (always shown) | `email` |

`address` is one value. It turns on the whole address block, not a single line. An unknown value is rejected when you save the paylink.

## Connect a customer

Bind the session to a customer id you already store with `customer_ident`:

```text theme={null}
<PAYLINK_URL>?customer_ident=<YOUR_CUSTOMER_ID>
```

Webhook and dashboard activity can then use this identifier consistently.

## Redirect after a successful payment

Configure redirects on the paylink with first-class `after_completion` when you create or update it (`type: redirect`, `redirect_url` for success, optional `failure_redirect_url` for expiry or Failed). Get and list paylink responses return the same object.

You can also pass `redirect_to` with a URL-encoded destination. If the pay link itself has no redirect configured, the query value is used.

```text theme={null}
<PAYLINK_URL>?redirect_to=<REDIRECT_URL>
```

### Skip redirect delay

By default a short countdown (about 10 seconds) runs before redirect. Skip it with:

```text theme={null}
<PAYLINK_URL>?redirect_to=<REDIRECT_URL>&skip_redirect_delay=1
```

### Payment id on redirect

The redirect destination receives a `pid` query parameter with the payment id so you can fetch payment details from the API:

```text theme={null}
https://your.example.com/thanks?pid=<PAYMENT_ID>
```

Use the payment-by-id endpoint on `https://mapi.boomfi.xyz/v1` with your API credentials. See the Payments operations in the API reference.

## Change amount and currency

Generate a **variant** URL when the quoted amount or currency must change at send time (top-ups, tips in addition to a base amount, alternate quote currency):

* Call the **Generate variant URL** paylink endpoint (see API reference)
* Pass `amount` and/or `currency`
* Optionally pass `customer_ident` and `redirect_to`

## Manage pay links

Open:

`https://app.boomfi.xyz/dashboard/pay-links`

<img src="https://mintcdn.com/boom-fi/yPLvmX4qzaQfr3uG/payments/images/paylinks-list-detail-boomfi.png?fit=max&auto=format&n=yPLvmX4qzaQfr3uG&q=85&s=8fe08f6fb9e81516c9a676e54cdce3ed" alt="BoomFi payment link detail" width="1440" height="900" data-path="payments/images/paylinks-list-detail-boomfi.png" />

From a pay link detail page you can:

* Inspect main, link, and checkout settings
* Review transactions on that link
* Edit most fields via the overflow menu, or deactivate the link

You cannot change a one-time link into recurring (or vice versa) after creation: create a new link instead.

## Related

* [Payment Links](/payments/paylinks)
* [Account-Specific Paylinks](/payments/account-specific-paylinks)
* [Checkout](/payments/checkout)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.