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就可以了。思路大概就是这样,有什么问题欢迎留言,喜欢我的文章记得关注我哦!



目录
相关文章
|
27天前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
14天前
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
技术小白如何利用DeepSeek半小时开发微信小程序?
|
7天前
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
49 11
|
1月前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
2964 15
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
1月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
406 12
|
22天前
|
JSON 缓存 小程序
微信小程序组件封装与复用:提升开发效率
本文深入探讨了微信小程序的组件封装与复用,涵盖组件的意义、创建步骤、属性与事件处理,并通过自定义弹窗组件的案例详细说明。组件封装能提高代码复用性、开发效率和可维护性,确保UI一致性。掌握这些技能有助于构建更高质量的小程序。
|
4月前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
186 62
|
4月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
340 45
|
4月前
|
程序员 API 数据库
Django/Flask深度揭秘:揭秘那些让程序员爱不释手的神奇功能!
在Web开发领域,Django与Flask凭借其独特魅力和强大功能深受程序员喜爱。Django作为全能型框架,以其ORM、模板引擎和丰富的内置功能著称;Flask则以轻量级、灵活的路由系统和强大的扩展生态见长。两者各具特色,为开发者提供了高效、灵活的开发工具。
61 4
|
4月前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
145 2

热门文章

最新文章