WechatPay.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Libs\Pay;
  3. use App\Libs\Pay\Merchants\Swiftpass;
  4. use App\Libs\Pay\Merchants\Youluo;
  5. use App\Libs\Pay\Merchants\AllinPay;
  6. use App\Libs\Pay\Merchants\Official;
  7. use App\Libs\Pay\Merchants\LianLianPay;
  8. use App\Libs\Pay\Merchants\Palmpay;
  9. use App\Libs\Pay\Merchants\PalmpayV2;
  10. use App\Libs\Pay\Merchants\OriginBank;
  11. use App\Libs\Pay\Merchants\SmkPay;
  12. class WechatPay
  13. {
  14. private static $_instance;
  15. static function instance($merchant,$config=[])
  16. {
  17. if(!self::$_instance)
  18. {
  19. switch ($merchant) {
  20. //case 'Swiftpass':'SWIFTPASS'
  21. case 'SWIFTPASS':
  22. self::$_instance = new Swiftpass();
  23. break;
  24. //case 'Youluo':
  25. case 'YOULUO':
  26. self::$_instance = new Youluo();
  27. break;
  28. case 'ALLINPAY':
  29. self::$_instance = new AllinPay($config);
  30. break;
  31. case 'OFFICIALPAY':
  32. self::$_instance = new Official($config);
  33. break;
  34. case 'LIANLIANPAY':
  35. self::$_instance = new LianLianPay($config);
  36. break;
  37. case 'PALMPAY':
  38. self::$_instance = new Palmpay($config);
  39. break;
  40. case 'PALMPAYV2':
  41. self::$_instance = new PalmpayV2($config);
  42. break;
  43. case 'ORIGINBANK':
  44. self::$_instance = new OriginBank($config);
  45. break;
  46. case 'SMKPAY':
  47. self::$_instance = new SmkPay($config);
  48. default:
  49. return null;
  50. }
  51. }
  52. return self::$_instance;
  53. }
  54. }