Recommended Saudi gateways: Moyasar, HyperPay or Tap — supporting mada, Apple Pay, STC Pay and Visa/Mastercard. Tamara or Tabby (instalments) can be added later.
| Method | Mechanism |
|---|---|
| Online gateway | Payment from a link or the app, confirmed automatically by webhook |
| Bank transfer | The trainee uploads a receipt; the admin confirms it manually |
| Cash / external | Recorded manually by the admin with a note |
Invoices
- Generated automatically on every payment: sequential number, customer details, line items, VAT (15%), total, and a PDF in Arabic and English.
- The coach's tax number and details come from settings.
- ZATCA e-invoicing: the required phase is implemented according to the client's commercial status (see Open questions), including the QR code.
- A credit note is issued on refund.
- Refunds are recorded and appear in reporting.
Financial reporting: revenue by period, plan and method; failed payments; refunds; CSV/Excel export.
App-store billing
Digital subscriptions inside an iOS app may fall under Apple's in-app payment rules. The common approach is to pay on the website or via a link, or to confirm that one-to-one personal training qualifies as a person-to-person service. Review this before launch.
Webhooks are the proof
Subscription activation happens only after a signed provider webhook is verified, with idempotency, and the amount, currency and order are matched. The browser return page is not proof of payment.