123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <?php
- namespace core\pay;
- use core\loader\Storage;
- use GuzzleHttp\Psr7\Response;
- use Psr\Http\Message\MessageInterface;
- use Yansongda\Supports\Collection;
- abstract class BasePay extends Storage
- {
- protected $config;
-
- protected function initialize(array $config = [])
- {
- }
-
- abstract protected function web(array $params);
-
- abstract protected function wap(array $params);
-
- abstract protected function app(array $params);
-
- abstract protected function mini(array $params);
-
- abstract protected function pos(array $params);
-
- abstract protected function scan(array $params);
-
- abstract protected function transfer(array $params);
-
- abstract protected function mp(array $params);
-
- abstract protected function close(string $out_trade_no);
-
- abstract protected function refund(array $params);
-
- abstract protected function notify(string $action, callable $callback);
-
- abstract protected function getOrder(array $params);
-
- abstract protected function getRefund(string $out_trade_no, ?string $refund_no);
-
- abstract protected function getTransfer(string $transfer_no, $out_transfer_no = '');
-
- abstract protected function transferCancel(array $params);
-
- protected function payConfig(array $config, string $type)
- {
- return array_merge(
- [
- 'logger' => [
- 'enable' => true,
- 'file' => root_path('runtime') . 'paylog' . DIRECTORY_SEPARATOR . date('Ym') . DIRECTORY_SEPARATOR . date('d') . '.log',
- 'level' => env('app_debug') ? 'debug' : 'info',
- 'type' => 'single',
- 'max_file' => 30,
- ],
- 'http' => [
- 'timeout' => 5.0,
- ]
- ],
- [
- $type => [
- 'default' => $config
- ]
- ],
- ['_force' => true]
- );
- }
- public function returnFormat($param)
- {
- if ($param instanceof MessageInterface || $param instanceof Response) {
- $return_value = $param->getBody()->getContents();
- } else if ($param instanceof Collection) {
- $return_value = $param->toArray();
- } else {
- $return_value = $param;
- }
- return $return_value;
- }
-
- public function getRefundData($our_trade_no, $refund_no, $status, $success_time = 0, $reason = '')
- {
- return [
- 'our_trade_no' => $our_trade_no,
- 'refund_no' => $refund_no,
- 'status' => $status,
- 'success_time' => $success_time,
- 'reason' => $reason
- ];
- }
-
- public function getTransferData($transfer_no, $status, $reason)
- {
- }
- }
|