You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.5 KiB
PHP
53 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Org\QzlPay;
|
|
|
|
use Org\QzlPay\Request\H5PayRequest;
|
|
use Org\QzlPay\Request\WxH5PayRequest;
|
|
|
|
class Api
|
|
{
|
|
public const CHANNEL_WX_H5 = 'wx_h5';
|
|
public const CHANNEL_ALI_H5 = 'ali_h5';
|
|
|
|
public static function paySubmit($orderNo, $amount, $channel, $body, $extra) {
|
|
$params = [
|
|
'channel' => $channel,
|
|
'body' => $body,
|
|
'mchOrderNo' => $orderNo,
|
|
'amount' => $amount,
|
|
'currency' => 'CNY',
|
|
'timePaid' => date('YmdHis'),
|
|
'timeExpire' => date('YmdHis', time() + 15*60),
|
|
'remark' => '',
|
|
'extra' => $extra,
|
|
];
|
|
return self::request('cs.pay.submit', $params);
|
|
}
|
|
|
|
public static function queryOrder($orderNo = '', $cpOrderNo = '') {
|
|
$params = [
|
|
'mchOrderNo' => $orderNo,
|
|
'cpOrderNo' => $cpOrderNo,
|
|
];
|
|
return self::request('cs.order.query', $params);
|
|
}
|
|
|
|
protected static function getCommonParams($apiName) {
|
|
return [
|
|
'tradeType' => $apiName,
|
|
'version' => '2.0',
|
|
'mchNo' => Config::get('mchNo'),
|
|
];
|
|
}
|
|
|
|
protected static function request($apiName, $params) {
|
|
$params = array_merge(self::getCommonParams($apiName), $params);
|
|
$params[Signer::SIGN_NAME] = Signer::sign($params, Config::get('paySecret'));
|
|
return Client::request(self::getUrl(), $params);
|
|
}
|
|
|
|
protected static function getUrl() {
|
|
return Config::get('baseUrl') . '/gateway/api/trade';
|
|
}
|
|
} |