Foodomaa Docs
Main site Buy — $299
Documentation menu

Payments

A payment gateway is two integrations: the checkout at the customer and the callback that tells your server the money arrived. Test both, not just the redirect.

Before you enable a gateway

  • A merchant account approved for your country and business type.
  • The currency supported by the gateway and by your Foodomaa build.
  • A public HTTPS callback/webhook URL.
  • Sandbox credentials and a test card or test wallet.
  • A refund and reconciliation process.

Setup order

  1. Enter sandbox credentials in the admin panel.
  2. Place a test order and complete the payment.
  3. Confirm the order status changes to paid and the webhook is received.
  4. Test a failed payment, a cancellation and a refund.
  5. Switch to live keys only after all four pass.
  6. Place one small live order yourself before announcing the launch.

Local gateways

Support for bKash, Nagad, UPI, Easypaisa, JazzCash, M-Pesa, GCash and similar methods depends on your build and the gateway's API. Some are direct integrations; others require a payment aggregator or custom development. Confirm before you buy or promise a method to vendors. The sales team can tell you what is directly supported for your region.

Cash on delivery

COD is an operational feature as much as a payment method. Decide the rider cash limit, the end-of-shift reconciliation step and what happens when the customer refuses an order. The rider app should show the amount to collect and the admin should show the expected cash per shift.

Common failures

SymptomCheck
Redirect works but order stays unpaidWebhook URL, signature secret, server firewall, HTTPS certificate
Callback 404Site URL, route cache, trailing slash, proxy rewrite rules
Currency/minimum errorGateway currency, order amount, minimum transaction limit
3-D Secure loopReturn URL, SameSite cookies, browser cache
Duplicate orderIdempotency key or webhook replay handling
Never share live secret keys. Use sandbox keys in tickets and screenshots. Rotate a key immediately if it has been exposed.