DottsPay
Getting started

Test mode

Every DottsPay account has a test mode and a live mode. Build and test everything in test mode, where no real money moves, then switch keys to go live.

Test and live

The mode comes from the key you use. There is no separate URL.

Secret key
Test modesk_test_…
Live modesk_live_…
Money
Test modeSimulated. Nothing is charged or paid out.
Live modeReal charges and real payouts.
Availability
Test modeStraight away, after sign-up.
Live modeAfter your account is approved.
Data
Test modeTest transactions, links and customers only.
Live modeLive data only.
Webhooks
Test modeSent to your test URL, signed with the test secret.
Live modeSent to your live URL, signed with the live secret.
mode field
Test mode"test"
Live mode"live"

Test and live data never mix. A test key cannot read a live transaction, and asking for one returns 404 not_found. Every object carries a mode field so you can always tell which one you are looking at.

Test card

On a test checkout page, pay with this test card. It goes through the full flow, including the PIN and OTP steps, without moving any money.

Card number
4084 0840 8408 4081
Expiry
Any future date, for example 12/30
CVV
408
PIN
0000
OTP
123456
Test details only work in test mode
This card will not work on a live checkout. Never use real card details in test mode.

To see what happens when a payment does not complete, start a checkout and leave the page without paying. Make sure your callback page and your order records handle a reference whose status is not success.

What to test before going live

  • A successful payment, end to end, including your callback page.
  • Server-side verification with Verify a transaction, including a check that the amount matches.
  • Your webhook endpoint: signature check, a fast 2xx reply, and safe handling of a duplicate delivery.
  • A failed or abandoned payment, so customers see a sensible message.
  • A refund, if you plan to offer them.

Going live

  1. Complete account verification in the dashboard. Live mode is switched on once it is approved.
  2. Copy your live secret key from Dashboard → Developers into your production environment.
  3. Add a live webhook URL and store its new secret.
  4. Make a small real payment and refund it.

Calling the API with a live key before live mode is on returns 403 merchant_not_live.