infoPaymentAfterCapture method

Future<bool> infoPaymentAfterCapture({
  1. required String paymentId,
  2. required String username,
  3. required String password,
})

Implementation

Future<bool> infoPaymentAfterCapture({
  required String paymentId,
  required String username,
  required String password,
}) async {
  bool ret = false;
  Map<String, dynamic> body;
  final startTime = DateTime.now();
  do {
    final response = await dio.get(
      "payments/$paymentId",
    );
    body = response.data;
    ret = body["status"] == "succeeded" || body["status"] == "canceled";
    if (DateTime.now().difference(startTime).inSeconds >= 30) {
      break;
    }
    await Future.delayed(const Duration(seconds: 5));
  } while (!ret);
  return body["status"] == "succeeded" ? true : false;
}