1链接 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
2首先 知道接口链接这个应该都没有问题 URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder
3每一个参数 说明
(1) appid这个上微信公众号 可以获取 在接口权限 最上边AppID

(2)mch_id 微信支付分配的商户号这个 需要你有一个 商户号 然后商户号和服务号关联一下 (在微信公众号微信支付) 我当初 就被这个坑了两天 公司两个 商户号 所以加密的商户key值输入错误 直接导致 签名的商户key值错误 导致sign 错误 所以一直是签名错误
(3)nonce_str 随机数 一般都没啥 问题 不能超过 32位的就可以
(4)这个应该是 百度反映出 微信支付 最坑的地方了
. 首先点击 红框处

. 进入之后 好好读读 签名法则 有一个 ASCII 码是什么鬼 其实 就是告诉你 按照 abcdefg 字母从小 到大 排序就可以了 这里 不能太纠结

. 还有排序之后的 需要在 最后 加上商户 KEY 值 再MD5 加密 最后 把 MD5后的 32位数 变成大写 就是你要的 sign(签名)
. 好友很多不知道 商户key 是哪里来的 这个就是地址 是自己手动设置的
这里的key是微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置
. 还有说body 出现乱码 不过这个我没有 遇到过 你可是测试的时候 就不要填写 中文
. 参数名你不要 太 自信了 要赋值 粘贴 因为多一个 - 大小写 都会出现签名错误
最稳妥的办法是 点击下方 红框 进入之后 把你自己的 签名和 官方给的 签名工具结果 对比一下 如果对了 也并不是 就是 签名对了 首先 你要保证(appid mch_id 商户key) 这几个参数是 对的 这个就是我 (2)中说的 签名一直错误的原因

这个是 php 的代码 $data 是 $data[''] 格式的数组 最后获取的就是 想要的 sign

(5)out_trade_no 这个是订单 订单是自己定的 所以 我把 用户id 类型的type 也一同放在里边 到时候 就可以 直接获取到 (好像没有 多余的 参数 存放多余的参数)
(6)终端IP 这个是自己的随便定的 我现在 就是写死的 当然 最后是 获取 用户的
(7)notify_url 最后说一下这个 回调 地址吧 首先你要有个服务器 因为 微信回调地址 不可能会掉到 本地 可能有其他办法我不知道
最后把 获取到的 参数 变成 xm
$data就是 所有的参数

以上步骤就可以与 微信成功交互了
会在你的 回调地址 接受到 发送给你的数据 接受之后 通过

转变成正常的数组 你就可以 正常使用的数组了
wxpay.rar
( 2.14 KB 下载:201 次 )
最佳答案