WechatPay.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. break;
  49. default:
  50. return null;
  51. }
  52. }
  53. return self::$_instance;
  54. }
  55. }