Skip to main content
This walkthrough integrates the Wizzgift catalog into your storefront. You need an API key and the retailer capability enabled on your account.
1

Load the catalog

Prices are what you pay before your markup. Render them in your store with your margin applied — the API adds your markupPercent on top when you create the checkout.
2

Create a checkout for your customer

Key fields:
  • customerEmail — your end-customer’s email, used for delivery identity and refunds.
  • customerCountry — the end-customer’s country, never inferred from your server’s IP. Blocked-country rules apply when present.
  • markupPercent — your profit on this checkout. Overrides your account default; capped by your tier’s maxMarkupPercent.
  • externalRef — your own order id, for idempotent retries.
The 201 response includes the priced checkout (totalAmount includes your markup), availablePaymentMethods with per-method eligible flags, and links.hostedPaymentUrl.
3

Take payment — pick one of three paths

Redirect your customer to links.hostedPaymentUrl:
Our hosted checkout handles payment method selection, invoices, and payment UI. Nothing else to build.
Prepaid mode: pass the balance payment method id and the total is deducted from your business balance instantly — no customer invoice at all. Useful when you collect payment on your own side.
4

Deliver the codes

Either poll, or configure signed webhooks and fetch when order.completed arrives. One endpoint returns everything — order status, payment state, and codes:
Response (200)
Card codes are never included in webhook payloads — the webhook tells you when to fetch, this endpoint tells you what to deliver.

Your margin

Markup is your profit: unitMarkup is baked into each item’s unitPrice, and the checkout’s markupTotal (USD) is credited to your business balance as items complete. Track lifetime earnings under markupEarnings on GET /retailer/v1/account, and set an account-wide default with PATCH /retailer/v1/account.

Next steps

Webhooks

Get notified on payment and fulfillment instead of polling.

Payments

Invoice fields, payment states, and partial crypto payments.