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

# Charges

> Create single-use Pay Links and checkout sessions

**Charges** are single-use checkout pages generated from a `paylinkId`. They’re ideal for mobile flows, deep-linking, QR codes, embedded pay buttons, simple website builders (like Wix), e-commerce plugins, and other custom payment flows.

<img src="https://mintcdn.com/moonpay-commerce/qQmu63zyUpo0ecJa/images/docs/e3eb1025ece697fd28c355a51b11ff13b424812394376dbad3832519ce9acae1-ezgif-12582080bb9d6e95.gif?s=1b7ec176bd0aeae4a8bbd092957265b4" alt="" width="800" height="454" data-path="images/docs/e3eb1025ece697fd28c355a51b11ff13b424812394376dbad3832519ce9acae1-ezgif-12582080bb9d6e95.gif" />

## How to Set Up and Use a Charge

1. **Via API:** Generate a charge using the API, see endpoint [here](https://docs.hel.io/reference/charge/create). This will return a URL to the charge page that users can use to complete their payment.
2. **Via Embedded Widget:** To use a charge within your [checkout widget](https://docs.hel.io/docs/checkout-widget), pass the `chargeToken` field in your configuration code. This value can be found at the end of the charge page URL returned when generating a charge via the API e.g. `a1f67a3a-2152-4124-ad71-a8129e6d2e63`. This allows you to integrate charges directly into the checkout widget. For more information see [here](https://docs.hel.io/docs/checkout-widget#common-config-options).

## Charges vs Pay Links

Below is a comparison of standard MoonPay Commerce Pay Links and Charges, highlighting their descriptions, use cases, and key advantages.

|             | **Charges**                                                                                                                                                                                                                                                                                                                                                                                                                                                  | **Pay Links**                                                                                                                                                                                                                                                                                                                              |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Description | A single-use checkout page generated from a `paylinkId`. Once the payment succeeds, the link cannot be reused. Can be hosted or embedded                                                                                                                                                                                                                                                                                                                     | A reusable payment link that opens a checkout page where users can connect their wallet and pay in crypto. The same link can be shared and used multiple times. Can be hosted or embedded.                                                                                                                                                 |
| Use Cases   | <ul><li>One-off payments</li><li>E-commerce where each cart needs a unique charge</li><li>When you need to attach order-specific details</li></ul>                                                                                                                                                                                                                                                                                                           | <ul><li>Accept ongoing payments</li></ul>                                                                                                                                                                                                                                                                                                  |
| Pros        | <ul><li>Works well for integrations that need single-use checkouts</li><li>Unique per transaction</li><li>Supports `additionalJson` via API for passing customer details (e.g. item, customer data) enabling granular tracking per charge</li><li>Supports [<u>dynamic creation</u>](https://docs.hel.io/docs/for-developers#payment-integration-options) via API with price set at checkout</li><li>Payment status can be tracked programatically</li></ul> | <ul><li>Easy to share and reuse</li><li>Supports `additionalJson`via the [<u>Embedded Widget</u>](https://docs.hel.io/docs/checkout-widget) for passing customer details (e.g. item, customer data) enabling granular tracking per transaction.</li><li>Great for merchants and businesses that want a "universal checkout link"</li></ul> |

## Pay with QR Code

When an end user pays via QR code on a charge page, the payment uses a deposit-style flow. The user scans the QR code and sends funds directly to complete the payment.

<Info>
  * **Underpayment:** If the user sends less than the required amount, they will be prompted to deposit the remaining balance until the full payable amount is reached.
  * **Overpayment:** If the user sends more than the required amount, the entire deposited amount will be forwarded to the merchant.
</Info>

<img src="https://mintcdn.com/moonpay-commerce/jhHeRTsSl_vhnO0G/images/Screenshot2026-03-23at11.41.40.png?fit=max&auto=format&n=jhHeRTsSl_vhnO0G&q=85&s=0ec7e22ec5fc17d769c2c88af1975bbd" alt="Screenshot2026 03 23at11 41 40" title="Screenshot2026 03 23at11 41 40" className="mx-auto" style={{ width:"39%" }} width="838" height="1404" data-path="images/Screenshot2026-03-23at11.41.40.png" />

## How to Show Pay Link Details on a Charge Page

Within MoonPay Commerce, you can display the product name, description, and image from your pay link directly on the charge page, mirroring your original pay link.

To do this:

1. Ensure your `paylinkId` uses [**dynamic pricing**](https://docs.hel.io/docs/for-developers#payment-integration-options). This can be toggled in the dashboard or set via the API when [creating](https://docs.hel.io/reference/paylink/create) or [updating](https://docs.hel.io/reference/paylink/update) a `paylinkId` by setting `"dynamic": true` in the features object.
2. In **Step 3** of the Pay Link creation process, toggle **“Show product details”** under the Pay Link tab. Alternatively, you can enable this via the API by setting `showDetailsForCharge` to `true` within the `features` object when [creating](https://docs.hel.io/reference/paylink/create) or [updating](https://docs.hel.io/reference/paylink/update) a pay link.
3. You can also define a `successRedirectUrl`paramter when creating a charge. This is the redirect URL to use after a successful payment. The parent Pay Link must have a redirect URL enabled, and this value overrides the default success redirect URL.

<img src="https://mintcdn.com/moonpay-commerce/qQmu63zyUpo0ecJa/images/docs/7742b9007957ed927039118d3d1e9e904cbea2a06f0df6bc5af4a1a66e694ea3-Screenshot_2025-12-02_at_09.47.251.jpg?fit=max&auto=format&n=qQmu63zyUpo0ecJa&q=85&s=835dd800fe5c5ad261bf1fd9ef87a150" alt="" width="1920" height="1089" data-path="images/docs/7742b9007957ed927039118d3d1e9e904cbea2a06f0df6bc5af4a1a66e694ea3-Screenshot_2025-12-02_at_09.47.251.jpg" />
