首页 > 其他分享 >luffy之支付

luffy之支付

时间:2023-07-04 18:55:39浏览次数:51  
标签:alipay 支付宝 公钥 私钥 luffy ----- key 支付

支付宝支付介绍

流程

image

公钥私钥设置

# alipay_public_key.pem
-----BEGIN PUBLIC KEY-----
支付宝公钥
-----END PUBLIC KEY-----

# app_private_key.pem
-----BEGIN RSA PRIVATE KEY-----
用户私钥
-----END RSA PRIVATE KEY-----

支付宝链接

开发:https://openapi.alipay.com/gateway.do
沙箱:https://openapi.alipaydev.com/gateway.do

# 购买课程,付款---》支付宝支付
	- 支付宝支付(即便没有账号,也可以测试)
    - 微信支付(需要用营业执照申请商家帐号)
    - 银联支付
    
# 支付宝支付介绍
https://opendocs.alipay.com/open/203/106493
    
# 集成支付宝流程
	-我们自己的网站:点击购买按钮---》向我们后端发送请求---》携带购买商品信息---》生成订单,入库,订单是未支付状态-----》生成支付宝支付链接----》返回给前端
    -前端拿到支付链接---》get请求打开----》咱们的前端就来到了支付宝的页面--》用户掏出手机扫描支付---》付款完成----》支付宝收到了钱----》get回调(咱们配置回调地址)----》跳回我们自己的网页---》支付宝还会发送post请求给我们后端----》我们要验签,通过后,把订单状态改为已支付状态
    

使用第三方sdk

-基于官方的api封装的
-pip install python-alipay-sdk --upgrade

要使用支付宝:需要营业执照注册,咱们没有,咱们使用沙箱环境测试, 测试通过,后期只要换成公司的商户号和支付宝公钥私钥即可

沙箱环境:

https://openhome.alipay.com/platform/appDaily.htm?tab=info

需要生成公钥私钥:非对称加密---》公钥加密,私钥解密

https://opendocs.alipay.com/common/02kipl
下载
image
自定义密钥
image

生成公钥和私钥

把你的公钥,配置在支付宝账号里,生成支付宝公钥----》写支付,需要用支付宝公钥和私钥

image


from alipay import AliPay, DCAliPay, ISVAliPay
from alipay.utils import AliPayConfig

# 私钥和支付宝公钥 需要去支付宝官网申请
# 只能使用测试环境:沙箱环境
app_private_key_string = open("./private.key").read()
alipay_public_key_string = open("./alipayPublic.key").read()

alipay = AliPay(
    appid="2016092000554611",   # 支付宝页面上复制,沙箱环境---》公司有人会给你
    app_notify_url=None,  # 默认回调 url
    app_private_key_string=app_private_key_string,
    # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
    alipay_public_key_string=alipay_public_key_string,
    sign_type="RSA2",  # RSA 或者 RSA2
    debug=False,  # 默认 False
    verbose=False,  # 输出调试数据
    config=AliPayConfig(timeout=15)  # 可选,请求超时时间
)

subject = '兰博基尼'

order_string = alipay.api_alipay_trade_page_pay(
    out_trade_no="201102102102102102",
    total_amount=644491.03,
    subject=subject,
    return_url="https://example.com",
    notify_url="https://example.com/notify" # 可选,不填则使用默认 notify url
)

print('https://openapi.alipaydev.com/gateway.do?'+order_string)

aliapy二次封装包

GitHub开源框架
https://github.com/fzlee/alipay
依赖
>: pip install python-alipay-sdk --upgrade
# 如果抛ssl相关错误,代表缺失该包
>: pip install pyopenssl

结构

libs
    ├── iPay  							# aliapy二次封装包
    │   ├── __init__.py 				# 包文件
    │   ├── pem							# 公钥私钥文件夹
    │   │   ├── alipay_public_key.pem	# 支付宝公钥文件
    │   │   ├── app_private_key.pem		# 应用私钥文件
    │   ├── pay.py						# 支付文件
    └── └── settings.py  				# 应用配置  

alipay_public_key.pem

-----BEGIN PUBLIC KEY-----
拿应用公钥跟支付宝换来的支付宝公钥
-----END PUBLIC KEY-----

app_private_key.pem

-----BEGIN RSA PRIVATE KEY-----
通过支付宝公钥私钥签发软件签发的应用私钥
-----END RSA PRIVATE KEY-----

setting.py

import os

### 应用私钥

APP_PRIVATE_KEY_STRING = open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pem', 'app_private_key.pem')).read()

### 支付宝公钥

ALIPAY_PUBLIC_KEY_STRING = open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pem', 'alipay_public_key.pem')).read()

### 应用ID
APP_ID = '2016093000631831'

# 加密方式
SIGN = 'RSA2'

# 是否是支付宝测试环境(沙箱环境),如果采用真是支付宝环境,配置False
DEBUG = True

