- 官方文档地址
https://pay.weixin.qq.com/wiki/doc/api/download/mczyscsyl.pdf
- 沙箱签名处理
- 方式1
微信支付接口签名校验工具 地址:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1
根据文档将参数放进去进行生成签名
获取沙箱签名
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "<xml>\n\t<mch_id>11111111</mch_id>\n\t<nonce_str>12312312312312312321213</nonce_str>\n\t<sign>12312312312312312321213</sign>\n</xml>",
CURLOPT_HTTPHEADER => array(
"Content-Type:application/xml"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
返回示例:
<xml>
<return_code>
<![CDATA[SUCCESS]]>
</return_code>
<return_msg>
<![CDATA[ok]]>
</return_msg>
<sandbox_signkey>
<![CDATA[8d8d2141c5a85d36eb2b470a84b30c78]]>
</sandbox_signkey>
</xml>
提取沙箱key
2. 方式2
根据官方提供的插件 在postman中进行获取沙箱key
https://github.com/wechatpay-apiv3/wechatpay-postman-script
- 进行api请求开通
我选择的模式是3、4、5 其实都不要紧 125 也能处理
根据3的提示 是需要扫码 🔫 进行操作的 由于没有 可直接采用api的形式进行调用 首选需要一个openid 这个获取方式我就不说了 另外我要强调的是3中存在的步骤 首先需要下单 请求微信的下单api 不要被其中的5.51 5.52 迷惑了 只要用5.52就行了 然后下单完成之后 再请求查询api 然后在申请页面进行刷新 查看状态 3里面的操作只有全部完成 才会显示出该操作已完成
4的话和3类似 多了两步 下单、查询、退款、退款查询 主要curl的请求存在两种 如果失败的话 可以尝试使用https的请求进行处理 另外一种问题就是 curl里面的CURLOPT_HTTPHEADER 要采用xml的 如果不行 删除进行请求 然后在恢复进行二次请求 别问我为什么 我不知道 另外一种情况就是下单金额和退款金额 如果存在退款查询失败的话 就重复4里面的四个操作 金额由5.51改为5.52 反之也对
5的问题就很简单了 请求下载 但是也会出现false的情况 尽量多试几次 然后等会在刷新申请页面进行查看