agile_pay.dart 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'applepay/apple_pay.dart';
  2. import 'applepay/apple_pay_info.dart';
  3. import 'code/agile_pay_code.dart';
  4. import 'listener/agile_pay_state.dart';
  5. import 'listener/i_agile_pay.dart';
  6. class AgilePay {
  7. static IAgilePay? realPay;
  8. static void check() {
  9. IAgilePay? iAgilePay;
  10. iAgilePay = ApplePay();
  11. realPay = iAgilePay;
  12. iAgilePay.check();
  13. }
  14. static void restore(
  15. {required AgilePaySuccess success,
  16. required AgilePayError payError,
  17. required AgileError error,
  18. AgilePayBefore? before}) {
  19. IAgilePay? iAgilePay;
  20. iAgilePay = ApplePay();
  21. realPay = iAgilePay;
  22. iAgilePay.setPayListener(AgilePayStateImpl(
  23. paySuccessListener: success,
  24. payErrorListener: payError,
  25. errorListener: error,
  26. payBeforeListener: before));
  27. iAgilePay.restore();
  28. }
  29. static void startPay(dynamic payInfo,
  30. {required AgilePaySuccess success,
  31. required AgilePayError payError,
  32. required AgileError error,
  33. AgilePayBefore? before}) {
  34. IAgilePay? iAgilePay;
  35. if (payInfo is ApplePayInfo) {
  36. iAgilePay = ApplePay(payInfo);
  37. }
  38. realPay = iAgilePay;
  39. if (iAgilePay != null) {
  40. iAgilePay.setPayListener(AgilePayStateImpl(
  41. paySuccessListener: success,
  42. payErrorListener: payError,
  43. errorListener: error,
  44. payBeforeListener: before));
  45. iAgilePay.pay();
  46. } else {
  47. payError(AgilePayCode.payCodeNotSupport,
  48. AgilePayCode.getMessageByCode(AgilePayCode.payCodeNotSupport));
  49. }
  50. }
  51. }