# 支付网关
GATEWAY = 'https://openapi.alipaydev.com/gateway.do' if DEBUG else 'https://openapi.alipay.com/gateway.do'
pay.py
from alipay import AliPay
from . import settings

# 支付对象
alipay = AliPay(
    appid=settings.APP_ID,
    app_notify_url=None,
    app_private_key_string=settings.APP_PRIVATE_KEY_STRING,
    alipay_public_key_string=settings.ALIPAY_PUBLIC_KEY_STRING,
    sign_type=settings.SIGN,
    debug=settings.DEBUG
)

# 支付网关
gateway = settings.GATEWAY

init.py

# 包对外提供的变量
from .pay import gateway, alipay

补充:在自己项目的配置文件中配置支付宝回调接口:settings.py | dev.py

# 上线后必须换成公网地址
# 后台基URL
BASE_URL = 'http://127.0.0.1:8000'
# 前台基URL
LUFFY_URL = 'http://127.0.0.1:8080'
# 支付宝同步异步回调接口配置
# 后台异步回调接口
NOTIFY_URL = BASE_URL + "/order/success/"
# 前台同步回调接口,没有 / 结尾
RETURN_URL = LUFFY_URL + "/pay/success"

标签:alipay,支付宝,公钥,私钥,luffy,-----,key,支付
From: https://www.cnblogs.com/yuezongke/p/17526711.html

相关文章

  • Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|附代码
    要求撰写关于信贷风控模型的研究报告,包括一些图形和统计输出。在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何变化?有25个变量:ID: 每个客户的IDLIMIT_BAL: 金额SEX: 性别(1=男,2=女)4.教育程......
  • Certux联手MasterCard即将推出全球电子卡,为USDT支付开启新篇章
    香港,2023年6月30日-作为一家运用先进区块链技术的公司,Certux今日宣布将与全球领先的支付技术公司MasterCard合作,共同推出一款在香港发布的全球电子卡,为全球范围内的USDT支付打造全新通道,并计划在未来支持CTX货币。“这次与MasterCard的合作是我们推动数字支付发展的又一重要里程......
  • 微信小程序使用web-view 在web-view选择商品 跳回微信小程序里面支付 微信小程序跳
                  孩 你好  在微信公众平台添加web-view业务域名。 实现需求是  在web-view里面购买商品要支付的时候跳到小程序里面支付支付成功在回去跳到web-view订单页。 由于微信内置浏览器js-sdk不支持微信小程序支付,而且......
  • 【HMS Core】应用内支付热门问题合集2
    ​【问题描述1】新增一些产品,查询商品信息,但返回的商品信息只有旧商品没有新增的商品【解决方案】需分析一下是否是根据以下接口(obtainProductInfo)获取商品信息​如果通过该接口获取,那么您在PMS上配置的商品,必须传入对应的productID才能正确获取,否则可能会影响到商品信息的......
  • luffy前台主页
    目录一、前台主页功能页头组件:components/Header.vue轮播图组件:components/Banner.vue页脚组件:components/Footer.vue主页组件:views/Home.vue一、前台主页功能图片准备将提供的资料中的图片移植到项目的img文件夹下页头组件:components/Header.vue<template><divclass="......
  • luffy前端
    目录一前端项目创建,调整目录二前端配置一前端项目创建,调整目录#创建前端项目vue2前提:在目标目录新建luffy文件夹cdpythonprojectvuecreateluffy_city创建成功,用pycharm打开二前端配置#安装第三方 -axios-elementui-vue-cookies#安装 cnpm......
  • 前端Vue自定义微信支付弹框dialog alert popup
    前端Vue自定义微信支付弹框dialogalertpopup, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13245效果图如下:实现代码如下:cc-payDialog使用方法<!--:money:支付金额 show:是否显示@cancel:取消 @success:确认支付--><cc-payDia......
  • “云创未来,共享生态”——支付宝小程序云产品发布会,报名开启!
    随着互联网的快速发展,小程序已成为中国定义的“互联网新技术标准”,截止2021年上半年全网小程序数量突破700万个,越来越多的开发者加入小程序领域。2023支付宝开发者日上海站将以“云创未来,共享生态”为主题,将战略发布支付宝小程序云产品、生态政策等,此外还有丰富的行业最佳实践......
  • uniapp微信小程序转支付宝小程序踩坑(持续更新)
    首先第一个,真有被折磨到!//微信正常使用,支付宝不行<imagesrc="https://static.dabapiao.com/images/coupon-index.png"mode=""/>//以下两种微信、支付宝都正常使用<imagesrc="https://static.dabapiao.com/images/coupon-index.png"mode="aspectFill&quo......
  • iOS 微信、支付宝、银联支付组件的进一步设计
    原文地址:https://zhanglei.blog.csdn.net/article/details/121376500前言有段时间没写技术文章了,一是因为工作太忙,再者因为本人文笔实在一般。最近终于闲下来,本着分享的目的将一些组件设计上的心得与大家分享。本篇文章是基于原有一篇关于支付文章的进一步优化设计,所以在阅读本......