微信APP支付 C#
来源:互联网 发布:tplink访客网络限速 编辑:程序博客网 时间:2024/04/30 12:29
微信APP支付服务端开发总结(走过的坑,一定要留下痕迹)
更多相关代码在文章结尾
一、配置文件,将appid、mch_id、 key、notify_url、trade_type写在配置文件中或者写在一个专门的类中
二、解析微信服务端返回的数据建议用XDocument
三、API调用
1、统一下单接口处理,这个接口中主要获得prepay_id,并传给客户端,这个接口中有两次签名,可以封装下
其中需要注意的地方 total_fee 的单位是分,也就是没有小数,否则会返回invalid total_fee .(这个可以服务端处理也可以客户端处理,将传过来的参数值变换成单位为分的数额即可)
还有要注意的是签名的Key需要按ASCII码值从小到大排序,这个最好写一个统一的方法生成xml.
2、回调函数,一般微信均会成功回调,我做的项目中因为有拦截,所以没有调取成功,因此在app回调时一直返回签名错误,调试发现transaction_id为空也就是在回调到时候没有返回。
这个接口中主要实现支付成功后的逻辑,要保证安全性,所以要做签名验证、和查询订单来确保程序正常执行了。
3、APP回调接口,主要是支付成功后,app调取这个接口进行主动查询,看是否真的成功,这个接口中需要注意的就是逻辑的处理了,如果查询订单成功,并且财务表查询已经支付,那就返回客户端支付成功;若是查询订单是成功的但是财务表查到的是没有支付,那么就要进行相应的逻辑处理,或者让客户联系客服。建议进行与回调函数中相同的处理。
4、支付的整个代码中一定要及时的记录相应的日志,以便于查找相应的错误。
四、相关代码
2 0
- 微信APP支付 C#
- 支付--微信APP支付
- 微信支付app
- 微信支付app
- 微信APP支付
- app微信支付
- APP微信支付
- app微信支付
- 微信APP支付
- 支付--微信APP
- 微信APP支付
- 微信app支付
- 微信APP支付
- 微信APP支付
- 微信支付C#
- APP微信支付集成
- 微信app支付问题
- 微信APP支付填坑记
- 2-6 静态函数库和动态函数库的建立
- Objective-C截取字符串时emoji表情的处理
- ASP.NET学习路线图
- dkpg命令的用法
- redis集群搭建
- 微信APP支付 C#
- windows 2008 配置本地IP安全策略
- 推荐网站
- Android 内存泄露的检查分析方法
- 谈谈互联网后端基础设施
- MySQL性能优化(总结)
- org.hibernate.StaleStateException: Batch update returned unexpected row count
- MySQL事务隔离级别详解
- WireShark 过滤语法