> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zennopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Notable changes to the Zennopay public API and SDKs.

## 2026-07-29 — Canonical domain moved to `zennopay.com`

* **Docs, API, and Console now use `zennopay.com`.** The canonical hosts are
  `api.zennopay.com` (production), `api.sandbox.zennopay.com` (sandbox),
  `console.zennopay.com`, and `docs.zennopay.com`. Every example, cURL snippet,
  and SDK default in these docs has been updated.
* **Nothing is switched off.** The `zennopay.in` hosts — including
  `api.zennopay.in` and `api.sandbox.zennopay.in` — **continue to be served**
  for existing integrations. Published SDK versions that ship the `.in` base URL
  keep working unchanged; there is no forced migration and no cutover date.
* **No API changes.** Endpoints, request/response shapes, HMAC signing, and the
  session/receipt token contracts are unchanged. This is a hostname change only.
* **Support email:** `support@zennopay.com` (partner enquiries:
  `partners@zennopay.com`). Mail to the `.in` addresses still reaches us.

## 2026-07-22 — v0.5.0 — HMAC-only integration

* **HMAC-only authentication.** Partners now authenticate with **HMAC only**.
  There is **no** RSA key pair to generate, no `iss`/`kid` to register, no JWKS to
  publish, and no session JWT for you to sign. Your KYC + sanctions attestations
  move into the HMAC-signed [create-intent body](/api-reference/payment-intents/create),
  and **Zennopay mints the session token** for you — returned as `session_token`
  * `session_expires_at` (unix seconds) on the create response.
* **New API:** [`POST /v1/payment_intents/{id}/session`](/api-reference/payment-intents/session)
  re-mints a fresh session token for an existing intent (drives the SDK's
  `refreshSession` hook). Receipt tokens are likewise Zennopay-minted, via
  [`POST /v1/payment_intents/{id}/receipt_token`](/api-reference/payment-intents/receipt-token)
  (HMAC, no body; returns `receipt_token` + `receipt_token_expires_at`).
* **Rewritten:** [Authentication](/authentication),
  [Quickstart](/quickstart), and
  [Build your session endpoint](/payments/session-endpoint) for the HMAC-only
  flow. The reference `zennopay-partner-starter` is **v0.2.0** (HMAC-only; env
  `ZENNOPAY_HMAC_KEY_ID` + `ZENNOPAY_HMAC_SECRET` + `ZENNOPAY_BASE_URL`).
* **SDK surface:** `presentCheckout` / `presentSheet` now take a `sessionToken`
  (was `sessionJwt`); the token is Zennopay-minted and opaque to you.
* `openapi.json` and `llms.txt` updated for `session_token`, the re-mint
  endpoint, and the attestation body.

## 2026-07-18 — v0.4.0 — Redesign & branding

* **Redesigned home** into a clean, task-first landing — a hero and product
  tiles ("Get started", Make a payment, Reopen a receipt, Session endpoint,
  Testing, API reference), replacing the old "What is Zennopay" explainer.
* **Branding:** the real Zennopay logo (light/dark) and favicon, refreshed
  brand color.
* **SEO:** Open Graph and Twitter cards with a social image, plus per-page
  metadata and indexing.
* **Domain:** all hosts moved to **`zennopay.in`** — production
  `api.zennopay.in`, sandbox `api.sandbox.zennopay.in`, and the partner
  **Console** at `console.zennopay.in`.

## 2026-07-18 — v0.3.0 — Reopen a receipt

* **New:** [Reopen a receipt](/payments/reopen-receipt) — you keep your own
  transaction-history list; mint a read-only, reusable, user-scoped **receipt
  token** (`aud: zennopay-receipt`) and call `presentReceipt` (iOS/Android 0.3.0,
  Flutter, React Native) to reopen the authoritative Zennopay receipt with its
  *live* status, pending-poll, and refunded messaging.
* **New API:** [`GET /v1/payment_intents/:id/receipt`](/api-reference/payment-intents/receipt) —
  receipt-token bearer auth; cross-user `404` with no existence leak.
* [Build your session endpoint](/payments/session-endpoint) now documents
  receipt tokens alongside session JWTs, and the reference partner starter ships
  `POST /receipt-token`.

## 2026-07-17 — v0.2.0 — Native PaymentSheet

* **Docs:** restructured into task-first navigation — the SDK guides now live
  under **[Make payments](/payments/overview)**, with new
  [Testing](/payments/testing) and [Per-user limits](/fundamentals/limits)
  pages and path redirects from every `/sdks/*` URL.
* **New:** [PaymentSheet overview](/payments/overview) — the native, in-process
  pay experience, with real captures from the sample wallet app.
* **Rewritten:** [iOS](/payments/ios) and [Android](/payments/android) SDK guides for
  the native PaymentSheet (`presentCheckout`). The beta hosted-checkout model
  (browser tab + URL-scheme redirect) is deprecated and removed; each page
  carries a migration callout.
* **New:** [Flutter](/payments/flutter) (`zennopay_flutter`) and
  [React Native](/payments/react-native) (`@zennopay/react-native`) SDK guides.
* **New:** [Build your session endpoint](/payments/session-endpoint) — the
  partner-backend contract (create intent + mint session JWT) with a complete
  Node.js reference implementation.
* [Funds flow](/concepts/funds-flow) now includes a pre-fund → FBO →
  drawdown → local-rail payout diagram.
* LLM-friendly docs: `llms.txt` index published; every page has a contextual
  "Copy page / View as Markdown / Open in ChatGPT / Open in Claude" menu.

## 2026-05-21 — v0.1.0 — Initial public docs

* Initial Mintlify scaffold published.
* Get started: Introduction, Quickstart, Authentication (HMAC + JWT).
* API Reference: Payment Intents (create + get), Webhooks.
* SDKs: iOS (SPM) and Android (Gradle) install + quickstart.
* Concepts: Funds flow, Corridors, Settlement.
* TH (`th_promptpay`) and VN (`vn_vietqr`) corridors documented.
