agile_pay.dart 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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
  26. if (payInfo is ApplePayInfo) {
  27. iAgilePay = ApplePay(payInfo);
  28. } else if (payInfo is GooglePayInfo) {
  29. iAgilePay = GooglePay(payInfo);
  30. }
  31. realPay = iAgilePay;
  32. if (iAgilePay != null) {
  33. iAgilePay.setPayListener(AgilePayStateImpl(
  34. paySuccessListener: success,
  35. payErrorListener: payError,
  36. errorListener: error,
  37. payBeforeListener: before));
  38. iAgilePay.pay();
  39. } else {
  40. payError(AgilePayCode.payCodeNotSupport,
  41. AgilePayCode.getMessageByCode(AgilePayCode.payCodeNotSupport));
  42. }
  43. }
  44. }