Capture Flow

In order to use the capture flow, follow these steps:

  1. Request camera access via configuring Info.plist in your project.

  2. Configure GiniBankConfiguration.shared. Here is an implementation example.

  3. Present the UIViewController. Here is an example.

  4. Handle the extraction results by implementing GiniCaptureResultsDelegate. There are more details about the delegate methods later and here is an implementation example.

  5. Cleanup configuration and resources while also providing the required extraction feedback to improve future extraction accuracy. Follow these recommendations:

  • Provide values for all necessary fields, including those that were not extracted.

  • Provide the final data approved by the user (and not the initially extracted only).

  • Do cleanup only after TAN verification.

You don’t need to implement any extra steps.

GiniBankConfiguration.shared.cleanup(paymentRecipient: "Payment Recipient", paymentReference: "Payment Reference", paymentPurpose: "Payment Purpose", iban: "IBAN", bic: "BIC", amountToPay: ExtractionAmount(value: 10.242, currency: .EUR))

Check out an example app to see how an integration can look like.


The diagram shows the interaction between your app and the SDK:

Gini Bank SDK returns one of the results by invoking the following GiniCaptureResultsDelegate methods:

  • GiniCaptureResultsDelegate.giniCaptureAnalysisDidFinishWith(result: AnalysisResult)

A document was analyzed and the extractions are available in the properties of the AnalysisResult object.

  • GiniCaptureResultsDelegate.giniCaptureDidCancelAnalysis()

The user canceled Gini Bank SDK.

  • GiniCaptureResultsDelegate.giniCaptureDidEnterManually()

The document analysis finished with no results/an error and the user clicked the Enter manually button on either the No Results Screen or the Error Screen. To enable manual entry of payment information, you should close Gini Capture SDK, letting your app prompt users for manual input.