调用微信支付接口,返回的结果显示invalid openid,什么原因。求助大神

秋忆咖啡 发布于 2015/07/21 10:35
阅读 7K+
收藏 0

显示的错误信息如下:

<xml>

<return_code><![CDATA[FAIL]]></return_code>

<return_msg><![CDATA[openid is invalid]]></return_msg>

</xml>

加载中
0
后海
后海
不合法,无效
0
Jim-BeeCloud
Jim-BeeCloud

你把你的open ID打印出来?是否是因为没拿到open ID,或者授权失败?

另外欢迎使用BeeCloud开源的微信支付SDK,比如Java版本的,完全开源 https://github.com/beecloud/beecloud-java

Jim-BeeCloud
Jim-BeeCloud
回复 @hantsy : 如果有一个RFC,或者一个什么open protocol,腾讯,阿里,银联都遵循这个protocol,世界会美好很多,可惜就像Microsoft什么都爱自己做一套一样,大家都有自己的标准
Jim-BeeCloud
Jim-BeeCloud
回复 @hantsy : 这一点我完全同意。我们的公共参数就是做的这件事情。可是难点在于不同支付渠道有不同的参数,比如支付宝内嵌二维码支付(ALI_QRCODE)的选填参数qr_pay_mode(String 二维码类型0,1,3),所有其他的渠道都没这个参数,我们只能单独列出,作为该渠道特别的参数。
hantsy
hantsy
如果想集成微信,支付宝等,应该提供给最终用户一套通用API,来简化使用。复杂的事情应该由你们来做。 现在我看了一下Java SDK,感觉就是拿微信,支付宝的那些参数transalte过来,又直接传给最终用户。最终用户去做一个支付还要查哪些是支付宝用的参数,哪些是微信的。
Jim-BeeCloud
Jim-BeeCloud
回复 @hantsy : 感谢你的建议,这个地方应该是用驼峰来命名的,我们Java SDK的程序员有些疏忽,我已经open了一个issue来修改这些问题。https://github.com/beecloud/beecloud-java/issues/12
hantsy
hantsy
居然有getCode_url, getErr_detail 这样方法命名。还有那么长的一些参数,,,呵呵。
返回顶部
顶部