开发者社区> code_sky> 正文

django 开发微信退款功能

简介:         最近一直在加班做项目,好久没有更新文章了,这段时间也遇到了不少问题,今天要分享的主要是django开发微信退款功能。做过微信支付开发的人都知道,微信支付开发文档里边很多都是基于java、php、.net等的demo,很少有python,所以在开发的时候经常遇坑。
+关注继续查看

        最近一直在加班做项目,好久没有更新文章了,这段时间也遇到了不少问题,今天要分享的主要是django开发微信退款功能。做过微信支付开发的人都知道,微信支付开发文档里边很多都是基于java、php、.net等的demo,很少有python,所以在开发的时候经常遇坑。django微信支付的话网上也有很多博客写了,但是唯独有微信退款,少之又少,甚至没有。因为微信退款需要证书的双向认证,这个被坑得一匹,网上搜出来大多数都是教怎么绕过https证书验证,当然也有教怎么配置,因为我看了微信文档说除了php以外,其它均用p12这个文件(◆ apiclient_cert.p12是商户证书文件,除PHP外的开发均使用此证书文件。)害我一直用p12这个在弄结果一直认证不了,搞了两天,后来连猜带想的做出来了,其实很简单,就是证书的问题,接下来开始实现。

一、准备环境: 1.django2.0及以上项目;2.requests网络请求模块; 3.在微信支付平台下载证书


img_a589c28dc9e12e7db95ae613e50959d3.png


下载下来后有有这几个问题,在这里我们用的只有(apiclient_cert.pem和apiclient_key.pem)这两个文件,我们将这些文件拷贝到项目目录中


img_118cb863bfd8ebf0e7f8e327c7689c82.png




效果如下:


img_edfc15ec836e5e1196c8bc2131eedf55.png



二、开发微信退款

1.在app项目的views中写一个函数并配置路由,保证能够访问这个函数,运行


img_4ef4f3b0dc673dc5c944f22be0238482.png

2.运行效果:保证能正常运行
img_32cd90bb1387de1b05cededa7e4cc8d7.png










3.配置微信退款请求接口证书:这里说明一下证书路径即是你证书所在目录,根据自己的目录来配置,能访问到证书文件就行,settings我用的是django自带的那个settings里面有个BASE_DIR这个就是项目的根目录,配置好了之后,在resquests中加上cert这个参数就可以了,这里需要注意的是顺序不能放错了,key文件是放在后面的,配置好了之后在次运行就返回200了,说明证书验证就ok了,接下来就是配置退款请求参数解析请求结果就可以了。


img_41df6e92a4f0b2f0daddc6b843320721.png


运行效果:

img_6695dd5e1e7950207bff7b63dea5c674.png


4. 微信退款参数配置(微信支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_4&index=6)


img_90300cd7121b5cc4d7c2cd484a3e7101.png


配置好之后就可以刷新就可以看返回结果了

img_0b2fd9fc0c739a106f846f63d589c776.png

return_code 为SUCCESS就表示成功了,这里我没有配置参数所以报错了。

三、总结

自此django开发微信退款功能就基本完成了,如果有问题基本就是参数签名可能会出问题了,至少证书的双向验证我们是ok了的,当然还有结果需要处理,解析返回的xml就可以了。思路大概就是这样,有什么问题欢迎留言,喜欢我的文章记得关注我哦!



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
用云开发搭建的微信答题小程序v1.0
用云开发搭建的微信答题小程序v1.0
114 0
unicloud云函数开发微信客服消息自动回复图片消息(完整步骤)
unicloud云函数开发微信客服消息自动回复图片消息(完整步骤)
176 0
微信点餐系统的开发与实现
   随着互联网技术逐渐的深入到生活,人们的生活消费习惯,已经发生很大的变化。就餐厅用餐而言,互联网技术和移动互联网技术的应用也己相关普及,比如早几年前就出现的餐厅点餐系统,就通过信息化的技术手段代替原来纸质菜单点餐的传统方式。这种方式一是可以方便顾客实现点餐叫号,二是方便商家进行人单合一的统一管理,减少了报单出错率,提升了用户的体验,所以得以大面积的应用和普及。        而移动互联网的出现,让智能手机的赋能更大广泛,腾讯微信适时推出微信小程序,使得智能手机的用户可以通过微信进行相应的信息化管理和参与,比如目前大面积应用的小程序商城,就将商业的业态从传统的PC互联网直接植入手机移动互
93 0
微信Java开发工具包的使用
之前我在《Java调用微信登录以及eclipse远程调试》一文中说到了Java程序怎么调用微信登录,不过那篇文章中使用的是手工方式,本文将介绍如何使用第三方SDK(binarywang)进行微信网页授权以及获取微信用户信息。
285 0
【EasyWechat】laravel开发微信授权功能
【EasyWechat】laravel开发微信授权功能
411 0
SAP Cloud for Customer的微信集成原型开发完毕后的效果示意图
SAP Cloud for Customer的微信集成原型开发完毕后的效果示意图
44 0
微信公众平台开发(5)--验证消息的确来自微信服务器
本文目录 1. 前言 2. 构建项目 2.1 构建SpringBoot项目 2.2 编写配置文件 2.3 编写启动类 3. 验证消息来自微信 3.1 获取公众号参数 3.2 开发公众平台配置类 3.3 验证消息方法的调用 4. 小结
324 0
微信公众平台开发(2)--微信认证流程图文详解
本文目录 1. 微信认证的作用 2. 登录 3. 开始认证 4. 认证流程 4.1 准备资料 4.2 同意协议 4.3 填写资料 4.4 确认名称 4.5 填写发票 4.6 支付费用 4.7 打款验证 5. 其他工作
69 0
如何开发创建微信、支付宝、百度等多合一小程序?
那么要是能有一个平台,能一下子生成多个平台的小程序就好了,那么小编告诉你,阿里云已经帮你实现了。
8971 0
+关注
code_sky
python开发工程师
文章
问答
文章排行榜
最热
最新
相关电子书
更多
微信PaxosStore简介
立即下载
微信移动客户端数据存储优化实践
立即下载
微信广告引擎与播放节奏算法实践
立即下载