Transaction
Usage#
Currently Minerva only supports following payment methods:
- Online:
- VNPayGateway (QR, ATM, InternationalCard, MobileBanking)
- VNPayQRCode
- VNPayTokenize
- VNPayQRCustomer
- VNPaySpos
- VNPayEWallet
- Loyalty
- MoMoAIO
- Offline:
- COD
- BankTransfer
- Installment
- InputRef (e.g: MomoPay, GrabPay...)
1. AIO Transaction#
1.1. Initialization#
AIO Transaction stands for All-in-one transaction. It means we can initialize a customize transaction contains multiple sub transactions. Ex: online, offline, loyalty.
- iOS
- Android
Firstly, we need to create a list of transaction requests.
Then initialize AIOPaymentInfo
Finally call initAIOTransaction function with AIOPaymentInfo and a list of transactionRequests.
Firstly, you must define which payment payload will pay for the order like below
After that, using PayAIOBuilder to init request payload
1.2. Observe AIOTransaction result#
Observe the AIOTransaction result:
- iOS
- Android
Use method observePaymentResult passing 2 params: paymentRequestId and delegate for result
For result, class need implement PaymentObserverDelegate like example below:
- After init transaction successfully, You able to observe the result
Notes: the requestId will be available after call initAIOTransaction successfully
And when you want to cancel observing the transaction result, you use method cancelObservePaymentResult
- iOS
- Android
2. Cancel Transaction#
A transaction can be canceled and unable to make payment by call this API.
- iOS
- Android