Python对接微信小程序V3接口进行支付,并使用uwsgi+nginx+django进行https部署

这篇具有很好参考价值的文章主要介绍了Python对接微信小程序V3接口进行支付,并使用uwsgi+nginx+django进行https部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网上找了很多教程,但是很乱很杂,并且教程资源很少且说的详细。这里就记录一下分享给大家

共分为以下几个步骤:

目录

一、开始前准备信息

二、使用前端code获取用户的openid

三、对接小程序v3接口下单

四、小程序支付的回调

五、安装并启动uwsgi

六、安装并启动nginx

七、配置nginx的nginx.conf文件,让部署的项目以https访问

八、后端代码:

九、常见问题及小技巧


代码将在最后一起贴出,先开始流程步骤,弄明白流程,代码读起来自然简单

下面一步步的开始:

一、开始前准备信息
  1. 需要在注册小程序和在微信支付平台开始微信支付,并将在小程序后台和商户关联绑定。

  2. 接入前准备,直接参考微信支付官方文档:接入前准备

 3. 操作完成之后获取到appid,appsecret,pay_key,serial_num

appid:小程序里获取的appid

appsecret:小程序里获取的appsecret

pay_key:API密钥。需要登录微信商户平台,进入【账户中心 > API安全 】目录,设置APIV3密钥。这个密钥确保32位,自定义设置

serial_num:API证书序列号。登录微信商户平台,进入【账户中心 > API安全 】目录,申请API证书,完成申请后会有API证书序列号,完成微信支付后台配置证书后并下载该证书文件,有一个apiclient_key.pem密钥文件,之后对接支付会用到。

二、使用前端code获取用户的openid

参考官方文档: 小程序登录流程

  1. 前端使用wx.login()获取临时登录凭证code,传给后端,后端接收code并请求auth.code2Session接口获取openid

三、对接小程序v3接口下单

参考官方文档: 开发指引、v3接口JSAPI下单

  1. 调用JSAPI下单接口,传递接口必要参数,获取prepay_id,并再次加密验证签名,将timeStamp,nonceStr,package,signType,paySign参数交由前端并由前端拉起支付页面。

四、小程序支付的回调
  1. 支付完成之后,微信支付会自动调用在下单配置的回调地址(这个地址必须是https的),解密并验证应答签名中的序列号是否和平台证书序列号一致,一致时就可以做项目相关的操作,比如修改订单支付状态

五、安装并启动uwsgi
  1. 直接在服务器上使用pip3 install -i https://pypi.douban.com/simple uwsgi 快速安装uwsgi,并将django的项目代码上传至服务器,创建一个uwsgi.ini文件,添加以下内容:

    
    socket=0.0.0.0:8000  # 使用https方式,这里地址必须与nginx配置里的uwsgi_pass一致
    chdir = /home/foobar/myproject/  # django项目的根目录路径
    wsgi-file = myproject/wsgi.py  # django项目下的wsgi.py文件,也可以写成绝对路径
    processes = 4  # 进程数
    threads = 2  # 线程数
    pidfile=uwsgi.pid
    daemonize=uwsgi.log 
    master=True
  2. 运行和停止uwsgi

在同uwsgi.ini文件的路径下运行uwsgi --ini uwsgi.ini 运行后会在uwsgi.ini生成uwsgi.pid文件,使用uwsgi --stop uwsgi.pid可停止运行。如在停止时报进程号的错误,可使用ps -ef | grep uwsgi查看uwsgi运行的进程号,复制并替换uwsgi.pid里的进程号后重新运行停止命令即可

六、安装并启动nginx

1,请到nginx官方下载nginx安装包(tar.gz格式),并上传至服务器

使用以下命令解压安装:

sudo tar -xvf nginx-1.13.7.tar.gz

cd nginx-1.13.7

sudo ./configure

sudo make

sudo make install

默认安装到/usr/local/nginx下,需要配置nginx.conf文件(文章来源地址https://www.toymoban.com/news/detail-526714.html

到了这里,关于Python对接微信小程序V3接口进行支付,并使用uwsgi+nginx+django进行https部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】微信小程序V3支付(后台)

    目录         相关官网文档         1.需要的参数         2.引入库         3.用到的工具类         4.支付下单实现         5.支付回调 接入前准备-小程序支付 | 微信支付商户平台文档中心 微信支付-JSAPI下单 获取平台证书列表-文档中心-微信支付商户平

    2024年02月12日
    浏览(36)
  • Java实现微信小程序V3支付

    2024年02月12日
    浏览(40)
  • SpringBoot 整合微信小程序微信支付V3 jsapi (支付、退款)

    最近的一个微信小程序项目里有用到微信支付,网上找的资料都是特别乱,看起来特别懵,结合了好多文章的内容,终于做了出来,可能我的这个博文看起来也是特别乱,但是是可以直接C走简单改一改就可以用的。(支付成功回调,和退款回调因为昨天刚在阿里申请的域名还

    2024年04月25日
    浏览(35)
  • 微信小程序支付-java对接微信

     一共是两个方法: 一个方法后台生成预支付订单,得到预支付交易会话标识prepay_id,传给前端,让前端调起小程序支付; 一个是支付回调 目录 一、生成预支付订单  注意: 二、 支付回调         封装参数向微信发送生成预支付交易单请求,微信会返回一个prepay_id,再将

    2024年02月12日
    浏览(32)
  • springboot实现微信小程序V3微信支付功能

    appId:小程序appid appSecret:小程序的secret mchId:商户号 keyPath:商户私钥路径(apiclient_key.pem) certPath:证书路径(apiclient_cert.pem) platFormPath:平台证书(cert.pem) 注 : 需要通过写程序生成平台证书(见v3Get()方法) apiKey3:apiv3密钥 serialnumber:商户证书序列号 notifyUrl:回调地

    2024年02月12日
    浏览(33)
  • 微信小程序对接微信支付详细教程

    小程序 微信支付官方文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_11index=2 https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_8_0.shtml 前提 在进行对接微信支付之前,我们首先需要将以下几点准备好: 申请APPID 申请商户号 小程序开通微信支付,绑定已经申请好的商户号。

    2024年02月09日
    浏览(31)
  • springboot整合IJPay实现微信支付-V3---微信小程序

    微信支付适用于许多场合,如小程序、网页支付、但微信支付相对于其他支付方式略显麻烦,我们使用IJpay框架进行整合 JPay 让支付触手可及, 封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。不依赖任何第三方 mvc 框架,仅仅作为工具使用简单

    2024年02月02日
    浏览(51)
  • Java实现微信小程序V3支付 (完整demo)

    2024年02月07日
    浏览(25)
  • SpringBoot对接微信小程序支付功能开发(二,支付回调功能)

    接着上一篇: SpringBoot对接微信小程序支付功能开发(一,下单功能) 在上一篇下单功能中我们有传支付结果回调地址。 下面是回调接口实现 根据官网给的参数进行业务处理 这就完成了,微信支付回调你的地址,并且把支付的信息传进来,剩下就要根据自己业务进行操作。

    2024年02月11日
    浏览(40)
  • 微信小程序对接微信支付所遇问题合集

    1. 后端使用微信官方sdk会简单很多,可以看看在第五个大标题上。 2. 相关文档汇总:         1、WxJava - MiniApp Java SDK 4.6.0 API         2、wechatpay-java/README.md at main · wechatpay-apiv3/wechatpay-java · GitHub         3、网络 | 微信开放文档         4、开发指引 - JSAPI支付 | 微信支付商

    2024年04月25日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包