WechatPay.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. class WechatPay
  12. {
  13. private static $_instance;
  14. static function instance($merchant,$config=[])
  15. {
  16. if(!self::$_instance)
  17. {
  18. switch ($merchant) {
  19. //case 'Swiftpass':'SWIFTPASS'
  20. case 'SWIFTPASS':
  21. self::$_instance = new Swiftpass();
  22. break;
  23. //case 'Youluo':
  24. case 'YOULUO':
  25. self::$_instance = new Youluo();
  26. break;
  27. case 'ALLINPAY':
  28. self::$_instance = new AllinPay($config);
  29. break;
  30. case 'OFFICIALPAY':
  31. self::$_instance = new Official($config);
  32. break;
  33. case 'LIANLIANPAY':
  34. self::$_instance = new LianLianPay($config);
  35. break;
  36. case 'PALMPAY':
  37. self::$_instance = new Palmpay($config);
  38. break;
  39. case 'PALMPAYV2':
  40. self::$_instance = new PalmpayV2($config);
  41. break;
  42. case 'ORIGINBANK':
  43. self::$_instance = new OriginBank($config);
  44. break;
  45. default:
  46. return null;
  47. }
  48. }
  49. return self::$_instance;
  50. }
  51. }