$bizContent * @param array $extra * @return array */ public function refund(array $bizContent, array $extra = []): array { return $this->request('alipay.trade.refund', $bizContent, $extra); } /** * 生成电脑网站支付接口 `alipay.trade.page.pay` 跳转地址。 * * @param array $bizContent */ public function page(array $bizContent, array $extra = []): string { $params = $this->buildGatewayParams('alipay.trade.page.pay', $bizContent, $extra); return $this->config->gateway . '?' . http_build_query($params); } /** * 通用支付调用入口;特殊操作名用于电脑网站支付和退款快捷调用。 * * @param array $params * @param array $options * @return array */ public function call(string $uriOrPath, array $params = [], string $httpMethod = 'POST', array $options = []): array { $apiMethod = trim($uriOrPath); if ($apiMethod === 'page') { return ['url' => $this->page($params, $options)]; } if ($apiMethod === 'refund') { return $this->refund($params, $options); } return $this->request($apiMethod, $params, $options); } /** * 按 POST 语义调用支付宝支付接口。 * * @param array $params * @param array $options * @return array */ public function post(string $uriOrPath, array $params = [], array $options = []): array { return $this->call($uriOrPath, $params, 'POST', $options); } /** * 按 GET 语义调用支付宝支付接口。 * * @param array $params * @param array $options * @return array */ public function get(string $uriOrPath, array $params = [], array $options = []): array { return $this->call($uriOrPath, $params, 'GET', $options); } }