Skip to main content

Changelog

This changelog spans all Orchestrapay API versions, newest first.

v202607

Typed IDs, a redesigned Payment Intents surface, a Customers API, and Stripe-style webhooks.

  • One payment id, end to end. Refunds are now created against the payment_intent (pi_...) you already hold, instead of a separate transaction intent. Responses expose typed, region-coded ids everywhere (pi_, re_, cus_).
  • Payment Intents. Create now returns the hosted url, status, amount, currency, expires_at, and resource_created. New endpoints to retrieve one, list them (cursor pagination with status / customer / currency / created filters), and cancel a pending intent. Create takes a single return_url, a structured webhooks array, and a customer you can upsert inline by your own reference.
  • Customers API. Full CRUD (POST/GET/POST update/GET list/DELETE) keyed on your merchant-issued reference.
  • Payment Forms API. GET /v202607/payment-forms (and GET /v202607/payment-forms/{payment_form}) returns the payment methods on a form, so you can render your own picker without embedding @orchestrapay/react. Each method includes name, title, category, logo_url, and favicon_url. Omit the id to resolve the tenant's default form, falling back to its production connectors, matching the embedded form.
  • Webhooks are now an event envelope: { id, type, created_at, data }, with type as <object>.<event> (e.g. payment.success). Payment webhooks are intent-level: payment.success and payment.canceled are terminal, while payment.attempt_failed signals a failed attempt on a still-open intent. Subscribe per endpoint via webhooks[].events, and authenticate with the Orchestrapay-Webhook-Secret header. Deliveries are at-least-once with exponential-backoff retries for up to 3 days.
  • SDK. @orchestrapay/sdk targets v202607 by default, with paymentIntents (create/retrieve/list/cancel), refunds (create/retrieve/list), and customers (create/retrieve/update/list/del), plus typed webhook events.
  • Subscriptions. Full recurring-billing surface at /v202607: plans, subscriptions (create on a saved pm_…, immediate prorated plan changes via proration_behavior, pause/resume/reactivate, upcoming proration preview), invoices (subtotal/discount/tax/credit breakdown), coupons + promotion-codes, tax-rates, and checkout/sessions (hosted subscribe links). Dunning retries per plan schedule with customer emails and a hosted pay/update-card page; trials save the card with a no-charge setup. Webhook events: subscription.created/updated/canceled, invoice.paid/payment_failed. All in the SDK (subscriptions, plans, invoices, coupons, promotionCodes, checkoutSessions) and documented in the Subscriptions guide. Supersedes the v202606 subscriptions preview. Pricing models: per_unit (seats), tiered (graduated/volume ladders) and metered (usage records) on top of flat, plus products, add-on subscription items, future-dated schedules, multi-currency currency_options, credit-notes (customer-balance adjustments), invoice PDFs, SCA-aware renewals (requires_action invoices with a hosted confirm flow), and billing-portal/sessions (login-free portal links).

v202606

Subscriptions API. Adds /v202606/subscriptions (plans, subscriptions, invoices). Objects now use a Stripe-style string id (e.g. sub_…, plan_…, in_…) and an object discriminator instead of uuid. Invoice id prefix is in_.

v202502

Initial public API version (payment intents, transactions, refunds).