Changelog

Changes to the Teyra Pay API and these docs.

The API is versioned in the URL (/v1). We add fields, endpoints, event types and error codes to v1 without notice, so build your integration to ignore fields and event types it doesn't know. Breaking changes will only ship in a new version.

November 1, 2026

  • One price per merchant: every payment has a single fee, the Teyra Pay fee in commission (your percentage plus a fixed amount), on every account and for every payment method. net is now always amount − commission, and your balance and deposits follow it. See Fees and net amount.
  • fee removed from the payment object (API, webhooks and the dashboard CSV export). Processing costs are included in the Teyra Pay fee. If your integration read fee, use commission instead.
  • Invoice and receipt emails: invoices created in the dashboard with a customer email are emailed to the customer with a Pay now button, and customers get a receipt when a payment with a customer email succeeds (once per payment; turn it off in Settings → Business settings). The emails are in your business name, in the payment's language. See Invoice and receipt emails.
  • send_email on POST /v1/payments: true emails the payment to customer.email as an invoice. API payments are not emailed by default.

October 29, 2026

  • Payment methods by account: a new guide, Payment methods and your account, explains what depends on your account: UAE accounts accept card, apple_pay and google_pay; KNET, mada, Benefit and STC Pay are available on accounts that support them.
  • Unsupported methods: POST /v1/payments with a payment_method your account doesn't support returns 422 validation_error with details.fields.payment_method = "unsupported".
  • Three-decimal amounts: on some accounts, KWD, BHD, OMR and JOD amounts must end in 0 (422 validation_error, details.fields.amount = "unsupported"), for payments and payment links.
  • Checkout: on UAE accounts, 3-D Secure opens in a window on the checkout page, and Apple Pay and Google Pay are offered in the same form. Apple Pay and Google Pay payments report payment_method apple_pay / google_pay with the wallet card's brand and last4.
  • Disputes: on UAE accounts, owners get an email when a payment is disputed, and Refunds → Disputes in the dashboard shows each dispute's status (needs_response, under_review, won, lost, closed) and respond-by date. See Disputes.

October 28, 2026

  • Checkout: checkout_url now opens the Teyra Pay checkout page with secure card fields embedded in the page, in test and live mode. Customers leave it only for their bank's 3-D Secure step or a bank payment page such as KNET. See Hosted checkout.
  • Retries: a failed or canceled payment can be paid again at the same checkout_url until expires_at. See Payments.
  • Live mode needs HTTPS: in live mode, return_url and webhook endpoint URLs must use https://, or the request fails with 422 validation_error. See Test mode and live mode.
  • Rate limits: /v1 allows 1,200 requests per minute per secret key, with x-ratelimit-* headers and 429 rate_limited. See Rate limits.
  • Single-use payment links are reserved while a customer is paying, so they can never be paid twice. See Single-use links.
  • Docs: a go-live checklist in Test mode and live mode.

October 2026: v1

The first public release of the Teyra Pay API.

  • Payments: POST /v1/payments, GET /v1/payments/:id, GET /v1/payments with hosted checkout (checkout_url) and return redirect (return_url?payment_id=…&status=…).
  • Payment methods: KNET, mada, Visa, Mastercard, American Express, Apple Pay, Google Pay, Benefit and STC Pay.
  • Currencies: KWD, BHD, OMR, JOD (3 decimals) and SAR, AED, QAR, EGP (2 decimals), in minor units.
  • Refunds: full and partial refunds with POST /v1/payments/:id/refunds, plus GET /v1/refunds.
  • Payment links: create, list, retrieve and deactivate shareable links.
  • Deposits: GET /v1/deposits lists payouts to your bank account.
  • Webhooks: endpoints managed from the API or dashboard, Teyra-Signature HMAC-SHA256 signatures, seven event types and automatic retries over about 45 hours.
  • Platform: test and live modes, Idempotency-Key on every POST, cursor pagination and consistent JSON errors.
  • Docs: guides in English and Arabic, and an interactive API reference generated from the OpenAPI specification.

Coming next

  • Published test card numbers for every payment method.
  • Teyra Pay app for Shopify and plugin for WooCommerce.