initiateTransaction method
Initiates a UPI transaction with the given upiRequestParams
.
Parameters:
upiRequestParams
: The parameters required for initiating a UPI transaction.
Returns: A Future that completes with the UPI response.
Implementation
Future<UpiResponse> initiateTransaction(
String upiUrl, String packageName) async {
try {
final String? response = await _channel.invokeMethod(
'open_upi_app', {"url": upiUrl, "package": packageName});
if (kDebugMode) {
print('response-->$response');
}
if (response != null && response == "User Cancelled transaction") {
return UpiResponse(status: 'USER_CANCELLED_TRANSACTION');
} else if (response == "UNREGISTERED_UPI_INTENT_APP") {
return UpiResponse(status: 'UNREGISTERED_UPI_INTENT_APP');
} else if (response == "UNAVAILABLE_UPI_INTENT_APP") {
return UpiResponse(status: 'UNAVAILABLE_UPI_INTENT_APP');
} else {
return UpiResponse(status: 'UPI_TRANSACTION_GENERIC_ERROR');
}
} catch (e) {
return UpiResponse(status: 'UPI_TRANSACTION_GENERIC_ERROR');
}
}