sendPayment static method

Future<bool> sendPayment({
  1. ATHMovilPayment? athMovilPayment,
  2. String? buildType,
  3. ATHMovilPaymentResponseListener? athMovilPaymentResponseListener,
})

Implementation

static Future<bool> sendPayment({
  ATHMovilPayment? athMovilPayment,
  String? buildType,
  ATHMovilPaymentResponseListener? athMovilPaymentResponseListener,
}) async {
  _responseListener = athMovilPaymentResponseListener;
  _channel.setMethodCallHandler(callHandler);
  if (athMovilPayment == null) {
    _responseListener!.onPaymentException(
        ConstantsUtil.ATHM_REQUEST_EXCEPTION_TITLE,
        ConstantsUtil.ATHM_PAYMENT_ERROR_MESSAGE);
    return false;
  }
  athMovilPayment.paymentId = Uuid().v1();
  if (athMovilPayment.timeout == 0) {
    athMovilPayment.timeout = 600;
  }
  ATHMovilPaymentSingleton.athMovilPaymentSingleton.athMovilPayment =
      athMovilPayment;
  ATHMovilException? athMovilException =
      ATHMovilValidationUtil.validateRequest(athMovilPayment);
  if (athMovilException == null) {
    String json = encodeRequest(athMovilPayment);
    if (json.isNotEmpty) {
      await _channel.invokeMethod(
        'sendPayment',
        {
          "payment": json,
          "buildType": buildType,
          "publicToken": ATHMovilPaymentSingleton
              .athMovilPaymentSingleton.athMovilPayment.businessToken,
          "paymentId": ATHMovilPaymentSingleton
              .athMovilPaymentSingleton.athMovilPayment.paymentId,
          "timeout": ATHMovilPaymentSingleton
              .athMovilPaymentSingleton.athMovilPayment.timeout,
        },
      );
      return true;
    }
    return false;
  } else {
    _responseListener!.onPaymentException(
        athMovilException.exceptionTitle, athMovilException.exceptionMessage);
    return false;
  }
}