python3 wechatpy微信支付的项目实践
作者:想学废更多东西的猿 发布时间:2023-08-29 14:13:36
标签:python3,wechatpy,微信支付
记录一下微信支付整个流程
1.公众号申请及配置流程
使用微信支付的前提是必须要有公众号。 申请链接: 微信公众号申请.记得选择服务号,根据操作提示完成资料填写
配置公众号参数(JS接口设置,ip白名单设置,关联商户,微信支付申请,获取开发者ID(AppID),开发者密码(AppSecret),商户号id,商户号秘钥,证书和证书秘钥)
JS接口设置:由于最终是前端调起JSAPI支付,所以得配置下前端域名。
2.ip白名单设置,获取开发者ID(AppID),开发者密码(AppSecret)都是在同一个页面,白名单添加获取access_token的服务器ip地址就行
3.关联商户
完成流程后下面就会有已关联商户的信息,获取到商户号id,商户号秘钥,秘钥点查看进去设置,并且绑定appi
设置证书和秘钥
设置网址
2.python wechatpy操作
wechatpy 官方文档
安装 wechatpy
pip install wechatpy
from wechatpy.pay import WeChatPay
#微信官网支付参数配置
#公众号参数配置
appid = 'appid'
secret = 'secret'
#商户ID
mch_id = 'mch_id'
#商户号密钥
key = 'key'
notify_url = 'notify_url'
#实例化微信支付sdk
wechatObj = WeChatPay(appid = appid, api_key = key , mch_id = mch_id,mch_cert = mch_cert ,mch_key = mch_key)
#简单实例几个例子
#创建统一订单
createResult = wechatObj.order.create(
trade_type = 'JSAPI', notify_url = notify_url , total_fee = total_fee ,body = body,
user_id = user_id ,out_trade_no = out_trade_no
)
#订单退款
refundResult = wechatpay.refund.apply(
total_fee = total_fee , refund_fee = refund_fee , out_refund_no = out_refund_no ,out_trade_no = out_trade_no
)
更多API请看文档使用,差不多都是这样用的了,不能本地测试,只能线上服务器测试才行,这一点比较麻烦~
来源:https://blog.csdn.net/zscccccc/article/details/123891578


猜你喜欢
- mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法。python操
- 如下:import pandas as pddf = pd.DataFrame({'Country':['China
- 使用本文提供的JavaScript脚本,配合Dreamweaver的层和行为的运用,可以在页面中显示可拖动的精美月历。具体制作步骤如下:1、
- 一、缺失值的处理方法由于各种各样的原因,真实世界中的许多数据集都包含缺失数据,这些数据经常被编码成空格、nans或者是其他的占位符。但是这样
- 本文是 《用 Golang 实现一个 Redis》系列文章第二篇,本文将分别介绍Redis 通信协议 以及 协议解析器 的实现,若您对协议有
- 这是Pygame zero 最全集合安装Windows系统:按下win+r,输入pip install pyzeropip install
- 本文实例讲述了Python基于checksum计算文件是否相同的方法。分享给大家供大家参考。具体如下:假设有2个二进制文件(0.bin, 1
- 问题一:会报错的写法: GRANT ALL PRIVILEGES ON *.* ‘root'@'%
- 我听说 Hooks 最近很火。讽刺的是,我想用一些关于 class 组件的有趣故事来开始这篇文章。你觉得如何?本文中这些坑对于你正常使用 R
- 常用指令agent指令-bind=0.0.0.0 指定consul所在机器的ip地址-http-port 指定web接口服务端口-clien
- 情况1:Go语言中,若在子go程中创建一个新 go程,子go程释放(销毁),新创建的go程不会随着子go程的销毁而销毁。原因:go程共享堆,
- <style> *{position:absolute;} #panel *{border:1px so
- 1、filter_uniquefrom collections import Counterdef filter_unique(lst):
- 优先级两者放置相同条件,之所以可能会导致结果集不同,就是因为优先级。on的优先级是高于where的。首先明确两个概念:LEFT JOIN 关
- 如下所示:screen.widthscreen.heightscreen.availHeight //获取去除状态栏后的屏幕高度screen
- PyCharm 的官方网站地址是:https://www.jetbrains.com/pycharm/01. 恢复 PyCharm 的初始设
- 一、简介Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包
- 1.由于设置了slave的配置信息,mysql在数据库data目录下生成master.info,所以如有要修改相关slave的配置要先删除该
- 最近在看《深度学习:基于Keras的Python实践(魏贞原)》这本书,书中8.3创建了一个Scikit-Learn的Pipeline,首先
- 本文是OpenCV图像视觉入门之路的第11篇文章,本文详细的在图像形态学进行了图像处理,例如:腐蚀操作、膨胀操作、开闭运算、梯度运算、Top