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

# Plugins and SDKs

> Every ready-made way to accept CreptaPay payments, and which one to pick.

You don't have to call the API by hand. Pick the integration that matches how your store is built.

<CardGroup cols={2}>
  <Card title="JavaScript checkout SDK" icon="js" href="/guides/plugins/javascript-sdk">
    `@creptapay/checkout`. Show the checkout as a popup, inline on your page, or as a redirect. Works with any website or framework.
  </Card>

  <Card title="WooCommerce" icon="wordpress" href="/guides/plugins/woocommerce">
    Adds **Pay with stablecoins** to your WooCommerce checkout. Orders are marked paid automatically.
  </Card>
</CardGroup>

## Which one should I use?

| You have… | Use |
| - | - |
| A WordPress store running WooCommerce | [WooCommerce plugin](/guides/plugins/woocommerce) |
| Your own website or web app (React, Vue, plain HTML…) | [JavaScript checkout SDK](/guides/plugins/javascript-sdk) |
| A mobile app, or a platform without a plugin | The [REST API](/api-reference/payment/create-payment): create a payment on your server and send the customer to its `checkout_url` |
| No website at all | Create an invoice in the dashboard and share the link |

## What every integration has in common

<Steps>
  <Step title="Get your API keys">
    In the dashboard, open **Developer → API keys**. Start with your **test** keys (`pk_test_…`, `sk_test_…`): they behave like live keys, but no real money moves.
  </Step>

  <Step title="Create the payment, ideally on your server">
    The price should come from your server, not the browser. Someone can edit a web page and change the amount before it's sent. Create payments with your **secret key** on your server when you can.
  </Step>

  <Step title="Confirm payment on your server before you fulfil">
    Browser callbacks and redirect URLs can be faked. Mark an order as paid only after a signed [webhook](/guides/webhooks) (`payment.paid`) arrives, or after your server fetches the payment with your secret key.
  </Step>

  <Step title="Go live">
    Complete business verification (KYB) in the dashboard, then switch to your live keys (`pk_live_…`, `sk_live_…`).
  </Step>
</Steps>

<Note>
  Before verification, a business can accept a limited amount in live payments (shown on your dashboard). Verify early so your first customers aren't turned away.
</Note>


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