如何快速使用支付宝沙箱环境调试支付接口(保姆级教程python+Django+DRF+simplejwt)

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

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

目录

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

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.搜索支付宝开放平台

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

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

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

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

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

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

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

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

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

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

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.右键运行控制台会打印一个网址 复制到浏览器中打开即可

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

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

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的Spring Boot和Vue.js应用程序中的支付宝沙箱支付代码示例: 在Spring Boot项目中: 1. 添加以下依赖: ``` <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.3.0.ALL</version> </dependency> ``` 2. 创建一个包含支付宝配置信息的类,例如: ``` @Configuration public class AlipayConfig { private String appId; private String privateKey; private String publicKey; private String notifyUrl; private String returnUrl; private String gatewayUrl; // getters and setters } ``` 3. 创建一个返回AlipayClient的方法: ``` @Bean public AlipayClient getAlipayClient() { return new DefaultAlipayClient( alipayConfig.getGatewayUrl(), alipayConfig.getAppId(), alipayConfig.getPrivateKey(), "json", "UTF-8", alipayConfig.getPublicKey(), "RSA2" ); } ``` 4. 在控制器中创建支付接口,例如: ``` @Autowired private AlipayClient alipayClient; @Autowired private AlipayConfig alipayConfig; @PostMapping("/pay") public String pay(@RequestParam String orderNo, @RequestParam String amount) throws AlipayApiException { AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest(); alipayRequest.setReturnUrl(alipayConfig.getReturnUrl()); alipayRequest.setNotifyUrl(alipayConfig.getNotifyUrl()); alipayRequest.setBizContent("{\"out_trade_no\":\"" + orderNo + "\"," + "\"total_amount\":\"" + amount + "\"," + "\"subject\":\"" + "测试订单" + "\"," + "\"body\":\"" + "测试订单" + "\"," + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}"); String form = alipayClient.pageExecute(alipayRequest).getBody(); return form; } ``` 在Vue.js中: 1. 创建一个按钮来启动支付流程: ``` <template> <div> <button @click="pay">Pay Now</button> </div> </template> ``` 2. 在脚本部分中创建一个调用支付接口的方法: ``` <script> export default { methods: { pay() { axios.post('/api/pay', { orderNo: '123456', amount: '0.01' }) .then(response => { let form = response.data; document.write(form); // 打开支付页面 }) .catch(error => { console.log(error); }); } } } </script> ``` 请注意,以上示例只适用于测试环境,如果您想在生产环境使用支付宝支付,您需要进行更多的测试和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值