文档中心 > 当面付

扫码支付接入指引

更新时间:2017/06/08 访问次数:90761
 

本文将带您接入支付宝扫码支付。
扫码支付:用户支付宝钱包上的扫一扫功能扫商户二维码,完成付款。

创建应用  在开放平台创建一个应用

接入扫码支付能力,需要在开放平台创建一个应用,通过该应用来接入各种能力。

若还未成为开放平台的入驻服务商或者商户, 请完成入驻指引

了解应用创建步骤   |   开始创建应用

 

配置应用  为创建的应用添加所需功能

给应用添加当面付功能,这样就可以在你的应用里使用扫码支付能力。

了解如何添加当面付功能   |  立即开始添加

 

签约

在使用这些能力的时候,需要在开放平台里进行签约,这时候约定的合同就生效了。也可以代替商户签约。

了解如何签约   |   立即开始签约

了解如何代商户签约   |   开始代商户签约

 

配置密钥

为了保证交易双方的身份和数据安全,需要配置双方密钥。

了解支付宝密钥处理体系   |   开始生成密钥   |   开始配置密钥

为了确定交易双方(商户和支付宝)的身份和交易数据的安全,需要对交易数据进行双方校验

应用公钥(商户自身的RSA公钥): 支付宝使用该公钥验证该交易是商户发起。

支付宝公钥(支付宝的RSA公钥):商户使用该公钥验证该结果是支付宝返回的。

收起

 

设计  接入设计

常用的接入方式与架构建议

在开始开发前,需要了解接入的方式或者材料等

商户/系统商后台转发方式

商户/系统商后台转发方式, 商家先预下单到商家后台,再请求到支付宝。适合商户有各种自助终端,用户在自助终端扫码支付。

收起

支持主流的红外扫描设备

支付宝支付物料下载  |   物料系统寄送

 

安全设计

为了保证交易安全,支付宝采用了一系列的安全手段

了解更多安全手段   |   了解更多安全设计指南

1. 采用HTTPS协议传输交易数据,防止数据被截获,解密。

2. 采用RSA非对称密钥,明确交易双方的身份,保证交易主体的正确性和唯一性

3. 条码定时刷新,防止被拍照

4. 防止截屏(截屏码失效)

收起

 

开发  开发应用与支付场景实现

SDK和开发语言

开发者可以使用多种开发方式接入支付能力,开放平台提供了支持主流开发语言的SDK接入的方式, 建议开发者采用SDK接入模式。也支持使用自己熟悉的编程语言构造HTTP请求接入支付宝支付能力的方式

了解更多SDK接入   |   下载SDK

以java语言为例,调用交易预下单接口alipay.trade.precreate:

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");  //获得初始化的AlipayClient
//创建API对应的request类
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizContent("{" +
"    \"out_trade_no\":\"20150320010101001\"," +
"    \"seller_id\":\"2088102146225135\"," +
"    \"total_amount\":\"88.88\"," +
"    \"discountable_amount\":\"8.88\"," +
"    \"undiscountable_amount\":\"80\"," +
"    \"buyer_logon_id\":\"15901825620\"," +
"    \"subject\":\"Iphone6 16G\"," +
"    \"store_id\":\"NJ_001\"" +
"    }");
//通过alipayClient调用API,获得对应的response类
AlipayTradePrecreateResponse response = alipayClient.execute(request);
System.out.print(response.getBody());
//根据response中的结果继续业务逻辑处理

收起   |   了解更多SDK开发接入细节   |   查看相关的API

了解更多HTTP方式接入

以调用交易预下单接口alipay.trade.precreate为例,构造http请求发起支付:

请注意需要对请求做urlencode处理,以下请求是为了方便查看,而没有做urlencode的原始报文

https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method=alipay.trade.precreate&app_id=1781&sign_type=RSA2&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0&biz_content=
  {
    "out_trade_no":"20150320010101001",
    "seller_id":"2088102146225135",
    "total_amount":88.88,
    "discountable_amount":8.88,
    "undiscountable_amount":80,
    "buyer_logon_id":"15901825620",
    "subject":"Iphone6 16G",
    "store_id":"NJ_001"
  }
//为确保安全通信,需自行验证响应示例中的sign值是否为蚂蚁金服所提供。

收起  |   查看相关的API

 

支付主流程

在集成扫码支付能力时,建议实现如下支付场景:(创建订单并支付,根据支付结果确定支付状态,并且做异常处理,必要时候关闭订单)

了解更多支付场景实现的流程

在集成扫码支付能力时,建议实现如下支付流程,创建订单并支付,根据返回的结果确定支付状态,并进行相应的异常处理,其过程如下图所示.

如商户由于客观原因(如无公网服务器接受支付宝请求等)无法接受异步支付通知,则忽略3.4和3.4.1步骤

收起  |   了解更多示例开发细节   |   了解更多异常处理  |   查看API

 

退款流程

商户由于业务原因可能需要退款,退款的途径按照支付途径原路返回. 支付渠道为花呗、余额等退款即时到账。银行卡的退款时间以银行退款时间为准,一般情况下2小时内可到账。也可以在商户门户(b.alipay.com)中退款

了解更多退款实现的流程   |   开始在商户门户退款

当商户因为业务原因如金额错误,用户退货,对账不平等情况下可能需要退款,可以使用交易成功的商户订单号或支付宝交易号进行退款 , 支持全额和部分退款,其过程如下图所示.

收起  |  了解更多示例开发细节  |  查看API

 

优惠与运营

可以为商品进行促销活动

了解更多优惠运营支持方式   |   了解更多开发接入优惠

 

对账

为了保障交易的正确性,支付宝提供了交易账单数据提供给商户对账

了解更多对账接入   |   对账不平,了解更多单边账的处理方式

了解更多开发接入

 

返佣

服务商帮助商户接入支付能力时候可以获取交易的返佣. 返佣技术接入,只需在API中传入返佣服务商ID即可获取返佣。

了解如何在API中接入返佣   |   在开放平台查看返佣明细

 

调试应用  沙箱环境供调试使用

支付能力直接涉及到交易与资金,为了方便开放者调试支付能力,我们已经准备好沙箱环境,包括沙箱环境账号和沙箱版支付宝钱包,这样就可以在沙箱环境调试了.

了解更多接入沙箱环境   |   开始接入沙箱环境

 

上线应用  上线应用所需步骤

上线

商户本身应用上线时候,也要把支付宝开放平台的应用上线.

了解更多上线动作

 

验收

为了确保应用质量,开放平台提供了云验收平台,可以在线验收应用.

了解更多云验收

 

第三方授权

如果是服务商希望把应用能力拓展给商户,那么使用第三方授权就可以获取商户的授权,代商户发起支付.

了解更多第三方授权

 

监控应用  在开放平台监控交易情况

应用上线后还可以在开放平台,查看应用运行情况以及交易状态.

了解更多监控产品   |   开始监控

FAQ

关于此文档暂时还没有FAQ
返回
顶部