Versions Compared

Key

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

...

Code Block
languageactionscript3
themeMidnight
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        
        val monnifyTransactionResponse = data?.getParcelableExtra(KEY_RESULT) as MonnifyTransactionResponse

        var message = ""
        message = when(monnifyTransactionResponse.status) {
            Status.PENDING -> "Transaction not paid"
            Status.PAID -> "Customer paid exact amount"
            Status.OVERPAID -> "Customer paid more than initializedexpected amount."
            Status.PARTIALLY_PAID -> "Customer paid less than initializedexpected amount."
            Status.FAILED -> "Customer paid less than initialized amountTransaction completed unsuccessfully. This means no payment came in for Account Transfer method or attempt to charge card failed."
            Status.PAYMENT_GATEWAY_ERROR -> "Payment gateway error"
        }

        Toast.makeText(this@MainActivity, message, Toast.LENGTH_LONG).show()

    }

...

Code Block
languageactionscript3
themeMidnight
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    MonnifyTransactionResponse monnifyTransactionResponse = (MonnifyTransactionResponse) data.getParcelableExtra(KEY_RESULT);
    
    if (monnifyTransactionResponse == null)
        return;

    String message = "";
    switch (monnifyTransactionResponse.getStatus()) {
        case PENDING: { message = "Transaction not paid completefor."; break; }
        case PAID_CARD: { message = "PaymentCustomer completedpaid viaexact cardamount"; break; }
        case PAID_BANK_TRANSFER: case OVERPAID_BANK_TRANSFER: { message = "PaymentCustomer paid mademore viathan bankexpected transferamount."; break; }
        case FAILEDPARTIALLY_CARDPAID: { message = "Card transaction failedCustomer paid less than expected amount."; break; }
        case FAILED_BANK_TRANSFER: { message = "BankTransaction transfer failed"; break; }
        case PARTIALLY_PAID_BANK_TRANSFER: { message = "Partial payment made via bank transfercompleted unsuccessfully. This means no payment came in for Account Transfer method or attempt to charge card failed."; break; }
        case PAYMENT_GATEWAY_ERROR: { message = "Payment gateway error"; break; }
    }

    Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show();
}

...

Possible return types from the SDK and meanings below:

TypeMeaning
PAID_CARDPayment has been completed via card
PAID_BANK_TRANSFERPayment has been completed via bank transfer
OVERPAID_BANK_TRANSFERPayment has been overpaid via bank transfer
PARTIALLY_PAID_BANK_TRANSFERPayment has been partially made via bank transfer
FAILED_CARDPayment has been tried via card and failed
FAILED_BANK_TRANSFERPayment has been tried via bank transfer and failed
PENDINGPayment is still pendingPENDINGTransaction not paid for.
PAIDThe customer paid exact amount
OVERPAIDThe customer paid more than the expected amount.
PARTIALLY_PAIDThe customer paid less than the expected amount.
FAILEDTransaction completed unsuccessfully. This means no payment came in for Account Transfer method or attempt to charge card failed.
PAYMENT_GATEWAY_ERRORPayment tried but an error occurred on Monnify gateway

...