如何使用支付宝提供的支付接口?

友情提示:根据博主步骤很快便能完成,但是若想深刻理解,还需仔细看开发文档

目录

如何使用支付宝提供的支付接口?

1.搜索支付宝开放平台

2.进入网页登陆后点击控制台

3.下拉至最下方点击沙箱

4.将应用信息的基本信息和下方支付宝网关地址保存到文件中

5.点击查看 并且将公钥和密钥记录保存

6.点击沙箱账号 并且将商家信息以及买家信息记录并且保存

7.完成上述步骤后在编译器新建一个文件夹并且在其中新建三个文件

8.将下述代码放入alipay_public_key.pem中

9.将下述代码放入app_private_key.pem中

10.请将下述代码放入剩下的.py文件中

1. 在终端执行以下命令下载依赖

2. 将你第四步保存的appid和pid填写至其对应位置

3.将网关地址填写到倒数第二行引号中并且加一个英文问号

11.右键运行控制台会打印一个网址 复制到浏览器中打开即可


1.搜索支付宝开放平台

python的沙盒绕过 ctf_python的沙盒绕过 ctf

2.进入网页登陆后点击控制台

python的沙盒绕过 ctf_开发语言_02

3.下拉至最下方点击沙箱

在这顺便给大家介绍一下沙箱环境

沙箱环境: 我们在开发的时候去真是的调用一下支付宝的支付接口,去完成完整的一个支付的流程的测试,看接口能否可以跑的通,如果跑的通的话,到时候项目部署上线之后,再把沙箱环境里的一个appId替换掉就可以了

4.将应用信息的基本信息和下方支付宝网关地址保存到文件中

python的沙盒绕过 ctf_python_03

5.点击查看 并且将公钥和密钥记录保存

python的沙盒绕过 ctf_django_04

记得将语言切换为非java语言

python的沙盒绕过 ctf_后端_05

6.点击沙箱账号 并且将商家信息以及买家信息记录并且保存

大家进入这个页面后 就可以小小满足一下自己 可以随便控制账户余额,但是记得着仅仅只是数字,一会出现支付二维码千万别用自己的手机扫码支付,下方就是支付宝沙箱提供的卖家账户 用这个账户支付即可。

python的沙盒绕过 ctf_django_06

7.完成上述步骤后在编译器新建一个文件夹并且在其中新建三个文件

python的沙盒绕过 ctf_django_07

8.将下述代码放入alipay_public_key.pem中
-----BEGIN PUBLIC KEY-----
"""这里存放刚刚你记录下的公钥 请勿将上面下面的代码删除"""

-----END PUBLIC KEY-----




9.将下述代码放入app_private_key.pem中
-----BEGIN RSA PRIVATE KEY-----
"""这里存放刚刚你记录下的私钥 请勿将上面下面的代码删除"""
-----END RSA PRIVATE KEY-----
10.请将下述代码放入剩下的.py文件中

在这里还需要进行几个步骤:

1. 在终端执行以下命令下载依赖
pip install python-alipay-sdk
2. 将你第四步保存的appid和pid填写至其对应位置

订单号和支付金额可以随便填写

3.将网关地址填写到倒数第二行引号中并且加一个英文问号
from alipay import AliPay

# 第一步准备:支付宝的应用数据(调试阶段使用沙箱环境)
# 应用id(*)
app_id = '9021000134639525'
# 商户号(*)
pid = '2088721029176409'
# 公钥和私钥
public_key = open('alipay_public_key.pem').read()
private_key = open('app_private_key.pem').read()

# 订单支付的信息(自己系统的订单信息)
# 订单号
order_on = '20221400009090'
# 订单金额
amount = '4599'
# 支付页面展示的标题
subject = f"商城订单{order_on}支付"

# 初始化
pay = AliPay(
    appid=app_id,
    # 支付宝回调我们自己系统的url 等到部署到服务器配置就好了
    app_notify_url=None,
    # 私钥
    app_private_key_string=private_key,
    # 公钥
    alipay_public_key_string=public_key,
    # 开启debug(如果是部署好的项目要关掉)
    debug=True,
)
# 4.生成手机应用的支付地址
# url = pay.api_alipay_trade_wap_pay(
#     # 支付页面的标题
#     subject=subject,
#     # 商户生成的订单号(自己系统中的订单号)
#     out_trade_no=order_on,
#     # 订单支付的金额
#     total_amount=amount,
#     # 部署好项目以后在配置
#     return_url=None,
#     notify_url=None,
# )
# 5. 生成pc端浏览器网站的支付页面地址
url = pay.api_alipay_trade_page_pay(
    # 支付页面的标题
    subject=subject,
    # 商户生成的订单号(自己系统中的订单号)
    out_trade_no=order_on,
    # 订单支付的金额
    total_amount=amount,
    # 部署好项目以后在配置
    return_url=None,
    notify_url=None,
)
# # 6.生成app端支付页面地址
# url = pay.api_alipay_trade_app_pay(
#     # 支付页面的标题
#     subject=subject,
#     # 商户生成的订单号(自己系统中的订单号)
#     out_trade_no=order_on,
#     # 订单支付的金额
#     total_amount=amount,
#     # 部署好项目以后在配置
#     return_url=None,
#     notify_url=None,
# )
# 引号中为网关地址 请勿将引号删除并且记得粘贴后加一个英文问号
# 例如
# pay_url = 'https://openapi-sandbox.dl.alipaydev.com/gateway.do?' + url
pay_url = '这里是网关地址' + url
print(pay_url)


该段代码中实现了不同的环境下生成的支付页面 可以注释其中两个(代码中4.5.6)打开另一个看看他长什么样子


11.右键运行控制台会打印一个网址 复制到浏览器中打开即可

python的沙盒绕过 ctf_后端_08

最后登录记录的id密码(买家信息)即可支付 再次强调切勿用自己支付宝扫描二维码支付!!!

订单支付或者过期后随便修改一个订单号(代码中的order_on)即可重复使用了,若不想自己修改可使用random函数让其每次生成一个随机订单号。