社区折腾日志:基于python搭建个人微信/支付宝免签支付功能
前言
最近给自己开发的市肥宅中心二次元社区
添加了自助充值肥宅币
功能,也就是充值积分的功能。由于网站是个人无备案,所以对接微信支付比较麻烦,于是就找了第三方免签支付平台来开发该功能。
之前一直觉得给网站开发自助充值功能是非常牛的事情,现在终于是实现了,全程无扣钱,直接到账自己的微信账户。你需要做的只要注册一个第三方平台账户,然后下载监控端app,到你的安装模拟器上保持运行就行。
下面来讲讲如何开发吧~
前期准备
- 注册
gogo支付
平台的账号(官网) - 下载安卓模拟器(这里我用的是雷神模拟器)
前期准备的相关文章可以看这里,官网已经发布了搭建教程了:教程地址。
这里我要说的是用python来搭建这套支付系统,因为我的社区使用python开发的。
开发
这里默认你已经将监控端正常运行在了带有微信的安卓模拟器上,并且添加了收款码。那么就开始吧!
打开pycharm
建立一个flask
工程。
起始的代码是这样的。
from flask import Flaskapp = Flask(__name__)@app.route('/')
def hello_world():return 'Hello World!'if __name__ == '__main__':app.run()
封装基本的支付api操作,由于该api会返回支付页面,所以无需编写支付页面,只需要处理一些简单的业务逻辑即可。
import hashlib
import timeimport requests
from flask import Flask, requestapp = Flask(__name__)MY_TEST_POINT = 0def get_app_id():return "你的app_id"def get_app_secret():return "你的app_secret"def str2bytes(data: str):try:return data.encode("UTF-8")except:return Nonedef md5(data):bdata = str2bytes(data) if isinstance(data, str) else datam = hashlib.md5()m.update(bdata)return m.hexdigest()@app.route("/")
def pay():return f"当前余额:{MY_TEST_POINT},<a href='/pay_api'>点击支付</a>"@app.route("/pay_return")
def pay_return():global MY_TEST_POINTtry:payId = request.args.get("id", None)# 拿到该id可以在数据库中进行相关操作# 比如添加积分什么的MY_TEST_POINT += 10return "支付成功,请返回页面。<a href=\"/pay\">返回页面</a>。"except Exception as err:print(err)return "支付好像出了一点问题,请返回页面。<a href=\"/pay\">返回页面</a>。"@app.route("/pay_notify")
def pay_notify():try:app_id = get_app_id()app_secret = get_app_secret()payId = request.args.get("payId", None)param = request.args.get("param", None)type = request.args.get("type", None)price = request.args.get("price", None)reallyPrice = request.args.get("reallyPrice", None)sign = request.args.get("sign", None)_sign = md5(f"{app_id}{payId}{param}{type}{price}{reallyPrice}{app_secret}")if sign != _sign:return "error_sign"return "success"except Exception as e:print(e)return "error"@app.route("/pay_api", methods=["POST"])
def pay_api():try:type = "1" # 1表示微信支付price = 0.18 # 价格payId = "test-" + str(int(time.time()))app_id = get_app_id()app_secret = get_app_secret()param = "GOTEST"apiUrl = "https://www.gogozhifu.com/shop/api/createOrder"notifyUrl = "http://127.0.0.1:5000/pay_notify"returnUrl = "http://127.0.0.1:5000/pay_return?id=" + payIdsign = md5(f"{app_id}{payId}{param}{type}{price}{app_secret}")req = requests.post(apiUrl, headers={"App-Id": app_id,"App-Secret": app_secret}, json={'payId': payId,'param': param,'type': type,'price': price,'sign': sign,'notifyUrl': notifyUrl,'returnUrl': returnUrl,'isHtml': 1,})return req.textexcept Exception as err:print(err)return "支付好像出了一点问题,请返回页面。<a href=\"/pay\">返回页面</a>。"if __name__ == '__main__':app.run()
运行程序,看看效果
点击支付按钮,可以看到程序跳转到了gogo平台的支付页面。
用自己的微信扫描之后,发现跳转到了支付成功页面,可以看到充值成功了!
然后看自己模拟器的微信,也可以看到余额增加了10有木有!
结语
本文章献给那些想要开发自己网站的支付功能的个人站长,或者有类似需求的人。祝大家早日发财,走向人生巅峰!
声明
版权声明:本文为原创文章,版权归
DepressedBoy
所有,转载请联系博主获得授权。
本文地址:https://blog.4nmb.com//archives/175.html
如果对本文有什么问题或疑问都可以在评论区留言,我看到后会尽量解答。
社区折腾日志:基于python搭建个人微信/支付宝免签支付功能相关推荐
- 个人微信/支付宝免签支付系统源码
支付宝,微信免签支付, 1.不需要企业资质,不需网站认证. 2.个人账户即可收款,无需成为支付宝.微信商家, 3.无需对接第三方平台, 4.无需任何手续费,无需提现,即时收款到支付宝.微信账户, 5. ...
- 基于Python实现的微信小程序校园导航系统 | Python第一课环境篇 | Hellow World 程序 | 不同环境下搭建Python编程环境
一:Hellow World 程序 1.安装Python3 2.运行Python代码片段 Python自带了一个在终端窗口中运行的解释器,让你无需保存并运行整个程序就能尝试运行Python代码片段. ...
- python系统-基于Python搭建Django后台管理系统
一个好的项目数据库管理后台是必须的,今天代码君教大家搭建Django网站后台,当然做网站后台的前提是需要有Python以及Django的开发环境,至于如何搭建这些开发环境,请查看我的上一篇文章 Mac ...
- 用python建云盘_实用的Python(3)超简单!基于Python搭建个人“云盘”
1 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码,而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类似 ...
- python云盘搭建教程_超简单!基于Python搭建个人“云盘”,目前最好用的个人云盘...
超简单!基于Python搭建个人"云盘",目前最好用的个人云盘 1. 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码 ...
- python个人微信支付接口_Python实现微信小程序支付功能
正文 由于最近自己在做小程序的支付,就在这里简单介绍一下讲一下用python做小程序支付这个流程.当然在进行开发之前还是建议读一下具体的流程,清楚支付的过程. 1.支付交互流程 2.获取openid( ...
- 基于python的土壤细菌在kobas库的功能预测代码
以下是一个基于Python的土壤细菌在KOBAS库的功能预测代码.在运行之前,需要先安装相关的Python库,如biopython.pandas.numpy.matplotlib等. # 导入必要的库 ...
- python微信小程序抢购_Python实现微信小程序支付功能!Python确实强的一批!
正文 由于最近自己在做小程序的支付,就在这里简单介绍一下讲一下用python做小程序支付这个流程.当然在进行开发之前还是建议读一下具体的流程,清楚支付的过程. 1.支付交互流程 2.获取openid( ...
- 基于springboot微信小程序支付功能实现
基于springboot微信小程序支付功能实现 简单的封装微信小程序支付功能,支付工具类所依赖的fastjson.lombok.wagegger, 1.添加maven依赖: 版本号可根据自己项目的实际 ...
最新文章
- 3D相机D2C对齐的方法
- 判断子序列不同的子序列两个字符串的删除操作编辑距离
- 科大星云诗社动态20210427
- 计算机缺失esul.dll,SceneUI.ES.dll
- NuGet是什么?理解与使用(下)
- insert mysql后加where,如何在MySQL Insert語句中添加where子句?
- 怎样下载python模块sublime text3中_python安装环境配置、python模块添加、sublime text编辑器配置...
- 推动区块链基础设施建设,先要破解区块链发展“三高”难题
- Web前端html表格制作
- pixi.js 5.0_使用Pixi.js进行高级绘图
- 中国互联网二十年回忆
- rs485数据线接反_RS485引脚说明及接口说明
- 利用js实现手机访问PC端直接跳转wap端
- 微信内分享链接防红办法-微信域名防封技术系统的实现方案
- python中breakpoint_Python3.7 特色(2)-breakpoint 內建除錯
- python PIL 图片素描化
- Nginx+https+Trojan
- Leetcode解题(第974题)
- 【数学建模笔记】3.非线性规划
- 一个屌丝程序员的青春(一七二)