WechatPay.php 1.3 KB

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