Skip to main content
This page is the generic Dev API quickstart.If your real goal is:This page is best when you want your first normal /dev/v1/* request.
If you prefer an official SDK instead of raw fetch or requests, start with SDKs & Libraries — we have packages for Node.js/Bun (@shoppexio/sdk), Python (shoppexio), and PHP (shoppexio/shoppex-php).
1

Get Your API Key

  1. Log in to dashboard.shoppex.io
  2. Go to Settings → API Keys
  3. Click Generate New Key
  4. Copy the key (starts with shx_)
API keys are shown only once. Store it securely before closing the dialog.
2

Make Your First Request

Let’s fetch your shop information to verify everything works:
curl https://api.shoppex.io/dev/v1/me \
  -H "Authorization: Bearer shx_your_api_key"
Response:
{
  "data": {
    "id": 12345,
    "name": "My Awesome Shop",
    "currency": "USD",
    "created_at": 1704067200
  }
}
3

Create a Payment

Now let’s create a payment link:
curl -X POST https://api.shoppex.io/dev/v1/payments \
  -H "Authorization: Bearer shx_your_api_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: payment-create-order-123" \
  -d '{
    "title": "Order #123",
    "email": "[email protected]",
    "value": 29.99,
    "currency": "USD"
  }'
Response:
{
  "data": {
    "uniqid": "abc123def456...",
    "url": "https://checkout.shoppex.io/invoice/abc123def456...",
    "url_branded": "https://checkout.shoppex.io/invoice/abc123def456...?shop=12345",
    "total": 29.99,
    "currency": "USD",
    "status": "PENDING",
    "created_at": 1704067200
  }
}
Redirect your customer to the url to complete payment.
POST /payments creates a generic developer payment — it does not trigger Shoppex product fulfillment. Use it when you want a payable invoice or hosted checkout URL. Use POST /orders instead when you need Shoppex product line items, delivery, and automatic fulfillment.
If you force gateway: "PANDABASE", the response can also include:
  • checkout_url: the direct Pandabase checkout session URL
  • session_id: the Pandabase session reference stored by Shoppex for automatic webhook reconciliation
If you want hosted checkout to open directly on a concrete crypto coin or network, use a merchant crypto provider together with crypto_gateway.Simple example:
{
  "gateway": "OXAPAY",
  "crypto_gateway": "TRON"
}
That returns a url like:
https://checkout.shoppex.io/invoice/abc123def456...?selected_gateway=TRON&auto_start_gateway=1&auto_start_crypto=1
4

Handle the Result

After payment, Shoppex sends a webhook to your server:
{
  "event": "order:paid",
  "data": {
    "uniqid": "inv_def456",
    "customer_email": "[email protected]",
    "total": 29.99,
    "currency": "USD"
  }
}

Webhooks Guide

Learn how to set up and verify webhooks

Dynamic Product Delivery

Implement the fulfillment callback for DYNAMIC products
You just made your first API call and created a payment. From here, most developers either hook up webhooks for automated fulfillment or explore the full endpoint reference.

Next Steps

Theme Guide

Use this if your actual goal is AI-assisted theme editing, not generic API onboarding.

Authentication

API key security best practices

SDKs & Libraries

Official JS, Python, and PHP SDKs for /dev/v1/*

Error Handling

Handle errors gracefully

Pagination

Navigate large result sets

Full API Reference

Explore all endpoints