python怎么接入支付宝

Python接入支付宝流程:
第一步:
首先下载一个pythonsdk,在支付宝的开发者文档中是没有的,但是强大的python程序员开发了一套属于python的支付宝支付sdk。
下载方式:pip install python-alipay-sdk ,github的链接是 https://github.com/fzlee/alipay
第二步:
下载sdk后,需要对支付宝进行一些相关配置。支付宝有两种环境,一种是正式环境,即程序启动后的环境。
二是沙箱环境,即开发人员在开发项目时的测试环境。
正式环境需要创建应用程序,然后在支付宝后台进行审核。通过后,将分配appid作为唯一标志。如图所示,创建应用程序。

我在这里使用沙箱环境,所以我不需要等待支付宝的审查,点击进入开发者中心–>研发服务–>沙箱应用。如图所示,它会自动为您分配一个appid,您只需要它是私钥和公钥。

第三步:
需要在服务端生成自己的私钥和公钥,现在支付宝支持sha256、sha1的加密,
建议使用sha256。支付宝提供了生成密钥的方法和步骤(https://docs.open.alipay.com/291/105971/ )
打开括号中的链接,您可以看到生成密钥的详细方法和步骤。生成公钥和私钥后,将公钥上传到支付宝密钥设置。将支付宝的公钥复制到本地,保存自己的公钥和支付宝的公钥(这非常重要),一般保存到本地项目的文件中。
第四步:
了解和熟悉支付宝的开发过程。如图所示,客户端通过后端程序与支付宝后端的交互流程图所示

1、用户选择使用支付宝支付
2、用户使用应用程序向商户服务器发起订单信息,以获得签名
3、商户服务端返回签名后的订单信息(查询字符串或url),如:
app_id=201609239&biz_content=%7B%22subject%22%3A%22%5Cu6d4b%5Cu8bbba2%5Cu5%22out_trade_no%22%3A%22017020202111%22%22%22%222total_amount%22%3A1000%2C%22product_code%22%3A%22FAST_INSTANT_TRADE_PAY%22%7D&charset=utf-8&method=alipay.trade.page.pay¬ify_url=http%3A%2F%dus.com%2F&return_url=http%2F47.92.87.172%3A2F%2F&sign_type=RSA2×tamp=2015+15%3A19%3A15&version=1.0&sign=BSzk6LzwNp
4、商户app调用支付接口
5-8、支付宝服务端接收请求,返回支付结果。
9、商户app向商户服务端发起请求,同步支付结果,验证服务端签名,分析支付结果。
10、返回支付结果。
11、显示支付结果的商户app。
12、支付宝服务端异步向商户服务端发送支付通知。
13、商户服务端接收支付通知,并将响应返回支付宝服务端。
第五步:
python代码如下
#业务处理:使用pythonsdk调用支付宝的支付界面 #初始化 fromalipayimportAliPay alipay=AliPay( appid="2016092300574189", app_notify_url=None, app_private_key_path=r"D:\python源代码alipay_keys\private_keys", alipay_public_key_path=r"D:\python源代码alipay_keys\public_key", sign_type="RSA2", debug=True, ) #调用接口 #total_pay=order.total_price+order.transit_price total_pay=12311 order_string=alipay.api_alipay_trade_page_pay( out_trade_no=1231231312313, total_amount=str(total_pay), subject='测试text的%texts'%1, return_url=None, notify_url=None, ) #返回应答 pay_url="https://openapi.alipaydev.com/gateway.do?"+order_string print(pay_url)
该代码的功能是生成签名后的URL,即访问支付宝支付的URL
初始化部分的参数:appid是支付宝唯一的标志id,
app_notify_url在支付宝后台完成支付时,将URL地址异步通知商户后台服务器。
app_private_key_path为自己生成的私钥,
alipay_public_key_path是支付宝的公钥。sign_type是签名的加密方式,
当debug是true时,支付宝支付的url是一个非正式的环境,如果是在线环境,可以将其改为false。
调用接口部分的参数: out_trade_no是订单号,这是商户后台服务器自己生成的订单号。
total_amount是支付金额(必须是字符串类型),subject是标题,return_url在支付页面成功后跳转到哪个页面。
notifyurl是异步通知的url。
第六步:
运行此代码后,您将获得签名URL。

访问这个url,结果如下:

您可以通过手机下载支付宝的沙箱环境,也可以点击右侧的登录账户进行支付。在沙箱应用程序中提供支付账户和密码。
第七步:
登录完成付款

更多Python知识,请关注:Python自学网!!
