PaymentComponentsController

public final class PaymentComponentsController : PaymentComponentsProtocol
extension PaymentComponentsController: PaymentComponentViewProtocol
extension PaymentComponentsController: PaymentProvidersBottomViewProtocol

The PaymentComponentsController class allows control over the payment components.

  • handling the Payment Component Controller delegate

    Declaration

    Swift

    public weak var delegate: PaymentComponentsControllerProtocol?
  • handling the Payment Component view delegate

    Declaration

    Swift

    public weak var viewDelegate: PaymentComponentViewProtocol?
  • handling the Payment Bottom view delegate

    Declaration

    Swift

    public weak var bottomViewDelegate: PaymentProvidersBottomViewProtocol?
  • storing the current selected payment provider

    Declaration

    Swift

    public var selectedPaymentProvider: PaymentProvider?
  • Payment Component View Configuration

    Declaration

    Swift

    public var paymentComponentConfiguration: PaymentComponentConfiguration?
  • Initializer of the Payment Component Controller class.

    Declaration

    Swift

    public init(giniHealth: GiniHealth)

    Parameters

    giniHealth

    An instance of GiniHealth initialized with GiniHealthAPI.

    Return Value

    • instance of the payment component controller class

  • Loads the payment providers list and stores them.

    Note

    Also triggers a function that checks if the payment providers are installed.

    Declaration

    Swift

    public func loadPaymentProviders()
  • Checks if the document is payable by extracting the IBAN.

    Declaration

    Swift

    public func checkIfDocumentIsPayable(docId: String, completion: @escaping (Result<Bool, GiniHealthError>) -> Void)

    Parameters

    docId

    The ID of the uploaded document.

    completion

    A closure for processing asynchronous data received from the service. It has a Result type parameter, representing either success or failure. The completion block is called on the main thread. In the case of success, it includes a boolean value indicating whether the IBAN was extracted successfully. In case of failure, it returns an error from the server side.

  • Checks if the document uploaded is having multiple invoices in it.

    Declaration

    Swift

    public func checkIfDocumentContainsMultipleInvoices(docId: String, completion: @escaping (Result<Bool, GiniHealthError>) -> Void)

    Parameters

    docId

    The ID of the uploaded document.

    completion

    A closure for processing asynchronous data received from the service. It has a Result type parameter, representing either success or failure. The completion block is called on the main thread. In the case of success, it includes a boolean value indicating if the upload contains multiple documents In case of failure, it returns an error from the server side.

  • Provides a custom Gini view that contains more information, bank selection if available and a tappable button to pay the document/invoice

    Declaration

    Swift

    public func paymentView(documentId: String) -> UIView

    Return Value

    a custom view

  • Undocumented

    Declaration

    Swift

    public func bankSelectionBottomSheet() -> UIViewController
  • Undocumented

    Declaration

    Swift

    public func loadPaymentReviewScreenFor(documentID: String, trackingDelegate: GiniHealthTrackingDelegate?, completion: @escaping (UIViewController?, GiniHealthError?) -> Void)
  • Undocumented

    Declaration

    Swift

    public func paymentInfoViewController() -> UIViewController
  • Declaration

    Swift

    public func didTapOnMoreInformation(documentId: String?)
  • Declaration

    Swift

    public func didTapOnBankPicker(documentId: String?)
  • Declaration

    Swift

    public func didTapOnPayInvoice(documentId: String?)
  • Undocumented

    Declaration

    Swift

    public func didSelectPaymentProvider(paymentProvider: PaymentProvider)
  • Undocumented

    Declaration

    Swift

    public func didTapOnClose()
  • Undocumented

    Declaration

    Swift

    public func didTapOnMoreInformation()