支付宝支付
支付介绍
用户已安装支付宝支付流程
步骤1:用户在商家App中选择商品下单、确认购买,进入支付环节,选择支付宝,用户点击确认支付,如图1;
步骤2:进入到支付宝页面,调起支付宝支付,出现确认支付界面,如图2;
步骤3:用户确认收款方和金额,点击立即支付后出现输入密码界面,如图3;
![]()
步骤4:输入正确密码后,支付宝端显示支付结果,如图4;
步骤5:自动回跳到商家App中,商家根据付款结果个性化展示订单处理结果,如图5。
用户未安装支付宝支付流程
步骤1:用户在商家App中选择商品下单、确认购买,进入支付环节,选择支付宝,用户点击确认支付,如图6;
步骤2:用户未安装支付宝客户端,则调起支付宝网页支付收银台,用户登录支付宝账户,如图7和图8;
步骤3:登录成功后,进入付款确认页面,如图9;
步骤4:用户点击确认付款,进入支付密码页面,如下图10;用户输入密码,完成支付,展示支付结果,如图11
![]()
案例及规范
列表首位+默认勾选+Logo+推荐标签+标语,最低标准为“Logo+支付宝”,并将作为审核依据
准入条件
申请前必须拥有经过实名认证的支付宝账户;
企业或个体工商户可申请;
需提供真实有效的营业执照,且支付宝账户名称需与营业执照主体一致;
网站能正常访问且页面显示完整,网站需要明确经营内容且有完整的商品信息;
网站必须通过ICP备案。如为个体工商户,网站备案主体需要与支付宝账户主体名称一致;
如为个体工商户,则团购不开放,且古玩、珠宝等奢侈品、投资类行业无法申请本产品。
使用说明
APP支付产品包含的接口和描述如下:
![]()
App支付快速接入
注意: 文档中的代码示例和Demo是用来阐述API基本使用方法的,仅针对大众场景。供ISV参考,特殊情况还请ISV自行扩展,确保符合自身业务需求。
第一步:创建应用并获取APPID
要在您的应用中使用支付宝开放产品的接口能力,您需要先去蚂蚁金服开放平台(open.alipay.com),在管理中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能调用开放产品的接口能力。需要详细了解开放平台创建应用步骤请参考《开放平台应用创建指南》。
重要:首先先创建应用
重要:然后配置应用
第二步:配置密钥
开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台管理中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详细步骤请参考《配置应用环境》。
第三步:集成并配置SDK
接入移动支付需要集成两个SDK,客户端SDK需要集成在商户自己的APP中,用于唤起支付宝APP并发送交易数据,并在支付宝APP返回商户APP时获得支付结果。服务端SDK需要商户集成在自己的服务端系统中,用于协助解析并验证客户端同步返回的支付结果和异步通知。
- 集成服务端
1.服务端SDK 集成客户端(android)—见App支付Android集成流程详解
1.导入开发资源- 将alipay-sdk-common/alipaySdk-xxxxxxxx.jar包放入商户应用工程的libs目录下
- 进入商户应用工程的Java Build Path,将libs目录下的alipaySDK-xxxxxxxx.jar导入
- 选中Order and Export,勾选alipaySDK-xxxxxxxx.jar
2.修改Manifest
3.添加混淆规则
4.支付接口调用
5.支付结果获取和处理
6.获取当前开发包版本号
第四步:调用接口
系统交互流程:
![]()
第4步:调用支付接口:此消息就是本接口所描述的支付宝客户端SDK提供的支付对象PayTask,将商户签名后的订单信息传进payv2方法唤起支付宝收银台,交易数据格式具体参见重要:请求参数说明。
1. 接口功能:外部商户App唤起快捷SDK创建订单并支付,请求参数是商户在与支付宝进行数据交互时,提供给支付宝的请求数据,以便支付宝根据这些数据进一步处理。
第5步:支付请求:支付宝客户端SDK将会按照商户客户端提供的请求参数发送支付请求。
第8步:接口返回支付结果:商户客户端在第4步中调用的支付接口,会返回最终的支付结果(即同步通知),参见客户端同步返回。
第13步:用户在支付宝APP或H5收银台完成支付后,会根据商户在手机网站支付API中传入的前台回跳地址return_url自动跳转回商户页面,同时在URL请求中附带上支付结果参数。同时,支付宝还会根据原始支付API中传入的异步通知地址notify_url,通过POST请求的形式将支付结果作为参数通知到商户系统,详情见支付结果异步通知。
特别注意:
- 构造交易数据并签名必须在商户服务端完成,商户的应用私钥绝对不能保存在商户APP客户端中,也不能从服务端下发。
- 同步返回的数据,只是一个简单的结果通知,商户确定该笔交易付款是否成功需要依赖服务端收到支付宝异步通知的结果进行判断
商户系统接收到通知以后,必须通过验签(验证通知中的sign参数)来确保支付通知是由支付宝发送的。建议使用支付宝提供的SDK来完成,详细验签规则参考异步通知验签。
使用SDK快速接入:App支付API必须通过支付宝提供的移动端SDK来调用,点击查看重要:Android调用说明。
交易操作
- 1.交易查询接口alipay.trade.query:
AlipayClient alipayClient = .... //获得初始化的AlipayClient
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();//创建API对应的request类
request.setBizContent("{
"out_trade_no":"20150320010101001",
"trade_no":"2014112611001004680073956707"
}");//设置业务参数
AlipayTradeQueryResponse response = alipayClient.execute(request);//通过alipayClient调用API,获得对应的response类
// TODO 根据response中的结果继续业务逻辑处理
- 2.交易退款接口alipay.trade.refund:
AlipayClient alipayClient = .... //获得初始化的AlipayClient
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();//创建API对应的request类
request.setBizContent("{
"out_trade_no":"20150320010101001",
"