欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

支付宝如何查询订单支付情况?

程序员文章站 2022-05-12 12:16:14
...

支付宝订单查询文档

支付宝如何查询订单支付情况?

根据文档示例,运行下面PHP 代码

$aop                        = new AopClient ();
$aop->appId                 = C('alipay.app_id');
$aop->rsaPrivateKeyFilePath = C('alipay.private_key');//RSA私钥
$aop->alipayPublicKey       = C('alipay.alipay_public_key');//支付宝公钥
$request                    = new AlipayTradeQueryRequest ();
$paramArray                 = array();
$paramArray['out_trade_no'] ='16031438100034854059';
$paramArray['trade_no']     ='2016031421007864720242676619';
$request->biz_content       =json_encode($paramArray);
$result                     = $aop->execute ($request, NULL );
var_dump($result);

返回下面结果

{
    "code":"40001",
    "msg":"Missing Required Arguments",
    "sub_code":"isv.missing-signature-key",
    "sub_msg":"缺少签名配置"
}

支付宝应用场景是:APP支付,支付流程已经没问题

回复内容:

支付宝订单查询文档

支付宝如何查询订单支付情况?

根据文档示例,运行下面PHP 代码

$aop                        = new AopClient ();
$aop->appId                 = C('alipay.app_id');
$aop->rsaPrivateKeyFilePath = C('alipay.private_key');//RSA私钥
$aop->alipayPublicKey       = C('alipay.alipay_public_key');//支付宝公钥
$request                    = new AlipayTradeQueryRequest ();
$paramArray                 = array();
$paramArray['out_trade_no'] ='16031438100034854059';
$paramArray['trade_no']     ='2016031421007864720242676619';
$request->biz_content       =json_encode($paramArray);
$result                     = $aop->execute ($request, NULL );
var_dump($result);

返回下面结果

{
    "code":"40001",
    "msg":"Missing Required Arguments",
    "sub_code":"isv.missing-signature-key",
    "sub_msg":"缺少签名配置"
}

支付宝应用场景是:APP支付,支付流程已经没问题

查询订单详情:

$parameter = array(
    'service'           => 'single_trade_query',
    'partner'           => '2088101122136241',//合作者ID
    '_input_charset'    => strtolower('utf-8'),
    'out_trade_no'      => '1-1441531218',//商户订单号,唯一
);
ksort($parameter);
reset($parameter);
 
$param = '';
$sign  = '';
 
foreach ($parameter AS $key => $val)
{
    $param .= "$key=" .urlencode($val). "&";
    $sign  .= "$key=$val&";
}
     
$param = substr($param, 0, -1);
$sign  = substr($sign, 0, -1). '你的支付宝key';
$url = 'https://mapi.alipay.com/gateway.do?'.$param. '&sign='.md5($sign).'&sign_type=MD5';
echo file_get_contents($url);

key在商家服务里面查看:
支付宝如何查询订单支付情况?

支付宝没有提供类似于微信支付中查询订单的情况,只能根据支付宝异步通知客户端服务器和支付宝同步通知给app 客户单的情况进行确定,其中同步通知的校验也要放在服务端,若同步校验成功,也可认为成功,当然最好是以异步通知的结果为准,然后在支付宝开放平台上的支持中心也是可以提问的额,而且回复比较及时(一般半天左右)

相关标签: php 支付宝