Find an example implementation in the example app’s pay package.
When your activity is launched with intent, follow these steps to receive and handle the payment request:
Extract the payment request ID from the intent with
getRequestId()
:val requestId = getRequestId(intent)
Retrieve the payment details set by other Gini SDKs (like the Gini Health SDK) using
GiniBank.getPaymentRequest()
:val paymentRequest: PaymentRequest = giniBank.getPaymentRequest(requestId)
Show the payment details to your user:
showPaymentDetails( paymentRequest.recipient, paymentRequest.iban, paymentRequest.bic, paymentRequest.amount, paymentRequest.purpose )
After the user initiates the payment, mark the payment request as paid, using
GiniBank.resolvePaymentRequest()
:// The actual payment details used for the payment (as corrected and accepted by the user). val usedPaymentDetails = ResolvePaymentInput( recipient = "...", iban = "...", bic = "...", amount = "...", purpose = "..." ) val resolvedPayment: ResolvedPayment = giniBank.resolvePaymentRequest(requestId, usedPaymentDetails)
Let your user return to the app that started the flow using
GiniBank.returnToPaymentInitiatorApp()
:giniBank.returnToPaymentInitiatorApp(context, resolvedPayment)