> ## 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.

# Stripe

> MoonPay Commerce lets you manage on-chain payments through Stripe

You can use MoonPay Commerce alongside Stripe to manage on-chain payments for one-time payments and invoices.

## How It Works

Within Stripe, you can use a Restricted API key to mark invoices as paid when payments occur on-chain. This ensures that all on-chain payments are properly reflected in the Stripe dashboard, allowing you to view and manage your full payment history in one place.

This Restricted API Key allows us to:

* Link your Stripe account and enable Stripe functionality on MoonPay Commerce Pay Links
* Reference Stripe invoices and create charges using Invoice IDs
* Have completed crypto payments automatically reflected in the Stripe Dashboard

## How to Get Started

1. **Set up Stripe**

* Create a Stripe account, if you don’t already have one.
* Navigate to **Developers → API Keys** in the Stripe Dashboard and click **Create restricted key**.
* Select the option **“Providing this key to another website.”**
* Enter a name for the key (e.g., MoonPay Commerce) and click **Create key**.

2. **Set up the Integration in MoonPay Commerce**

* In the MoonPay Commerce Dashboard, go to **Settings → Integrations**.
* Enter the Stripe Restricted API Key you generated and assign it a name.

<img src="https://mintcdn.com/moonpay-commerce/qQmu63zyUpo0ecJa/images/docs/b1f2534ce9f08df8667661b3494688ea0f32cd96cb28aec7c54f908b8a15d670-Screenshot_2025-12-02_at_10.10.00.jpg?fit=max&auto=format&n=qQmu63zyUpo0ecJa&q=85&s=cb8b07efbc33ec19eedb902b7214dd6e" alt="" width="1920" height="1085" data-path="images/docs/b1f2534ce9f08df8667661b3494688ea0f32cd96cb28aec7c54f908b8a15d670-Screenshot_2025-12-02_at_10.10.00.jpg" />

3. **Create a Stripe-Enabled Pay Link in MoonPay Commerce**

* In the **MoonPay Commerce Dashboard**, create a new **Pay Link**. Make sure the Pay Link is set up as a **one-time payment** (not a subscription) and configured as [**dynamic**](https://docs.hel.io/docs/for-developers#payment-integration-options).
* In **Step 2: Advanced**, enable Stripe functionality and select the Restricted Key you configured.

<img src="https://mintcdn.com/moonpay-commerce/qQmu63zyUpo0ecJa/images/docs/5ac4f3d3cdeedafce4b690d8c0ca11501a57fa5c83201e91ca39f42f5a10f3a9-Screenshot_2025-12-02_at_10.17.22.jpg?fit=max&auto=format&n=qQmu63zyUpo0ecJa&q=85&s=82af9cc7c18f9144ca643522f2c95c6f" alt="" width="1920" height="1089" data-path="images/docs/5ac4f3d3cdeedafce4b690d8c0ca11501a57fa5c83201e91ca39f42f5a10f3a9-Screenshot_2025-12-02_at_10.17.22.jpg" />

4. **Create an unpaid invoice (same currency as the MoonPay Commerce Pay Link) within the Stripe.**

* Within Stripe, create an unpaid invoice in the same currency as the MoonPay Commerce Pay Link. This can be done either via the Stripe API using this [endpoint](https://docs.stripe.com/api/invoices/object) or directly within the Dashboard.

<img src="https://mintcdn.com/moonpay-commerce/qQmu63zyUpo0ecJa/images/docs/2a5b37e063374e01cdb0e3efbaecf4dde956470501556ede6b65deff5d9780af-Screenshot_2025-08-21_at_11.35.34.jpg?fit=max&auto=format&n=qQmu63zyUpo0ecJa&q=85&s=e38dc71da6a5021e08432596efcc8881" alt="" width="1920" height="1101" data-path="images/docs/2a5b37e063374e01cdb0e3efbaecf4dde956470501556ede6b65deff5d9780af-Screenshot_2025-08-21_at_11.35.34.jpg" />

5. **Create a charge using the Stripe Invoice ID, the Invoice ID can be retrieved from the Stripe Dashboard**

* Retrieve the Invoice ID from the Stripe Dashboard.

<img src="https://mintcdn.com/moonpay-commerce/qQmu63zyUpo0ecJa/images/docs/34c0af9232fb99b613408e9cb3ae5f6817b7449bb8c198f884cbb546a14ff8d9-Screenshot_2025-08-21_at_10.10.05.jpg?fit=max&auto=format&n=qQmu63zyUpo0ecJa&q=85&s=ae5d9ea689dcd4fbc4a57e110e544f9a" alt="" width="1920" height="1101" data-path="images/docs/34c0af9232fb99b613408e9cb3ae5f6817b7449bb8c198f884cbb546a14ff8d9-Screenshot_2025-08-21_at_10.10.05.jpg" />

* Use the [Create a Charge endpoint](https://docs.hel.io/reference/charge/create) with the following request:

<CodeGroup>
  ```bash JSON theme={null}
  {
      "paymentRequestId": "689d87f67fe752dc0d274d0e", 
      "stripePaymentDetails": {
          "invoiceId": "in_1RvvbyRrrfLyKJ52a3DSMF5c"
      }
  } 
  ```
</CodeGroup>

6. **Track Payment in Stripe**

Once the customer completes the transaction, the invoice will be reflected as **'Paid'** in the Stripe Dashboard.

<img src="https://mintcdn.com/moonpay-commerce/qQmu63zyUpo0ecJa/images/docs/ab3df9da7f8957cab3c0b1fcb59f91ddbe66ef930a5a7a710f880a5b18c27d96-Screenshot_2025-08-21_at_10.14.14.jpg?fit=max&auto=format&n=qQmu63zyUpo0ecJa&q=85&s=7fdf192d366d5a66549d8083d64ac51c" alt="" width="1920" height="1103" data-path="images/docs/ab3df9da7f8957cab3c0b1fcb59f91ddbe66ef930a5a7a710f880a5b18c27d96-Screenshot_2025-08-21_at_10.14.14.jpg" />

***
