微信支付 统一下单的问题

IndigoLove 发布于 2016/03/07 17:06
阅读 4K+
收藏 0

公司需求一个微信支付的东东,我从官网上down了最新的PHP微信支付sdk。

配置好了商户key,appid,secreat,商户号和测试目录以后,进行JSAPI支付测试,即统一下单接口的测试。

代码是这样的:

//②、统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody("好");
// $input->SetAttach("123");
$input->SetOut_trade_no(WxPayConfig::MCHID.date("YmdHis"));
$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
// $input->SetGoods_tag("test");
$input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$order = WxPayApi::unifiedOrder($input);
echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';
printf_info($order);

$order返回错误,提示签名错误,然后我去官网的签名验证工具对比了签名,表示没错,我去检查bug

没发现什么致命错误,换了另一个公众号依然提示签名错误,所以应该还是程序这边的问题。

找了3天都没找到究竟什么原因导致了签名错误,是官方的demo有问题吗?可是我对照了稳当检查了,包括排序,md5后大写,全部都是正确的,依然提示签名错误,只好来请教做过的朋友,给指指路,麻烦了。

加载中
0
IndigoLove
IndigoLove
来人帮忙呀~~
0
阿宅
阿宅
看下需要签名的字段是否与实际签名的字段匹配
0
daixilong930803
daixilong930803
先把字符串打印出来,看是不是对的,再经过md5加密,我之前也出现过签名错误,我的是因为md5方法写的有问题
IndigoLove
IndigoLove
我用的是官方的demo MD5完了之后 再转为大写 没错的样子
0
醉酒
醉酒

统一下单 要提前获取统一下单号,然后根据统一下单号生成订单支付!

如果不明白 可以私信我,或者企鹅:365810157

0
仁江
仁江
微信支付-->开发配置-->支付授权目录配对了没有
IndigoLove
IndigoLove
回复 @仁江 : 是的 我设置了
仁江
仁江
回复 @CodeDrama : 那是不是那个加密的KEY搞错了,那个KEY不是公众号的appsert而是在商户平台设置的
IndigoLove
IndigoLove
应该都还没有到授权目录那一步 就是统一下单都不对
0
IndigoLove
IndigoLove
还有没有人帮助我~~~
0
cyyyyyy
cyyyyyy
如果是字段名称,字段值合法的情况下,并且用微信签名工具生成的签名也没错的话,就是支付秘钥不对!微信支付管理里面,支付秘钥重新生成一次!
0
银粟
银粟
注意MD5加密时的编码问题,中文会出现编码不同的问题
黑鸽
MD5加密中文出错怎么办?
0
lee_v
lee_v

这个几个参数确定配置对了?

IndigoLove
IndigoLove
确定对了 我还测试了另外一个公众号 也报签名错误
0
平安北京
看看相关配置(主要是支付目录,key等)后,再说别的吧。我没用php做过微信支付,把你最终post过去的数据也比对一下
返回顶部
顶部