Some invoices have a QR code that lets the user get the payment data by scanning it from the camera screen. Scanning and processing happen automatically. The SDK utilizes the QR code scanning capability of Google ML Kit to extract payment data from QR codes, enabling the detection of payment information.
When a supported QR code is detected with valid payment data, the white camera frame turns green with the message that the QR code is detected. If the QR code doesn’t have a supported payment format, the white camera frame turns yellow with the message that the QR code is not supported. Payment information extraction starts immediately after the supported QR code is successfully scanned. The extractions are returned in the result of the CameraActivity
.
If you use a custom networking implementation, send the QR code data to our API and only use the extractions returned by the CameraActivity
.
Reading payment data from QR codes on the device is the first part of payment data extraction. The second part is sending the QR code data to our API which handles the extraction logic.
Supported QR codes
Enable QR code scanning
QR code scanning is available on devices running Android with Google Play Services installed. To enable this feature, pass true
to GiniBank.setCaptureConfiguration(context, CaptureConfiguration(qrCodeScanningEnabled = ))
.
When your application is installed, Google Play Services downloads libraries to the device in order to detect QR codes. If another app already uses QR code detection on the device, the library won’t be downloaded again. Under certain circumstances (for example, the user isn't online, slow connection, or lack of sufficient storage space), the libraries aren’t ready at the time your app starts the camera screen and QR code detection is silently disabled until the next time the camera screen starts.