TTocler Docs
Dashboard
Developers›Your shop’s API

Orders with Tocler Pay from your own site

Create an order of your shop from your server and take its crypto payment — with the store owner’s key, Tocler’s fee as in the shop.

Updated 3 November 2026Live from Tocler
Where the crypto goesWhat happens when it is paid
Tocler Pay’s addresses (every shop, by default)Your Tocler Wallet is credited the order minus Tocler’s fee; ask for a payout when you like.
Your own addresses (after Tocler approves your request)The coins go straight to your wallet; Tocler’s fee for the order is added to “fees owed”.
  1. Create the order

    POST /v1/checkout with the buyer’s email, the lines (product, option, quantity, answers to its questions), the billing country if your shop collects tax, a shipping address for physical goods, and "payment": "tocler_pay". You get the order (pending), the coins you can take and a pay link in your shop.

  2. Send the buyer to the pay link…

    pay_url opens your shop’s own crypto page for that order — nothing more to build.

  3. …or show the payment in your own page

    POST /v1/orders/{id}/tocler-pay with a coin → the address, the exact amount, the network and the time left. Show them with a QR code of the address. The buyer must send exactly that amount, in one transfer, on that network.

  4. Wait for “paid”

    Tocler Pay checks the blockchain (five checks and the confirmations). Get the order.paid webhook, or follow GET /v1/orders/{id} — the status becomes paid, and what can be delivered at once (keys, files, accounts…) goes to the buyer’s order page and email.

Create an order and its payment
const api = (path, body, idem) => fetch('https://api.tocler.com/v1' + path, {
  method: body ? 'POST' : 'GET',
  headers: { Authorization: `Bearer ${process.env.TOCLER_KEY}`, 'Content-Type': 'application/json', ...(idem ? { 'Idempotency-Key': idem } : {}) },
  body: body ? JSON.stringify(body) : undefined,
}).then((r) => r.json());

// 1. the order — your own cart id as the Idempotency-Key, so a retry never makes two orders
const { order, pay_url } = await api('/checkout', {
  email: 'buyer@example.com', payment: 'tocler_pay', billing: { country: 'DE' },
  items: [{ product_id: '665f1c2e9b1e8a00aaaaaaaa', variant_id: '665f1c2e9b1e8a00bbbbbbbb', quantity: 1 }],
}, 'cart-1042');

// 2. its payment, to show in your own page (or send the buyer to pay_url)
const { payment } = await api(`/orders/${order.id}/tocler-pay`, { coin: 'usdt_tron' }, `pay-${order.id}-usdt_tron`);
console.log(payment.address, payment.amount, payment.network.name, payment.expires_at);
Can I take a payment without an order?

No — on purpose. A payment always belongs to an order of your shop, so the buyer is protected, your stock and reports are right and Tocler’s fee is accounted for.

Does the buyer need an account?

No. The order belongs to the buyer’s email (like guest checkout). Keys and accounts appear on the order page after the buyer opens the link in the order email. Memberships and courses need an account, so they can’t be bought this way.

What do I see of Tocler’s fee?

Nothing in the API — shoppers never see it either. The store owner sees it in Dashboard → Payments → Tocler’s fee.

Can I use a Tocler Pay merchant key for my shop?

No. Tocler Pay merchants are a separate service Tocler sets up for other businesses. A shop’s crypto always goes through the shop (this API or the storefront), so it reaches your wallet and your shop’s records.

Was this page helpful?