GiniHealth
@objc
public final class GiniHealth : NSObject
extension GiniHealth: PaymentComponentsConfigurationProvider
extension GiniHealth: PaymentComponentsStringsProvider
extension GiniHealth: PaymentComponentsControllerProtocol
Core class for Gini Health SDK.
-
reponsible for interaction with Gini Health backend .
Declaration
Swift
public var giniApiLib: GiniHealthAPI -
reponsible for the whole document processing.
Declaration
Swift
public var documentService: DefaultDocumentService -
reponsible for the payment processing.
Declaration
Swift
public var paymentService: PaymentService -
delegate to inform about the current status of the Gini Health SDK.
Declaration
Swift
public weak var delegate: GiniHealthDelegate? -
delegate to inform about the changes into PaymentComponentsController
Declaration
Swift
public weak var paymentDelegate: PaymentComponentsControllerProtocol? -
Configuration for the payment component, controlling its branding and display options.
Declaration
Swift
public var paymentComponentConfiguration: PaymentComponentConfiguration -
Undocumented
Declaration
Swift
public var paymentComponentsController: PaymentComponentsController! -
Initializes a new instance of GiniHealth.
This initializer creates a GiniHealth instance by first constructing a Client object with the provided client credentials (id, secret, domain)
- id: The client ID provided by Gini when you register your application. This is a unique identifier for your application.
- secret: The client secret provided by Gini alongside the client ID. This is used to authenticate your application to the Gini API.
- domain: The domain associated with your client credentials. This is used to scope the client credentials to a specific domain.
- logLevel: The log level.
LogLevel.noneby default.
-
Initializes a new instance of GiniHealth.
This initializer creates a GiniHealth instance by first constructing a Client object with the provided client credentials (id, secret, domain)
- id: The client ID provided by Gini when you register your application. This is a unique identifier for your application.
- secret: The client secret provided by Gini alongside the client ID. This is used to authenticate your application to the Gini API.
- domain: The domain associated with your client credentials. This is used to scope the client credentials to a specific domain.
- pinningConfig: Configuration for certificate pinning. Format [“PinnedDomains” : [“PublicKeyHashes”]]
- logLevel: The log level.
LogLevel.noneby default.
-
Initializes a new instance of GiniHealth.
Declaration
Swift
public init(giniApiLib: GiniHealthAPI)Parameters
giniApiLibThe GiniHealthAPI instance used for document and payment services.
-
Initiates the payment flow for a specified document and payment information.
This method sets up the payment flow by storing the provided document ID, payment information, and navigation controller. If a
selectedPaymentProvideris available, it either presents the payment review screen or the payment view bottom sheet, depending on the configuration. If no payment provider is selected, it directly presents the payment view bottom sheet.Declaration
Swift
public func startPaymentFlow(documentId: String?, paymentInfo: GiniHealthSDK.PaymentInfo?, navigationController: UINavigationController, trackingDelegate: GiniHealthTrackingDelegate?)Parameters
documentIdAn optional identifier for the document associated id with the payment flow.
paymentInfoAn optional
PaymentInfoobject containing the payment details.navigationControllerThe
UINavigationControllerused to present subsequent view controllers in the payment flow.trackingDelegateThe
GiniHealthTrackingDelegateprovides event information that happens on PaymentReviewScreen. -
Fetches bank logos for the available payment providers.
Declaration
Swift
public func fetchBankLogos() -> (logos: [Data]?, additionalBankCount: Int?)Return Value
A tuple containing an array of logo data and the count of additional banks, if any.
-
Getting a list of the banking apps supported by SDK
Declaration
Swift
public func fetchBankingApps(completion: @escaping (Result<PaymentProviders, GiniError>) -> Void)Parameters
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. In success case it includes array of payment providers supported by SDK. In case of failure error provided by API.
-
Sets a configuration which is used to customize the look of the Gini Health SDK, for example to change texts and colors displayed to the user.
Declaration
Swift
public func setConfiguration(_ configuration: GiniHealthConfiguration)Parameters
configurationThe configuration to set.
-
Checks if the document is payable, looks for iban extraction.
Declaration
Swift
public func checkIfDocumentIsPayable(docId: String, completion: @escaping (Result<Bool, GiniHealthError>) -> Void)Parameters
docIdId of uploaded document.
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. Completion block called on main thread. In success case it includes a boolean value and returns true if paymentState is payable. In case of failure in case of failure error from the server side.
-
Checks if the document contains multiple invoices.
Declaration
Swift
public func checkIfDocumentContainsMultipleInvoices(docId: String, completion: @escaping (Result<Bool, GiniHealthError>) -> Void)Parameters
docIdId of uploaded document.
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. Completion block called on main thread. In success case it includes a boolean value and returns true if contains multiple documents is true or false In case of failure in case of failure error from the server side.
-
Polls the document via document id.
Declaration
Swift
public func pollDocument(docId: String, completion: @escaping (Result<Document, GiniHealthError>) -> Void)Parameters
docIdId of uploaded document.
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. Completion block called on main thread. In success returns the polled document. In case of failure error from the server side.
-
Get extractions for the document.
Declaration
Swift
public func getExtractions(docId: String, completion: @escaping (Result<[Extraction], GiniHealthError>) -> Void)Parameters
docIdId of the uploaded document.
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. Completion block called on main thread. In success case it includes array of extractions. In case of failure in case of failure error from the server side.
-
Get all extractions for the document. Medical information included.
Declaration
Swift
public func getAllExtractions(docId: String, completion: @escaping (Result<[Extraction], GiniHealthError>) -> Void)Parameters
docIdId of the uploaded document.
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. Completion block called on main thread. In success case it includes array of extractions. In case of failure in case of failure error from the server side.
-
Creates a payment request
Declaration
Swift
public func createPaymentRequest(paymentInfo: GiniInternalPaymentSDK.PaymentInfo, completion: @escaping (Result<String, GiniError>) -> Void)Parameters
paymentInfoModel object for payment information.
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. Completion block called on main thread. In success it includes the id of created payment request. In case of failure error from the server side.
-
Opens an app of selected payment provider. openUrl called on main thread.
Declaration
Swift
public func openPaymentProviderApp(requestID: String, universalLink: String, urlOpener: URLOpener = URLOpener(UIApplication.shared), completion: GiniOpenLinkCompletionBlock? = nil)Parameters
requestIdId of the created payment request.
universalLinkUniversal link for the selected payment provider
-
Sets a data for payment review screen
Declaration
Swift
public func setDocumentForReview(documentId: String, completion: @escaping (Result<[Extraction], GiniHealthError>) -> Void)Parameters
documentIdId of uploaded document.
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. Completion block called on main thread. In success it includes array of extractions. In case of failure error from the server side.
-
Fetches document and extractions for payment review screen
Declaration
Swift
public func fetchDataForReview(documentId: String, completion: @escaping (Result<DataForReview, GiniHealthError>) -> Void)Parameters
documentIdId of uploaded document.
completionAn action for processing asynchronous data received from the service with Result type as a paramater. Result is a value that represents either a success or a failure, including an associated value in each case. Completion block called on main thread. In success returns DataForReview structure. It includes document and array of extractions. In case of failure error from the server side and nil instead of document .
-
Retrieves a payment request by ID.Declaration
Swift
public func getPaymentRequest(by id: String, completion: @escaping (Result<PaymentRequest, GiniError>) -> Void) -
A static string representing the current version of the Gini Health SDK.
Declaration
Swift
public static var versionString: String { get } -
Undocumented
Declaration
Swift
public var defaultStyleInputFieldConfiguration: TextFieldConfiguration { get } -
Undocumented
Declaration
Swift
public var errorStyleInputFieldConfiguration: TextFieldConfiguration { get } -
Undocumented
Declaration
Swift
public var selectionStyleInputFieldConfiguration: TextFieldConfiguration { get } -
Undocumented
Declaration
Swift
public var showPaymentReviewCloseButton: Bool { get } -
Undocumented
Declaration
Swift
public var paymentComponentButtonsHeight: CGFloat { get } -
Undocumented
Declaration
Swift
public var paymentReviewContainerConfiguration: PaymentReviewContainerConfiguration { get } -
Undocumented
Declaration
Swift
public var installAppConfiguration: InstallAppConfiguration { get } -
Undocumented
Declaration
Swift
public var bottomSheetConfiguration: BottomSheetConfiguration { get } -
Undocumented
Declaration
Swift
public var shareInvoiceConfiguration: ShareInvoiceConfiguration { get } -
Undocumented
Declaration
Swift
public var paymentInfoConfiguration: PaymentInfoConfiguration { get } -
Undocumented
Declaration
Swift
public var bankSelectionConfiguration: BankSelectionConfiguration { get } -
Undocumented
Declaration
Swift
public var paymentComponentsConfiguration: PaymentComponentsConfiguration { get } -
Undocumented
Declaration
Swift
public var paymentReviewConfiguration: PaymentReviewConfiguration { get } -
Undocumented
Declaration
Swift
public var poweredByGiniConfiguration: PoweredByGiniConfiguration { get } -
Undocumented
Declaration
Swift
public var moreInformationConfiguration: MoreInformationConfiguration { get } -
Undocumented
Declaration
Swift
public var primaryButtonConfiguration: GiniInternalPaymentSDK.ButtonConfiguration { get } -
Undocumented
Declaration
Swift
public var secondaryButtonConfiguration: GiniInternalPaymentSDK.ButtonConfiguration { get } -
Undocumented
Declaration
Swift
public var paymentReviewContainerStrings: PaymentReviewContainerStrings { get } -
Undocumented
Declaration
Swift
public var paymentComponentsStrings: PaymentComponentsStrings { get } -
Undocumented
Declaration
Swift
public var installAppStrings: InstallAppStrings { get } -
Undocumented
Declaration
Swift
public var shareInvoiceStrings: ShareInvoiceStrings { get } -
Undocumented
Declaration
Swift
public var paymentInfoStrings: PaymentInfoStrings { get } -
Undocumented
Declaration
Swift
public var banksBottomStrings: BanksBottomStrings { get } -
Undocumented
Declaration
Swift
public var paymentReviewStrings: PaymentReviewStrings { get } -
Undocumented
Declaration
Swift
public var poweredByGiniStrings: PoweredByGiniStrings { get } -
Undocumented
Declaration
Swift
public var moreInformationStrings: MoreInformationStrings { get } -
Undocumented
Declaration
Swift
public func isLoadingStateChanged(isLoading: Bool) -
Undocumented
Declaration
Swift
public func didFetchedPaymentProviders() -
Undocumented
See moreDeclaration
Swift
public enum Constants
View on GitHub
GiniHealth Class Reference