005-移动支付03-微信支付-服务器开发注意事项

上一篇:004-移动支付02-微信支付-服务器开发

一、服务器订单签名(第一次签名)

注意事项一:定单号产生,由服务器产生
订单号产生由服务器产生,不应由客户端产生。

注意事项二:生产订单的算法(采用微信提供的算法)
算法写在服务器,且遵循微信提供的方式,不应写在客户端。写在客户端不好维护且不安全。

注意事项三:生成的随机字符串(采用微信API提供DEMO算法)
生成的随机字符串也应由服务器生成。

注意事项四:商品描述格式(有规范和格式)

注意事项五:商品价格单位(分)
价格的单位是分, 不要误以为是元哦。

二、服务器调用统一下单接口,获取prepay_id

API地址:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1

注意事项一:商户秘钥必须参与第一次签名

<b>注意事项二:签名的参数按照顺序进行签名(微信开发文档参数列表进行排序)(重点!)
签名有严格顺序要求,需严格按照文档及要求。否则签名不过。</b>服务器处理顺序,客户端不用处理。

注意事项三:拼接基本参数,秘钥参数排序在最后

注意事项四:请求参数时候,格式必须是XML格式(微信服务器要求)
原始数据格式是Key-Value格式,需转成XML格式后,然后访问微信统一下单接口

注意事项五:拼接XML参数,也需要严格排序

注意事项六:签名信息放在最后拼接进XML文件

注意事项七:return_code和result_code返回都必须是SUCCESS,表示统一下单接口成功

三、进行二次签名

注意事项一:支付签名信息随机字符串,必须采用微信返回的随机字符串

注意事项二:二次签名参数名称必须小写

注意事项三:二次签名,秘钥放在最后

注意事项四:返回客户端数据,必须是二次签名(不能是一次签名,也就是说必须是支付签名不能是订单签名)

四、总结

签名参数放在最后且前面参数有严格顺序要求,一定按照文档严格写,切忌自己想当然就行。
下一篇:006-移动支付04-微信支付-iOS客户端开发

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,264评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,065评论 25 709
  • 银联支付,支付宝支付,微信支付的三大总结,之前也有写过两篇。 微信支付,支付宝支付,银联支付——三大支付总结: h...
    LucasAdam阅读 10,402评论 2 23
  • 我等你 ,在日光和灯火之暮 手握残笔 阳铄 ,写一行如火诗 灯起,画一弯七彩虹 我等你 在西风 和 秋雨中 执一把...
    血兰朵阅读 3,068评论 0 1
  • 父亲,在我的记忆里是那么遥远而又那么清晰。 三十年前的春天,十来岁的我,清晰地记得姑姑含着泪连夜在给父亲缝制寿衣,...
    姝姝妮的童话阅读 2,615评论 0 0

友情链接更多精彩内容