Alipay

轻量的支付宝组件(A Lightweight Alipay Component)

  • 包引入:

    <dependency><groupId>me.hao0</groupId><artifactId>alipay-core</artifactId><version>1.2.0</version>
    </dependency>
  • 业务系统与支付宝系统交互图:

  • 基本用法:

    Alipay alipay = AlipayBuilder.newBuilder(merchantId, secret).config1(...)   // 其他可选配置....build();alipay.module().api();
  • 已实现的组件:

    • 支付pay();
    • 退款refund();
    • 验证verify()
  • API文档这里。

  • 关于测试: 测试用例中是一些基本测试,alipay-demo项目是一个可运行web项目,方便测试,可按如下步骤进行测试:

    • 复制alipay-demo中的app-example.propertiesapp.properties,并作相应配置:

      
      ## 支付宝商户编号merchantId=## 支付宝密钥secret=## 支付通知urlpayNotifyUrl=${your_domain}/notifies/backend## 退款通知urlrefundNotifyUrl=${your_domain}/notifies/refund## web支付完成页面跳转urlwebReturnUrl=${your_domain}/notifies/web/frontend## wap支付完成页面跳转urlwapReturnUrl=${your_domain}/notifies/wap/frontend
    • 注意:除了webReturnUrl, wapReturnUrl可以配置为localhost外,payNotifyUrlrefundNotifyUrl都应该配置为支付宝可以外网调用的地址,本地测试建议使用ngrok工具来作本地外网映射。

    • 到alipay-demo根目录运行以下命令即可:

      mvn clean jetty:run -Dmaven.test.skip -Djetty.port={自定义端口号}
    • WEB支付可访问(请求正常后,应该会跳到支付宝收银台页面,完成支付后,过几秒页面会跳转到webReturnUrl,console里也会有服务器通知的日志出现):

      http://localhost:{port}/pays/web?orderNumber={自定义订单号}
    • WAP支付可访问(请求正常后,应该会跳到支付宝收银台页面,完成支付后,过几秒页面会跳转到wapReturnUrl,console里也会有服务器通知的日志出现):

      http://localhost:{port}/pays/wap?orderNumber={自定义订单号}
    • 退款可访问(退款成功后,也会有服务器通知日志打印):

      http://localhost:{port}/refunds/submit?batchNo={自定义批次号}&tradeNo={服务器通知日志中的tradeNo}
    • APP支付:

      1. 客户端支付未亲测;
      2. 支付成功后,支付宝的通知数据RSA校验已测试通过。
  • 相关文档:

    • 即时到帐;
    • WAP支付;
    • APP支付。
  • 历史版本:

    • 1.0.0:

      • 基本功能实现。
    • 1.0.1:

      • 必要参数校验。
    • 1.0.2:

      • 升级最新common组件;
      • 参数校验简化。
    • 1.0.3:

      • 在alipay-demo中判断交易状态,web,wap只会在交易成功后通知,app还会在交易创建后作通知.
    • 1.0.4:

      • APP支付增加bodygoodsType参数。
    • 1.0.5:

      • APP支付必须构参body
      • 配置可选secret
    • 1.0.6:

      • 单元测试编译错误.
    • 1.0.7:

      • APP支付sign进行encode.
    • 1.0.8:

      • APP支付goodsType参数可选.
    • 1.0.9:

      • 提升代码质量

        • DevFactory/release/silly-quality-checks-should-be-removed-fix-1
        • DevFactory/release/general-cod-quality-fix-1
    • 1.0.10:

      • 移除paymethod参数, 均使用默认支付方式directPay.
    • 1.1.0:

      • PC支付增加extra_common_param参数.
    • 1.2.0:

      • PC支付增加anti_phishing_key参数, 防钓鱼.
  • Github地址

