Merchant integration

Public API

Use the EnsureBack Public API to create protected checkouts for physical-product orders. Your backend sends order, buyer and shipping details to EnsureBack, receives a checkout URL, redirects the buyer, and tracks the protected order lifecycle.

Checkout creation

Create protected checkouts from your backend

The merchant site collects the order details and calls EnsureBack from a secure backend. EnsureBack returns a buyer-facing checkout URL. The buyer completes payment through that URL, while EnsureBack manages the protected payment, delivery, dispute, release and refund lifecycle.

POST /api/ensureback/v1/platform-held-checkouts
1

Send order data

Include products, buyer email, shipping settings and your merchant order ID.

2

Create checkout

Call the checkout endpoint from your backend with your EnsureBack API key.

3

Redirect buyer

Send the buyer to the checkoutUrl returned by EnsureBack.

4

Track lifecycle

Use order status, shipment updates, dispute events and webhooks.

Request

Create a checkout

Amounts use minor currency units. For example, 7900 means $79.00 when currency is usd.

curl -X POST https://ensureback.com/api/ensureback/v1/platform-held-checkouts \
  -H "content-type: application/json" \
  -H "authorization: Bearer eb_test_your_api_key" \
  --data '{
    "merchantOrderId": "ORD-1001",
    "buyer": {
      "email": "buyer@example.com",
      "name": "Test Buyer"
    },
    "items": [
      {
        "name": "Premium Test Hoodie",
        "sku": "hoodie-001",
        "quantity": 1,
        "unitAmount": 7900,
        "currency": "usd"
      }
    ],
    "shipping": {
      "required": true
    },
    "successUrl": "https://merchant.example/success",
    "cancelUrl": "https://merchant.example/cancel",
    "webhookUrl": "https://merchant.example/api/ensureback/webhook"
  }'
Response

Redirect to checkoutUrl

Redirect the buyer to checkoutUrl. After payment, EnsureBack redirects the buyer back to your successUrl or cancelUrl with the checkout status.

{
  "ok": true,
  "checkoutId": "ebc_...",
  "ensurebackOrderId": "ebc_...",
  "merchantOrderId": "ORD-1001",
  "amount": 7900,
  "currency": "usd",
  "status": "payment_pending",
  "checkoutUrl": "https://ensureback.com/pay/ebc_..."
}
Payment methods

Stripe-managed stablecoin ingress

EnsureBack can use a Stripe-managed stablecoin payment method for eligible beta merchants while keeping the same platform-held buyer-protection lifecycle. Availability depends on the EnsureBack Stripe account, its Payment Method Configuration and merchant beta eligibility.

This is part of the Stripe payment rail, not EnsureBack's native crypto rail. Merchants do not select a blockchain asset or network through the checkout API, and existing non-crypto Stripe payment methods continue to use the same protected-payment lifecycle.

Commerce adapters

Normalize provider carts into the canonical checkout

Custom, Shopify Headless and WooCommerce Store API adapters normalize authoritative merchant cart data into the same platform-held checkout contract.

Commerce adapters do not choose Stripe payment methods, stablecoin eligibility, custody, disputes, refunds, releases or Connect transfers. Those decisions remain inside the canonical EnsureBack payment and protection lifecycle.

Protected integrations fail closed: provider validation or canonical checkout creation errors are not silently downgraded to an ordinary Stripe checkout. Provider cart secrets and session tokens are not persisted in canonical metadata.

Status check

Verify API availability

Use the integration status endpoint to verify the live API surface before wiring your production checkout.

GET /api/public/integration-status