Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Receive payment requests

...

Fetch payment information

...

Resolve payment requests

...

Page Properties
hiddentrue

Status

Status
colourYellow
titlefor review

Approver

Alpar Szotyori (Unlicensed)

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:

  1. Extract the payment request ID from the intent with getRequestId():

    Code Block
    languagekotlin
    val requestId = getRequestId(intent)
  2. Retrieve the payment details set by other Gini SDKs (like the Gini Health SDK) using GiniBank.getPaymentRequest():

    Code Block
    languagekotlin
    val paymentRequest: PaymentRequest = giniBank.getPaymentRequest(requestId)
  3. Show the payment details to your user:

    Code Block
    languagekotlin
    showPaymentDetails(
        paymentRequest.recipient,
        paymentRequest.iban,
        paymentRequest.bic,
        paymentRequest.amount,
        paymentRequest.purpose
    )
  4. After the user initiates the payment, mark the payment request as paid, using GiniBank.resolvePaymentRequest():

    Code Block
    languagekotlin
    // 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)
  5. Let your user return to the app that starts the flow using GiniBank.returnToPaymentInitiatorApp():

    Code Block
    languagekotlin
    giniBank.returnToPaymentInitiatorApp(context, resolvedPayment)