Moosyl logo

Testing

Test your Moosyl integration in the sandbox with test phone numbers and simulated transfers, without moving real money.

Everything you do with Sandbox keys is simulated: no money moves and no real bank app is charged. Payments, webhooks and the dashboard behave as they do in Production, so you can test your whole flow end to end.

Test phone numbers

For most bank apps, the phone number the customer pays with decides the outcome:

Phone numberResult
22222222Completed
33333333Completed
44444444Completed
Any other numberFailed

The payment is created with its final status, so your webhook receives a single payment-created event with status set to completed or failed.

Simulated transfers

Some bank apps are paid by transfer: BCI Pay, Amanty, and Bankily on accounts that use the transfer flow. In the sandbox these payments stay pending until you simulate the transfer:

  • On the hosted checkout page, click Simulate transfer (sandbox).
  • Or call the API with your key:
curl -X POST https://api.moosyl.com/payment/PAYMENT_ID/simulate-transfer \
  -H "Authorization: YOUR_SECRET_KEY"

The payment then completes as if the customer had transferred the exact amount, and your webhook receives a payment-updated event with status set to completed. This only works in the Sandbox environment.

What to check before going live

  • A completed payment marks the order as paid in your system, driven by the webhook rather than the app callback.
  • A failed payment leaves the order unpaid and lets the customer try again.
  • Your webhook endpoint rejects requests with an invalid signature and returns a 2xx status quickly for valid ones.
  • Receiving the same event twice doesn't fulfil the order twice.

When everything passes, follow Go live in the Quickstart.