QR Code Payment Test

Environment:

Internal QA tool. It asks for the merchant API secret, which partners must keep on their server. Use test merchants only. The secret stays in this tab's memory: it is not saved, not put in the URL and not logged. Disabled on prod.

How to use
  1. API key and secret of a test merchant: Console → Account team → Service accounts → ⋮ → API credentials. The key is always shown. The secret is shown once, after Reset, and Reset stops the old secret for everyone who uses it. The page keeps the secret in this tab only.
  2. Create the prepayment and open the widget runs what the merchant's server does (authenticate with the secret → POST /api/prepayments, valid for 3 hours) and opens the widget in the QR code flow with the prepayment's id and link.
  3. Scan the QR code with a phone and pay there. The widget on this page shows the success screen and the log gets onSuccess.
  4. Log: green is a success, red is an error, blue is a widget event.
  5. Open again with the last prepayment: opens the widget with the prepayment of the last run, without creating a new one. Not paid yet: the same QR code. Paid: the success screen at once and onSuccess again with the same paymentId. Expired or cancelled: "This transaction has expired".
  6. Check SDK validation (invalid link): calls the SDK with a prepayment link that is not an http(s) URL. Nothing is created on the server and the widget must not open: the log shows the SDK error "QR code flow requires prePaymentId and prePaymentLink". This is what a merchant gets when its page passes wrong values.

Log