Features
- Product-scoped coupons: Coupons can now be restricted to specific products. When a coupon has products assigned, the discount only applies to those items in the cart. Coupons without product scoping continue to apply to the entire cart.
- Set
productIdswhen creating or updating a coupon to scope it to specific products. - Pass
nullor an empty array to remove the product scope. - Available via the dashboard, Store API, and all coupon endpoints.
- Set
Features
- Recurring billing: Merchants can now sell subscription products with automatic recurring charges. Supports weekly, monthly, and yearly billing intervals.
- Free trials: Subscription products can offer a free trial period. Customers save their card during checkout and are charged automatically when the trial ends.
- Subscription management: New endpoints to list, view, cancel, pause, and resume subscriptions. Available via the dashboard, Store API, and customer portal.
GET /v2/stores/:storeId/subscriptionsGET /v2/stores/:storeId/subscriptions/:subscriptionIdPOST /v2/stores/:storeId/subscriptions/:subscriptionId/cancelPOST /v2/stores/:storeId/subscriptions/:subscriptionId/pausePOST /v2/stores/:storeId/subscriptions/:subscriptionId/resume
- Customer portal subscriptions: Customers can view and cancel their subscriptions across all stores from the customer portal at mypandabase.com.
- Subscription invoices: Customers receive a PDF invoice via email on every successful renewal charge.
- 3D Secure on renewals: When a renewal payment requires additional authentication, customers receive an email with a secure link to verify the payment.
- Subscription webhooks: Six new webhook events —
SUBSCRIPTION_CREATED,SUBSCRIPTION_RENEWED,SUBSCRIPTION_PAST_DUE,SUBSCRIPTION_CANCELLED,SUBSCRIPTION_PAUSED,SUBSCRIPTION_RESUMED. - Store API support: Subscription endpoints available via token-authenticated Store API with
SUBSCRIPTIONS_READandSUBSCRIPTIONS_WRITEpermissions. - Merchant dashboard: Full subscription management UI with list view, detail page, and pause/resume/cancel actions.
Features
- Checkout title & description: Customize the heading and description shown on the checkout page. Title defaults to your store name. Description is only shown when explicitly set.
- Store questionnaire: New onboarding questionnaire for stores. Required before accepting payments — collects business type, description, country, and expected volume. Companies and nonprofits also provide legal entity name, tax ID, and registered address.
- Localized payment toggle: Merchants can now enable or disable local currency payments per store via
PATCH /v2/stores/:storeId. - Improved payout error messages: Payout requests now show a detailed breakdown when balance is insufficient, including the total needed and fee breakdown.
- Receipt support email: Order receipt emails now show the merchant’s support email instead of a generic address.
- Max stores increased: Accounts can now create up to 10 stores (previously 3).
Features
- Local currency payments: Customers are now charged in their local currency when checking out from a supported country. This enables payment methods like PIX, iDEAL, SEPA Debit, Bancontact, Naver Pay, Kakao Pay, and more. Settlements remain in USD.
- Balance ledger: New
GET /v2/stores/:storeId/payouts/ledgerendpoint for a full audit trail of balance changes — payments, refunds, disputes, and payouts. - Presentment data on orders: Order and payment responses now include
presentmentCurrency,presentmentAmount, andexchangeRatewhen a local currency was used.
Features
- New payout countries: Added Canada, Singapore, Turkiye, Hungary, Sweden, Denmark, and Norway.
- SWIFT transfers: Merchants in countries without local rail support can now receive payouts via SWIFT.
- Country-specific bank accounts: Sort codes (GB), transit/institution numbers (CA), bank/branch codes (SG), SWIFT/BIC codes (TR), and IBAN (EU/EEA).
- Bank account verification: UK bank accounts are now verified against the bank’s records before being accepted.
- Payout emails: Merchants now receive an email when a payout is requested with estimated processing timeline.
Fixes
- Platform fee adjusted from 6% to 5.9% per transaction.
Features
- Early fraud protection: Payments flagged with early fraud warnings are now automatically refunded for low-value orders or flagged for manual review. Merchants are notified via email.
- Dispute status tracking: Disputes now transition to
UNDER_REVIEWwhen evidence is submitted to the card network. - Team notifications: All team actions (add, remove, role update) now send email notifications to both the affected member and the store owner.
- Role update notifications: Changing a team member’s role now sends a notification showing the previous and new role with permission details.
- Improved order timeline: Added fulfillment started and payment failed events to the order timeline.
- Partial customer prefill: Create checkout sessions with just
nameandemail— billing address can be added later viaPATCH. Tax is calculated once billing is provided. - Lower item minimums: Dynamic checkout items can now be as low as 1.00.
- Storefront store resolution: New
GET /v2/storefront/resolve/:handleendpoint to look up a store by its handle — useful for subdomain-based routing. - Storefront product by handle: New
GET /v2/storefront/stores/:storeId/products/by-handle/:handleendpoint to fetch a product by its URL-friendly handle.
Fixes
- Fixed refund response returning incorrect amount.
- Fixed dispute won incorrectly restoring the non-refundable dispute fee to merchant balance.
- Fixed coupon usage not rolling back when refunds are initiated externally.
- Fixed refund confirmation emails not being sent on certain refund paths.
- Total minimum is now enforced unconditionally on all checkout endpoints (estimate, create, update). Previously, the check was skipped when no billing address was provided.
- Fixed storefront routes returning
500errors instead of proper JSON error responses. - Fixed storefront resolve endpoint failing when
storeIdwas not present in the URL.
Features
- Checkout metadata: Attach arbitrary key-value string pairs (
metadata) when creating checkout sessions. Metadata flows through orders, webhook payloads, and fulfillment webhooks. Max 20 keys, key max 40 chars, value max 500 chars. - Product soft delete: Products are now soft-deleted via
deleted_atfield. Soft-deleted products are excluded from storefront listings, checkout item resolution, and all product queries. Order history is preserved.
Fixes
- Fixed deleted products still appearing in checkout item resolution.
- Added GB (United Kingdom) as a supported merchant country.
V2 API
The V2 API is a complete rewrite of the Pandabase API with breaking changes. You cannot migrate from V1 endpoints to V2 directly.Key changes from V1:- New response format:
{ ok: true, data }/{ ok: false, error } - New pagination format:
{ items, pagination: { page, limit, total, totalPages } } - Stricter request validation with better error messages
- Magic link authentication (no passwords)
- All monetary values in cents (integers, no floats)
New Modules
- Checkouts: Stateful checkout sessions with custom fields (text, numeric, dropdown), coupon/tax support, and pay-what-you-want pricing
- Storefront: Public read-only API for store info, products (with variants/options), and categories — no authentication required
- Store API: Token-authenticated programmatic API with granular permissions (Bearer or HMAC authentication)
- Licenses: Encrypted license key management with verification endpoint and activation tracking
- API Logs: Request audit logging with 30-day retention for Store API requests
- Customers: Read-only customer management (customers created automatically during checkout)
New Webhook Events
Webhook event names are now uppercase enum values:| V1 Event | V2 Event |
|---|---|
payment.pending | PAYMENT_PENDING |
payment.success | PAYMENT_COMPLETED |
payment.failed | PAYMENT_FAILED |
payment.refunded | PAYMENT_REFUNDED |
payment.disputed | PAYMENT_DISPUTED |
| — | PAYMENT_DISPUTE_WON |
| — | PAYMENT_DISPUTE_LOST |
New Webhook Payload
V2 webhook payloads includeorder, customer, and geo data in a structured format. See the webhook events reference for full details.Products
- Variants with options, slug, description, SKU, stock tracking, and positioning
- Product options (e.g. Size, Color) with values array
- Fulfillment modes:
MANAGED_LICENSE,LICENSE_POOL,LICENSE_WEBHOOK,INSTANT_DOWNLOAD,REDIRECT,MANUAL - Pricing models:
STANDARD,PAY_WHAT_YOU_WANT,FREE - Product status:
DRAFT/ACTIVE - Availability windows (
available_from,available_until) - Max per customer limits
- Unique handles per store (auto-generated from title)
Orders
- Timeline events for full payment/refund/dispute/fulfillment audit trail
- Dispute evidence submission with auto-filled MoR data
- Fulfillment retry for failed webhook deliveries
- Order receipts with license key delivery via email
Payouts
- Bank account management via global payouts
- Payout requests with minimum $5 threshold
- Safe concurrent payout processing
Teams
- Role-based access control:
VIEWER,MODERATOR,DEVELOPER,ADMINSTRATOR - Team member CRUD (admin only)
Authentication
- Magic link auth (passwordless) with 10-minute TTL
- Session management with IP binding, device/browser/OS tracking
- TOTP-based 2FA
- Phone verification via Twilio
- KYC verification via SumSub
Supported Countries
Merchants can now onboard from: US, GB, AT, BE, CY, CZ, DE, EE, ES, FI, FR, GR, HR, IE, IT, LT, LU, LV, MT, NL, PL, PT, SI, SK.Deprecations
- V1 API endpoints are deprecated and will be removed on April 1st, 2026
- V1 webhook event format (
payment.success,payment.paid, etc.) replaced by V2 uppercase events - V1
Transactionmodel replaced byInboundPaymentin V2 - V1
RecipientandPayoutmodels replaced byOutboundPayoutMethodandOutboundPayout
Features
- Added support for applying coupons during checkout.
- Introduced support for additional currencies (EUR, GBP).
- Added guest and authenticated customer management.
- Improved session management and user lifecycle handling.
Fixes
- Resolved issues with file validation during uploads.
- Improved category and slug validations.
- Fixed bugs in session retrieval and pagination.
New Properties
tax_calculation_enabled,localized_pricing_enabled,regional_pricing_enabledon shop flagscheckout_collect_phone_enabled,checkout_verify_email_enabledon shop flagsimages[]andcategories[]on product objectsicon_urlon shop objects
Pagination
List responses now include ameta object with page_size (default 10) and page (default 1).Filtering and Sorting
Added optionalfilter, sort, and search query parameters to list endpoints.New Features
- MoR Model: Pandabase as Merchant of Record.
- Advanced Analytics: Store analytics endpoints.
- Dynamic Payments: Custom fields during checkout.
- Idempotency: Support for
POST,PUT, andPATCHrequests. - File API: Intent-based file uploads at
/files.
- Added
/publicendpoints with filtering support. - Added
/onboardingand/loginendpoints. - Added
flagsto shops.
- Added
/categoriesroute with full CRUD support. - Added
categoriesfield to product model.
- Added
payoutandrecipientsroutes. - Added KYC verification support.
- Added customer auth tokens.
- Renamed
transactionevent types toorder. - Added
payment.pending,payment.paid,payment.success,payment.failedevent types.
- Added analytics properties to shop objects (
total_sales,total_earned,pending_balance,dispute_rate). - Added feature flags (
pmp_enabled,chargeback_protection_enabled,storefront_enabled, etc.). - Added
feeandearly_fraud_warningto transaction objects. - Added
discountedanddiscount_codeto order objects. - Added
reasonandstatusto refund and dispute objects.
- Initial V1 API release with stores, products, orders, coupons, webhooks, and payments.
- Sort and filter support for List Orders route.
