| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- <?php
 
- namespace Yansongda\Pay\Gateways\Wechat;
 
- use Symfony\Component\HttpFoundation\Request;
 
- use Yansongda\Pay\Events;
 
- use Yansongda\Pay\Exceptions\GatewayException;
 
- use Yansongda\Pay\Exceptions\InvalidArgumentException;
 
- use Yansongda\Pay\Exceptions\InvalidSignException;
 
- use Yansongda\Supports\Collection;
 
- class ScanGateway extends Gateway
 
- {
 
-     /**
 
-      * Pay an order.
 
-      *
 
-      * @author yansongda <me@yansongda.cn>
 
-      *
 
-      * @param string $endpoint
 
-      *
 
-      * @throws GatewayException
 
-      * @throws InvalidArgumentException
 
-      * @throws InvalidSignException
 
-      */
 
-     public function pay($endpoint, array $payload): Collection
 
-     {
 
-         $payload['spbill_create_ip'] = Request::createFromGlobals()->server->get('SERVER_ADDR');
 
-         $payload['trade_type'] = $this->getTradeType();
 
-         Events::dispatch(new Events\PayStarted('Wechat', 'Scan', $endpoint, $payload));
 
-         return $this->preOrder($payload);
 
-     }
 
-     /**
 
-      * Get trade type config.
 
-      *
 
-      * @author yansongda <me@yansongda.cn>
 
-      */
 
-     protected function getTradeType(): string
 
-     {
 
-         return 'NATIVE';
 
-     }
 
- }
 
 
  |