<?php namespace Yansongda\Pay\Gateways\Alipay; use Yansongda\Pay\Contracts\GatewayInterface; use Yansongda\Pay\Exceptions\InvalidArgumentException; use Yansongda\Supports\Collection; abstract class Gateway implements GatewayInterface { /** * Mode. * * @var string */ protected $mode; /** * Bootstrap. * * @author yansongda <me@yansongda.cn> * * @throws InvalidArgumentException */ public function __construct() { $this->mode = Support::getInstance()->mode; } /** * Pay an order. * * @author yansongda <me@yansongda.cn> * * @param string $endpoint * * @return Collection */ abstract public function pay($endpoint, array $payload); }