Skip to Content
QR Slip VerificationQR Slip Verification

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.

Important

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 to SUCCEEDED and sends the related webhooks such as charge.succeeded webhook.
  • 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

Last updated on