Skip to main content
Maya (formerly PayMaya) is a major Philippine payment provider supporting Maya wallet, credit/debit cards, and bank transfers. AppointFlow integrates with Maya Checkout as an alternative to (or alongside) PayMongo.

Before you start

You need a Maya Business / Maya Checkout merchant account. Sign up at mayabusiness.com — approval times vary depending on your business documents.

Configuration steps

1

Get your API keys

Log in to your Maya merchant dashboard → Settings → API Keys. You’ll see:
  • Public Key (sandbox or production)
  • Secret Key (sandbox or production)
Use sandbox keys for testing. Switch to production keys when you’re live.
2

Enter the keys in AppointFlow

Open /admin/settings/payments. Toggle Maya on, then paste your Public Key and Secret Key. Click Save.The secret key is encrypted at rest.
3

Set up the webhook

In your Maya dashboard, set the webhook URL to:
https://appointflow.online/api/webhooks/maya/<your-business-slug>
Subscribe to payment success and payment failure events. Copy the webhook secret Maya gives you and paste it back into AppointFlow’s payment settings.
4

Run a test payment

Set your booking policy to require payment, then book through your public page using Maya sandbox test credentials (available in Maya’s developer docs).
5

Switch to production

Replace sandbox keys with production keys once tests pass.

Using PayMongo and Maya together

You can enable both PayMongo and Maya simultaneously. At checkout, customers will see both options and pick their preferred provider. This is a good way to maximize successful payments — if one provider is down, the other still works.

Supported payment methods

Through Maya Checkout, customers can pay via:
  • Maya wallet
  • Credit/Debit cards (Visa, Mastercard)
  • Bank transfers (via Maya’s connected banks)
  • QR Ph (QR code payments)

Fees

Maya charges per-transaction fees — see their pricing page. AppointFlow takes no payment fee.

Troubleshooting

Same patterns as PayMongo troubleshooting:
  • Stuck on Pending Payment → webhook URL or secret is wrong.
  • ‘Invalid signature’ error → webhook secret doesn’t match.
  • Test payments rejected → mismatched sandbox vs. production keys.

Want technical details?

See the Maya developer doc for webhook payloads and integration internals.