一款轻量的支付宝支付组件相关推荐

  1. 建立ssr服务器_如何从零打造一款轻量且天然支持SSR的个人博客系统?

    2年前笔者开发了一款基于 nodejs 的全栈开源 cms 系统 XPCMS, 主要是为了解决技术开发者搭建自身内容平台的局限以及降低使用成本, 虽然1.0版本已经完成, 但是从整体部署和二次开发的便 ...

  2. 从零打造一款轻量且天然支持SSR的CMS系统——simpleCMS

    2年前笔者开发了一款基于 nodejs 的全栈开源 cms 系统 XPCMS, 主要是为了解决技术开发者搭建自身内容平台的局限以及降低使用成本, 虽然1.0版本已经完成, 但是从整体部署和二次开发的便 ...

  3. 推荐一款轻量且功能强大的集成开发工具(IDE)lightly

    面对初学者推荐的一款轻量且功能强大的集成开发工具(IDE)lightly,可以在线使用,也可以下载客户端,支持windows和macOS. 支持C,C++,Golang,HTML,Java,PHP,P ...

  4. 31款轻量高效的开源 JavaScript 插件和库

    31款轻量高效的开源 JavaScript 插件和库 目前有很多网站设计师和开发者喜欢使用由[url=http://www.kubiji.cn/forum-id261.html]JavaScript[ ...

  5. 开源应用中心 | 这款轻量简洁的开源论坛系统,你get了没?

    1. 背景 如果你想搭建一个论坛系统,可能有很多的开源论坛系统可以满足你的需求.但你是否感觉很多的论坛系统都过于臃肿了,在论坛系统的核心功能上堆积了很多比较鸡肋的功能,占用大量的系统资源导致花费不必要 ...

  6. OpenHarmony轻量系统 子系统,组件那点事

    OpenHarmony整体遵从分层设计,从下向上依次为:内核层.系统服务层.框架层和应用层.系统功能按照"系统 > 子系统 > 组件"逐级展开,在多设备部署场景下,支持 ...

  7. 五款轻量型bug管理工具横向测评

    最近正在使用的本地bug管理软件又出问题了,已经记不清这是第几次了,每次出现问题都要耗费大量的时间精力去网上寻找解决方案,劳心劳力.为了避免再次出现这样的情况,我决定从线下转到线上,使用轻量型的在线b ...

  8. 一款轻量的JVM监控工具——Jvmm

    目录 关于Jvmm 功能支持 下载地址 快速上手 监控功能 查看操作系统基础信息 查看操作系统CPU负载.内存使用情况.磁盘占用情况 查看类加载统计 查看类加载器实例信息 查看编译统计信息 查看垃圾收 ...

  9. 2016年31款轻量高效的开源JavaScript插件和库

    目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有 ...

  10. 31 款轻量高效的开源 JavaScript 插件和库

    目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有 ...

最新文章

  1. SPOJ 375 query on a tree 树链剖分
  2. android 解决getColor()方法过时
  3. HTTP 协议是无状态协议,怎么理解
  4. python矩阵输入_Python基础之矩阵输入
  5. truncate delete 与 drop的区别
  6. new和delete创建和销毁二维数组
  7. 递增运算符练习(JS)
  8. Java 中如何实现保留两位小数 — DecimalFormat
  9. html标签元素分类
  10. 京东数据分析SQL面试题
  11. Chrome插件--IDM
  12. 北大青鸟软件工程师 ACCP6.0课程体系
  13. java使用aspose-words组件word转换图片
  14. VIVADO除法IP注意事项
  15. 技术大佬:我去,你写的 switch 语句也太老土了吧
  16. GitHub上Swift语言指南
  17. wallpaper设置壁纸图片被拉伸
  18. 某Y易盾滑块acToken、data逆向分析
  19. avr c语言编译器,[VR虚拟现实]AVR单片机C语言编译器.doc
  20. Beautifulsoup模块

热门文章

  1. 从Spring为什么要用IoC的支点,我撬动了整个Spring的源码脉络
  2. DDD与数据事务脚本
  3. 磊科linux无线网卡驱动安装步骤,怎么安装磊科nw336无线网卡驱动
  4. 洞悉物联网发展1000问之透过华为山海经看如何突破物联网关键技术?
  5. 面试官问我 RabbitMQ 消息如何插队?
  6. 在python中month函数的用法_python @classmethod 的使用场合
  7. matlab如何打开flt文件,科学网—grb文件的读取 (更新) - 张凌的博文
  8. nc 监听数据_nc 命令使用详解
  9. 单元格内容分列多行_excel拆分单元格内容 excel单元格拆分多行
  10. IMO 2017 T1解答