文档中心 > 当面付

条码支付接入指引

更新时间:2017/08/28 访问次数:85763
 

本文将带您接入支付宝条码支付。
条码支付:即商家使用扫码设备,扫描用户支付宝钱包上的条码/二维码,完成收款。

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

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

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

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

 

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

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

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

 

签约

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

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

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

 

配置密钥

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

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

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

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

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

收起

 

设计  接入设计

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

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

门店直连方式   |   商户/系统商后台转发方式

即商家收银台直接通过公网向支付宝发起收款。个人商户或者单独门店建议采用直连方式

收起

商家收银台先请求到商家后台,再请求到支付宝。适合商户有多家门店,大型商户, 商户自有商户后台等模式下使用

收起

支持主流的红外扫描设备

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

 

安全设计

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

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

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

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

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

4. 防止截屏(截屏后二维码码失效)

收起

 

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

SDK和开发语言

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

了解更多SDK接入   |   下载SDK

以java语言为例,调用交易支付接口alipay.trade.pay:

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2"); //获得初始化的AlipayClient
//创建API对应的request类
AlipayTradePayRequest request = new AlipayTradePayRequest(); 
request.setBizContent("{" +
"    \"out_trade_no\":\"20150320010101001\"," +
"    \"scene\":\"bar_code\"," +
"    \"auth_code\":\"28763443825664394\"," +
"    \"subject\":\"Iphone6 16G\"," +
"    \"store_id\":\"NJ_001\"," +
"    \"timeout_express\":\"2m\"," +
"    \"total_amount\":88.88" +
"  }"); //设置业务参数
//通过alipayClient调用API,获得对应的response类
AlipayTradePayResponse response = alipayClient.execute(request); 
System.out.print(response.getBody());
//根据response中的结果继续业务逻辑处理

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

了解更多HTTP方式接入

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

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

https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method=alipay.trade.pay&app_id=2284&sign_type=RSA2&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0&biz_content=
  {
    "out_trade_no":"20150320010101001",
    "scene":"bar_code,wave_code",
    "auth_code":"28763443825664394",
    "subject":"Iphone6 16G",
    "seller_id":"2088102146225135",
    "total_amount":"88.88",
    "store_id":"NJ_001"
  }

收起  |   查看相关的API

 

支付主流程

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

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

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

1. 创建交易并支付(如图,1~1.1.3步所示)

2. 根据返回的结果,确定支付状态,从而进行相应处理(包括必要时关闭交易), 如图opt区块中所示, 第2步表示支付成功, 返回支付成功页。

3. 第3步表示返回的参数为待用户付款(code=10003)或者系统异常(code=20000)、网络超时等场景下处理方式

4. 第4步表示轮询结束仍未处理成功,需要撤销订单

5. 第5步表示返回支付失败(code=40004) 时, 需要重新检查参数,重新发起支付

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

 

退款流程

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

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

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

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

 

优惠与运营

可以为商品进行促销活动

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

 

对账

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

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

了解更多开发接入

 

返佣

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

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

 

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

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

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

 

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

上线

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

了解更多上线动作

 

验收

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

了解更多云验收

 

第三方授权

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

了解更多第三方授权

 

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

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

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

FAQ

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