bankPayment static method
Future<APIResponse>
bankPayment({
- required String code,
- required String accountNumber,
- required PaymentInfo paymentInfo,
Implementation
static Future<APIResponse> bankPayment({
required String code,
required String accountNumber,
required PaymentInfo paymentInfo,
}) async {
APIResponse apiResponse;
//Preparing request payload
final Map<String, dynamic> formDataMap = {
"email": paymentInfo.email,
"amount": paymentInfo.amount,
"currency": paymentInfo.currency,
"metadata": paymentInfo.metadata,
"reference": paymentInfo.reference,
"bank": {
"code": code,
"account_number": accountNumber,
},
};
try {
var response = await dio.post(
APIs.chargeUrl,
data: formDataMap,
options: Options(
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ${paymentInfo.secretKey}',
},
),
);
if (response.statusCode == 200) {
//format the response data for system to continue operating
apiResponse = APIResponse.fromObject(response.data);
} else {
var errorMessage = "Request Failed. Please try again later";
try {
//alert the user with the message from the server
if (response.data["data"] != null) {
errorMessage = response.data["data"]["message"];
} else {
errorMessage = response.data["message"];
}
} catch (error) {
if (kDebugMode) {
print("Error Data Getting Failed:: $error");
}
}
throw errorMessage;
}
} catch (error) {
DioError dioError = error as DioError;
var errorMessage = "Request Failed. Please try again later";
try {
//alert the user with the message from the server
if (dioError.response?.data["data"] != null) {
errorMessage = dioError.response?.data["data"]["message"];
} else {
errorMessage = dioError.response?.data["message"];
}
} catch (error) {
if (kDebugMode) {
print("Error Data Getting Failed:: $error");
}
}
throw errorMessage;
}
return apiResponse;
}