WechatPay.php 1.1 KB

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