Python接入支付宝流程:
第一步:
首先要下载一个python的sdk,这个sdk在支付宝的开发者文档中是没有的,但是强大的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/ )
打开括号中的链接,即可看到详细的生成秘钥的方法和步骤。公钥私钥生成完之后,要将公钥上传到支付宝密钥设置中。将支付宝的公钥copy到本地,将自己的公钥私钥和支付宝的公钥保存好(这个很重要),一般都保存到本地项目的文件中。
第四步:
了解并熟悉支付宝的开发流程。如图为客户端通过后端程序与支付宝后端的交互流程图
1、用户选择使用支付宝付款
2、用户使用app向商户服务器发起请求获取签名后的订单信息
3、商户服务端返回签名后的订单信息(查询字符串或者url)例如:
app_id=201609239&biz_content=%7B%22subject%22%3A%22%5Cu6d4b%5Cu8bd5%5Cu8ba2%5Cu5%22out_trade_no%22%3A%22201702021111%22%2C%22total_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%3A%2F%2F47.92.87.172%3A8000%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代码如下
# 业务处理: 使用python sdk调用支付宝的支付接口 # 初始化 from alipay import AliPay 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%s' % 1, return_url=None, notify_url=None, ) # 返回应答 pay_url = "https://openapi.alipaydev.com/gateway.do" + order_string print(pay_url)
这段代码实现的功能为生成一个签名后的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为支付成功后支付页面要跳转到哪个页面。
notify_url为异步通知的url。
第六步:
运行这段代码会得到一个签名之后的url。
访问这个url,看到的结果为:
可以手机下载一个沙箱环境的支付宝,也可以点击右侧的登录账户付款。在沙箱应用中提供了用于付款的账号和密码。
第七步:
登录完成支付
实例扩展:
Python对接支付宝支付自实现功能
# -*- coding: utf-8 -*- import base64 import json import urllib.parse from datetime import datetime import requests from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives.asymmetric import padding class AliPayException(Exception): def __init__(self, data): super(AliPayException, self).__init__() self.data = data def __str__(self): return "alipay - {}".format(self.data) def __unicode__(self): return u"alipay - {}".format(self.data) class AliPayVerifyException(AliPayException): def __init__(self, msg, data): super(AliPayVerifyException, self).__init__('alipay verify except - {}:{}'.format(msg, data)) class AliPay: def __init__(self, **kwargs): """ :param kwargs:
python,支付宝
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】