123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace App\Libs\Pay;
- use App\Libs\Pay\Merchants\Swiftpass;
- use App\Libs\Pay\Merchants\Youluo;
- use App\Libs\Pay\Merchants\AllinPay;
- use App\Libs\Pay\Merchants\Official;
- use App\Libs\Pay\Merchants\LianLianPay;
- use App\Libs\Pay\Merchants\Palmpay;
- use App\Libs\Pay\Merchants\PalmpayV2;
- use App\Libs\Pay\Merchants\OriginBank;
- use App\Libs\Pay\Merchants\SmkPay;
- use App\Libs\Pay\Merchants\UnionPay;
- /**
- * @method \App\Libs\Pay\Merchants\UnionPay Union(array $data)
- * @method \App\Libs\Pay\Merchants\Official Official(array $data)
- */
- class WechatPay
- {
- static function instance($merchant, array $config = [])
- {
- switch ($merchant) {
- case 'SWIFTPASS':
- $instance = new Swiftpass();
- break;
- case 'YOULUO':
- $instance = new Youluo();
- break;
- case 'ALLINPAY':
- $instance = new AllinPay($config);
- break;
- case 'OFFICIALPAY':
- $instance = new Official($config);
- break;
- case 'LIANLIANPAY':
- $instance = new LianLianPay($config);
- break;
- case 'PALMPAY':
- $instance = new Palmpay($config);
- break;
- case 'PALMPAYV2':
- $instance = new PalmpayV2($config);
- break;
- case 'ORIGINBANK':
- $instance = new OriginBank($config);
- break;
- case 'SMKPAY':
- $instance = new SmkPay($config);
- break;
- case 'UNIONPAY':
- $instance = new UnionPay($config);
- break;
- default:
- return null;
- }
- return $instance;
- }
- /**
- * Dynamically pass methods to the application.
- *
- * @param string $name
- * @param array $arguments
- *
- * @return mixed
- */
- public static function __callStatic($name, $arguments)
- {
- $merchant = $arguments[0];
- $config = $arguments[1];
- return self::instance($merchant, $config);
- }
- }
|