QR Slip Verification
A charge can stay PENDING even though your shopper has already paid and sent you the slip as proof. This happens
with bank transfer payments such as QR PromptPay and mobile banking. The banking app issues the slip as soon as the
transfer is done, but the confirmation that moves the charge to SUCCEEDED travels a separate path, from the banking
network to Beam. Even when every system works within its normal service window, a small number of these confirmations
arrive late or do not arrive at all. This is common across the payments industry, and it does not mean the
transfer failed.
QR slip verification confirms the payment from the slip itself. Beam reads the QR code on the slip, finds the charge
that the shopper paid with that transfer, and updates that charge to SUCCEEDED if it is still PENDING.
There are two ways to verify a slip:
- In Lighthouse : verify a slip from your merchant account, with nothing to build.
- With the API: verify slips from your own system, so the check fits the flow your staff or your app already uses.
This page covers the concept behind both. For the endpoint, the request, and the response, see QR Slip Verification API.
Beam enables the API separately from the QR slip verification feature in Lighthouse . If you already verify slips in Lighthouse, your account still cannot call the endpoint until Beam enables the API. Contact Beam support before you build this integration.
While the API is not enabled, every request to the endpoint returns 403 Forbidden.
What verification does to the charge
When Beam finds the matching charge, one of two cases happens:
- The charge is
PENDING: Beam updates it toSUCCEEDEDand sends the related webhooks such ascharge.succeededwebhook. - The charge is already
SUCCEEDED: Beam leaves it as it is, because the payment is already confirmed.
Both outcomes mean the shopper has paid, so your order handling is the same for each. When no charge matches the slip, or Beam cannot read the QR code, no charge changes and the call returns an error. See Errors.
Next steps
- QR Slip Verification API: the endpoint, the two request formats, the response, and the errors.
- Charges: the charge lifecycle these slips update.