extend/alipay/Query.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace alipay;
use think\Loader;
Loader::import('alipay.Config');
Loader::import('alipay.pay.service.AlipayTradeService');
loader::import('alipay.pay.buildermodel.AlipayTradeQueryContentBuilder');
/**
* 统一收单线下交易查询接口
*
* 用法:
* 调用 \alipay\Query::exec($query_no) 即可
* $query_no 查询单号
* $query_type 查询类型,不填则默认商品订单号out_trade_no
*/
class Query
{
// 商品订单号(out_trade_no) or 支付宝交易号(trade_no) 二选一
// const QUERY_TYPE = 'trade_no';
public static function exec($query_no,$query_type="out_trade_no")
{
// 1.设置请求参数
$RequestBuilder = new \AlipayTradeQueryContentBuilder();
if ($query_type == 'trade_no') {
$RequestBuilder->setTradeNo(trim($query_no));
} else {
$RequestBuilder->setOutTradeNo(trim($query_no));
}
// 2.获取配置
// $config = config('alipay');
$config_obj = new \Config();
$config= $config_obj->get_config();
$aop = new \AlipayTradeService($config);
// 3.发起请求
$response = $aop->Query($RequestBuilder);
// 4.转为数组格式返回
$response = json_decode(json_encode($response), true);
// 5.进行结果处理
if (!empty($response['code']) && $response['code'] != '10000') {
self::processError('交易查询接口出错, 错误码: '.$response['code'].' 错误原因: '.$response['sub_msg']);
}
return $response;
}
/**
* 统一错误处理接口
* @param string $msg 错误描述
*/
private static function processError($msg)
{
throw new \think\Exception($msg);
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。