agile_pay.dart 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import 'package:electronic_assistant/sdk/pay/alipay/alipay.dart';
  2. import 'package:electronic_assistant/sdk/pay/googlepay/google_pay_info.dart';
  3. import 'package:electronic_assistant/sdk/pay/listener/i_agile_pay.dart';
  4. import 'package:electronic_assistant/sdk/pay/wxpay/wechat_pay.dart';
  5. import 'package:electronic_assistant/sdk/pay/wxpay/wechat_pay_info.dart';
  6. import 'alipay/ali_pay_info.dart';
  7. import 'applepay/apple_pay.dart';
  8. import 'applepay/apple_pay_info.dart';
  9. import 'code/agile_pay_code.dart';
  10. import 'googlepay/google_pay.dart';
  11. import 'listener/agile_pay_state.dart';
  12. class AgilePay {
  13. static IAgilePay? realPay;
  14. static void startPay(dynamic payInfo,
  15. {required AgilePaySuccess success,
  16. required AgilePayError payError,
  17. required AgileError error,
  18. AgilePayBefore? before}) {
  19. IAgilePay? iAgilePay;
  20. // if (payInfo is AliPayInfo) {
  21. // iAgilePay = Alipay(payInfo);
  22. // } else
  23. if (payInfo is WechatPayInfo) {
  24. iAgilePay = WechatPay(payInfo);
  25. } else if (payInfo is ApplePayInfo) {
  26. iAgilePay = ApplePay(payInfo);
  27. } else if (payInfo is GooglePayInfo) {
  28. iAgilePay = GooglePay(payInfo);
  29. }
  30. realPay = iAgilePay;
  31. if (iAgilePay != null) {
  32. iAgilePay.setPayListener(AgilePayStateImpl(
  33. paySuccessListener: success,
  34. payErrorListener: payError,
  35. errorListener: error,
  36. payBeforeListener: before));
  37. iAgilePay.pay();
  38. } else {
  39. payError(AgilePayCode.payCodeNotSupport,
  40. AgilePayCode.getMessageByCode(AgilePayCode.payCodeNotSupport));
  41. }
  42. }
  43. }