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

<?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';
}
}