Skip to content
On this page

Guides

Go live and test mode

Test and live are two different sets of payments, keys, and webhook URLs.

Test and live are two different sets of payments, keys, and webhook URLs.

TestLive
Public keypk_test_...pk_live_...
Secret keysk_test_...sk_live_...
MoneyNo real transferReal bank transfer
Account namePAYJAR TEST CHECKOUTSUPAPAY CHECKOUT
Account numberStarts with TEST, then the store idA real account number
PopupIncludes Simulate successful transferCustomer pays from their bank

Mark a test payment as paid#

Use this while you are building. It only works with a test secret key.

POST/supapay/v1/test/simulateTest secret key
POST /supapay/v1/test/simulate HTTP/1.1
Host: app.supa.cash
Authorization: Bearer sk_test_your_secret_key
Accept: application/json
Content-Type: application/json

{
  "reference": "order_1001"
}
{
  "success": true,
  "message": "Test payment simulated",
  "options": {
    "notifications_count": 0,
    "payment": {
      "reference": "order_1001",
      "status": "success",
      "amount": 500000,
      "fee": 5000,
      "charged_amount": 500000,
      "settled_amount": 495000,
      "environment": "test",
      "paid_at": "2026-11-03T16:41:12+01:00"
    }
  }
}

The full payment object is in options.payment. Payjar also sends the payment.success webhook and the receipt emails.

Calling simulate again on a paid test payment returns the same paid payment.

The popup does the same thing when someone clicks Simulate successful transfer. That call is POST /supapay/v1/checkout/{access_code}/simulate and it does not need an API key. It only succeeds for a test payment.

Before you switch on live keys#

  • Create the payment on your server with the secret key, or with the popup public key.
  • Verify status is success on your server before you deliver the order.
  • Save the webhook secret and reject webhooks with a bad signature.
  • Use a new reference for every order.
  • Show charged_amount, not only the price you sent, when the customer pays the fee.
  • Run one test payment and one simulated success first.

Need a live store?

Register if you have not already, finish one test payment, then switch the store on for live keys.

Register