开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
网页&移动应用 
收藏
订阅更新
我的文档
设置
demo 运行环境
java demo 适用于 jdk 版本 1.6 ,tomcat 版本 6.0。
php demo 适用于 php 5.5 以上。
.net demo 适用于 .net framework 3.5 以上;visual studio 2010 以上。
注意:demo 仅供参考,实际开发中需要结合具体业务场景修改使用。更多接入详情可查看 当面付
使用说明
以 java demo 为例,本示例仅在支付宝标准 sdk 的基础上再做了一层封装, 即 java 版本 demo 中 alipay-trade-sdk.jar。
下载
支付宝提供了如下语言 当面付 demo 示例,开发者可下载使用。
java 版

.net 版

php 版

直接运行 demo 步骤
1下载 demo 导入 tradepaydemo。
2根据 当面付 指引修改配置文件 zfbinfo.properties。
3运行 main.java 中的 main 方法。
main.java 方法介绍
java
复制代码
public static void main(string[] args) {
main main = new main();
// 测试当面付2.0支付
main.test_trade_pay(tradeservice);
// 测试查询当面付2.0交易
main.test_trade_query();
// 测试当面付2.0退货
main.test_trade_refund();
// 测试当面付2.0生成支付二维码
main.test_trade_precreate();
}
集成至商家系统步骤
1拷贝 java 目录下的 main.java 至系统商源代码目录。
2将 lib 目录下所有 jar 文件添加至系统商 lib 目录。
3拷贝 resources 目录下的配置文件至系统商 classpath 根目录。
4在系统商项目中运行 main 方法,确认集成无误。
5系统商使用 main 方法中的调用样例进行商家端系统开发。 
功能说明
tradepaydemo 代码结构
├─src
│  └─main
│          ├─java       
│          ├─com       
│          ├─alipay    
│           ├─demo  
│           ├─trade 
│           ├─main.java  当面付2.0调用范例 
│          ├─lib  依赖类库     
│          ├─alipay-sdk-java20150625220051.jar 
│          ├─alipay-trade-sdk.jar   tradepaysdk创建的lib      
│           ├─commons-codec-1.10.jar        
│           ├─commons-configuration-1.10.jar   
│           ├─commons-lang-2.6.jar
│           ├─commons-logging-1.1.1.jar   
│           ├─core-2.1.jar
│           ├─gson-2.3.1.jar 
│           ├─gson-2.3.1.jar
│  └─resources
│          ├─zfbinfo.properties  配置文件,调用 main 方法之前请确认配置文件是否已正确配置
alipaytradeservice 对应接口说明
条码支付
demo 封装支付宝 sdk,提供了条码付支付、查询、退款 (条码支付)功能,可以给收银系统界面直接调用。
支付接口流程
1.png

支付结果查询接口流程
2.png

退款接口流程
3.png

扫码支付(不含异步通知
预下单(扫码支付)接口流程
4.png

扫码支付结果查询
方案一:采用 条码支付 > 查询接口流程
方案二: 采用轮询逻辑
5.png

示例代码
alipay-trade-sdk.jar 中提供了轮询 demo,详情可查看 com.alipay.demo.trade.service.impl.absalipaytradeservice.loopqueryresult。
附:tradepaysdk 代码结构
alipay-trade-sdk.jar 结构说明:
src
-- main
    |-- java
    |   -- com
    |       -- alipay
    |           -- demo
    |               -- trade
    |                   |-- config
    |                   |   |-- configs.java   配置文件,解析properties文件
    |                   |   -- constants.java 常量定义
    |                   |-- model
    |                   |   |-- extendparams.java  扩展参数
    |                   |   |-- goodsdetail.java
    |                   |   |-- tradestatus.java
    |                   |   |-- builder  当面付2.0请求包
    |                   |   |   |-- alipaytradepaycontentbuilder.java       条码支付请求bizcontent结构体
    |                   |   |   |-- alipaytradeprecreatecontentbuilder.java 扫码支付(产生二维码)请求bizcontent结构体
    |                   |   |   |-- alipaytradequerycententbuilder.java     当面付2.0查询请求bizcontent结构体
    |                   |   |   |-- alipaytraderefundcontentbuilder.java    当面付2.0退款请求bizcontent结构体
    |                   |   |   -- requestbuilder.java  当面付2.0请求抽象类
    |                   |   |   -- type.java
    |                   |   -- result  当面付2.0应答包
    |                   |       |-- alipayf2fpayresult.java  当面付2.0支付应答
    |                   |       |-- alipayf2fprecreateresult.java  当面付2.0预下单(产生二维码)应答
    |                   |       |-- alipayf2fqueryresult.java  当面付2.0查询应答
    |                   |       |-- alipayf2frefundresult.java  当面付2.0退货应答
    |                   |       -- result.java
    |                   |-- service
    |                   |   |-- alipaytradeservice.java  当面付2.0服务接口
    |                   |   -- impl
    |                   |       -- alipaytradeserviceimpl.java  当面付2.0具体实现
    |                   -- utils
    |                       |-- gsonfactory.java  使用了gson序列化
    |                       |-- utils.java        杂物工具类
    |                       -- zxingutils.java   使用了zxing库进行二维码的生成
    -- lib  依赖类库
        |-- alipay-sdk-java20150625220051.jar  支付宝sdk底层实现lib
        |-- commons-codec-1.10.jar
        |-- commons-configuration-1.10.jar
        |-- commons-lang-2.6.jar
        |-- commons-logging-1.1.1.jar
        |-- core-2.1.jar
        |-- gson-2.3.1.jar
        -- hamcrest-core-1.3.jar
常见问题
q:扫码支付、统一下单 jsapi 唤起收银台支付后,支付成功异步通知如何处理?
a:
1商家需要验证该通知数据中的 out_trade_no 是否为商家系统中创建的订单号。
2判断 total_amount 是否确实为该订单的实际金额(即商家订单创建时的金额)。
3校验通知中的 seller_id(或者seller_email) 是否为该笔交易对应的操作方(一个商家可能有多个 seller_id/seller_email)。
4验证接口调用方的 app_id。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图