Endpoint
POST https://accounts.paytia.com/api/payment_service
Every flow on this API hits the same URL. You switch behaviour by sending a different transaction_flag and the fields that flow needs.
Flows
Each page below has the full field list, example values, and a live try-it explorer you can run against your own sandbox key.
Generate a secure one-time payment link and send it to a customer.
Turn any payment link into a QR code for printed invoices or in-person collection.
Set up scheduled recurring payments against a stored card token.
Agent-assisted card-not-present payments taken during a phone call.
Embed a secure hosted checkout into your online store.
Charge a previously-stored card token without the customer present.
Capture a customer's bank details securely for Direct Debit or bank transfer setup.
Send funds out to a customer's bank account (refund, payout, settlement).
Generate a payment link and send it straight to the customer by SMS.
Process a charge against a stored payment method using its Paytia token.
Change the amount, interval, or end date on an existing recurring schedule.
Shared conventions
A few things hold true across every flow, so you don't have to re-learn them per endpoint:
- Amounts are decimal strings with two decimal places.
10.00, not10or1000. - Currency and country codes are ISO 3-letter / 2-letter (
GBP,GB). - Webhook URLs should be HTTPS. We retry on failure — your endpoint should be idempotent.
- Reference fields like
reference_numberare passed through to the underlying payment gateway. Some gateways require uniqueness. - Error responses use the HTTP code plus a plain-text reason. Full table at API error codes.