Connect a provider
- Open Admin > Settings > Payments.
- Enable Online payments and choose Stripe, PayPal, Paystack or Yoco.
- Copy the requested test or sandbox credentials from the provider dashboard into Ordio.
- Select Connect provider, then save Settings.
- Complete a test order before replacing test credentials with live credentials.
Credentials are saved securely by the backend and are not displayed again. Use Replace credentials when a key changes, or Disconnect to remove the saved credentials.
Add the webhook
Add the matching webhook URL in the payment provider dashboard. Replace REGION with the Functions region and PROJECT_ID with the Firebase project ID.
| Provider | Webhook URL | Events or values needed in Ordio |
|---|---|---|
| Stripe | https://REGION-PROJECT_ID.cloudfunctions.net/stripeWebhook | checkout.session.completed; secret key and webhook signing secret |
| PayPal | https://REGION-PROJECT_ID.cloudfunctions.net/paypalWebhook | CHECKOUT.ORDER.APPROVED, PAYMENT.CAPTURE.COMPLETED; client ID, client secret and webhook ID |
| Paystack | https://REGION-PROJECT_ID.cloudfunctions.net/paystackWebhook | Secret key |
| Yoco | https://REGION-PROJECT_ID.cloudfunctions.net/yocoWebhook | Payment success, failure and refund events; secret key and webhook signing secret |
PayPal includes a Sandbox or Live choice in Settings. Paystack requires customers to sign in with an email address. Yoco is available when the business currency is ZAR.
Test before accepting payments
- A successful test payment creates one paid order with the correct total and currency
- Cancelling returns to the ordering platform without marking the order as paid
- Failed payments remain unpaid
- Collection and delivery payment options still work when online payments are disabled
Ordio calculates order totals again in Functions. Returning from a provider does not mark an order as paid; the payment is confirmed with the provider and checked against the stored order amount.