Skip to main content

Test Payment Scenarios

Use sandbox mode to drive a payment into each terminal state and confirm your fulfilment logic branches correctly — no blockchain, no real crypto.

Drive each outcome

Create a isSandbox: true payment, then trigger an outcome from the checkout's simulation buttons or the sandbox/simulate endpoint:

curl -X POST https://api-staging.finomesh.com/api/v1/public/payments/{paymentId}/sandbox/simulate \
-H "Content-Type: application/json" \
-d '{ "outcome": "acceptable", "offerId": "{offerId}" }'
outcomeResulting statusWhat your server should do
successSUCCESSFulfil after verify.
acceptableACCEPTABLEFulfil after verify.
mismatchMISMATCHHold for manual review (check deviationUsd).
expireEXPIREDCancel the order.

What to assert

  • Each outcome fires the callback (three paid outcomes) and the signed webhook (all four).
  • Your handler fulfils only on a verified SUCCESS / ACCEPTABLE.
  • MISMATCH holds for review; EXPIRED cancels.
  • Every money value is parsed as a decimal string, never a float.