Skip to main content

Commerce hub overview

The Commerce hub under Messages → Commerce (/messages/commerce) is one surface for every checkout rail in Devotel Orbit. Instead of building per-channel carts, you run one persistent cart that resolves to the payment method the buyer can actually use: native in-thread pay where the channel supports it, a hosted pay-by-link everywhere else, direct carrier billing for operator-billed digital goods, recurring subscriptions that reuse a stored mandate, and an AI-shopping storefront that third-party agents can discover and drive. This page is the orientation. Use it to understand the five sub-surfaces, pick the right rail for a use case, and find the deeper guides and API references.

Who can access the hub

The hub and each sub-page are guarded to owner, admin, and developer roles. Operators, agents, or read-only seats do not see Commerce in the Messages menu.

What the hub covers

All six capabilities share the same checkout spine: one cart snapshot, server-side totals, and a reconciliation step that matches the captured payment to the re-derived cart amount. The hub pages are thin forms over the same Commerce API; nothing in the console widens or narrows the API surface.

Sub-surface map

Each page below is a live console. Click through from the hub, or link directly.

DCB

/messages/commerce/dcb is the Direct Carrier Billing workbench. Onboard a merchant with a settlement currency, digital-goods category, per-transaction cap, and a tenant-level country+operator coverage map. Once onboarded, initiate operator-billed charges, build the operator request, capture or fail the charge, issue refunds and chargebacks, and reconcile the operator’s settlement batch against your captured charges. A charge is only possible on a live country+operator pair you have configured; the console lists common EMEA/MENA pairs as hints but accepts any pair you enter. /messages/commerce/pay-links mints a tokenized hosted payment URL on your own PSP base URL, renders it for WhatsApp, RCS, SMS, email, Telegram, Viber, or voice-IVR, drives the link lifecycle (pending → viewed → paid, or expired / cancelled), and reconciles the PSP capture against the request on amount plus currency. The console never handles the card: the buyer pays on your hosted checkout page.

Storefront

/messages/commerce/storefront publishes the agent-facing ACP storefront. Set the merchant name and currency, toggle publish, build a bounded product catalog with categories, and list trusted-agent directories (Web Bot Auth or AP2 issuer JWKS URLs) that may complete a checkout. Default-deny: only verified agents can buy unless you explicitly list a directory. A published storefront exposes a public URL that resolves the discovery manifest and product feed.

Subscriptions

/messages/commerce/subscriptions runs subscribe-and-save schedules. Start a subscription off a cart, tie it to an existing mandate and a WhatsApp or RCS channel, and set the interval (weekly, biweekly, monthly, or quarterly). The list shows status (active, paused, canceled), amount per cycle, completed cycles, and next-renewal date. Renewing a cycle reuses the same mandate — no new consent is collected — and mints the reorder checkout over the chosen channel.

Agent-mandate

/messages/commerce/agent-mandate issues scoped, revocable, spend-capped consent for AI-agent purchases. Define the agent, the principal, currency, max-per-transaction, total cap, and optional merchant/category allowlists. The ledger shows spend against the cap, supports dry-run authorization, commit charge, integrity verification, and permanent revoke. You can also mint a Mastercard Agent Pay or Visa Trusted Agent Protocol network token in place of the hosted pay-by-link when the network is provisioned.

Choose the right checkout path

Pick the rail by what the buyer can do in the thread you already have:
  1. Native in-thread checkout first. If the buyer is on WhatsApp in a market with WhatsApp Pay (India UPI, Brazil Pix, Singapore PayNow/cards), or on Apple Messages for Business with Apple Pay, resolve to native pay. Friction is lowest because the buyer never leaves the conversation.
  2. DCB if the buyer has no card but a live operator pair fits. For digital goods in markets where prepaid mobile dominates, a live country+operator pair under your DCB merchant config can bill the carrier directly. The buyer confirms a code from their operator.
  3. Hosted pay-by-link as the universal fallback. When there is no native wallet and no live DCB pair, mint a hosted link and render it into SMS, email, Telegram, Viber, a voice-IVR readout with a QR code, or WhatsApp’s in-app browser.
  4. Storefront for machine-initiated discovery. When a third-party shopping agent finds your catalog and starts a checkout on its own, the storefront closes it under the same spine with a mandate.
  5. Subscriptions on top of any of the above. Once a buyer has consented to a mandate, turn a one-time purchase into a recurring schedule and let renewal reuse that mandate.
Concrete examples:
  • A chai brand sends a WhatsApp catalog card in India: native WhatsApp Pay checkout.
  • A mobile game sells a season pass in Saudi Arabia: DCB on the SA/stc pair.
  • An HVAC company invoices a repair by SMS: hosted pay-by-link.
  • A supplement shop runs subscribe-and-save: subscription over WhatsApp, renewal reusing the mandate.
  • An electronics merchant wants ChatGPT Instant Checkout to discover products: publish the agentic storefront and admit the directory.

Foundations

The hub is the operational surface. These pages explain the model underneath:
  • Commerce checkout spine — how one cart spans WhatsApp, RCS, Apple Messages for Business, and Instagram; how native pay degrades to a hosted link; how server-side reconciliation works; and how mandates and storefronts plug into the same spine.
  • Conversational Commerce Checkout — an end-to-end walkthrough from a WhatsApp product message to a paid order, including the abandonment hook.
  • WhatsApp Catalog and Product Messages — how to send single-product and multi-product catalog messages, and how the inbound order feeds the cart.
  • Click-to-chat QR codes — generating QR codes for print collateral or voice-IVR readouts that lead to a pay-by-link or WhatsApp chat.

Limits

These limits are defined in the code that ships the sub-surfaces:
  • DCB coverage pairs: configured tenant-by-tenant in the merchant card. Only pairs marked live can initiate a charge; pilot and unsupported pairs are blocked.
  • Pay-by-link channels: rendered for whatsapp, rcs, sms, email, telegram, viber, and voice.
  • Pay-by-link lifecycle: transitions are MARK_VIEWED, MARK_PAID, EXPIRE, and CANCEL; terminal statuses (paid, expired, cancelled) accept no further transition.
  • Storefront catalog cap: MAX_STORED_CATALOG_PRODUCTS = 250 products per storefront.
  • Storefront trusted-agent directories: MAX_TRUSTED_DIRECTORIES = 25 directories per storefront.
  • Subscriptions channels: whatsapp and rcs.
  • Subscriptions intervals: weekly, biweekly, monthly, quarterly.
  • Mandate network-token providers: Mastercard Agent Pay and Visa Trusted Agent Protocol. If the selected network is not provisioned for your deployment, the call returns a 503 and falls back to the standard commit-charge path.
For every endpoint, field, and error code, see the Commerce API reference.