www.gusucode.com > CIM PHP城市信息聚合(采集)系统 v0.0.5源码程序 > code/vendor/yansongda/pay/src/Gateways/Alipay/TransferGateway.php
<?php namespace Yansongda\Pay\Gateways\Alipay; use Yansongda\Pay\Contracts\GatewayInterface; use Yansongda\Pay\Log; use Yansongda\Supports\Collection; use Yansongda\Supports\Config; class TransferGateway implements GatewayInterface { /** * Config. * * @var Config */ protected $config; /** * Bootstrap. * * @author yansongda <me@yansongda.cn> * * @param Config $config */ public function __construct(Config $config) { $this->config = $config; } /** * Pay an order. * * @author yansongda <me@yansongda.cn> * * @param string $endpoint * @param array $payload * * @return Collection */ public function pay($endpoint, array $payload): Collection { $payload['method'] = $this->getMethod(); $payload['biz_content'] = json_encode(array_merge( json_decode($payload['biz_content'], true), ['product_code' => $this->getProductCode()] )); $payload['sign'] = Support::generateSign($payload, $this->config->get('private_key')); Log::debug('Paying A Transfer Order:', [$endpoint, $payload]); return Support::requestApi($payload, $this->config->get('ali_public_key')); } /** * Get method config. * * @author yansongda <me@yansongda.cn> * * @return string */ protected function getMethod(): string { return 'alipay.fund.trans.toaccount.transfer'; } /** * Get productCode config. * * @author yansongda <me@yansongda.cn> * * @return string */ protected function getProductCode(): string { return ''; } }