Watch Star Fork

thlws / payment-alipayJava

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
基于支付宝官方Java SDK,封装支付相关接口, 整合多种支付场景于一体
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md 5.03 KB

项目介绍

  • payment是一系列基于Java实现的支付类库,包含支付宝、微信、翼支付等,其目的是以最简单的方式完成各种支付方式接入。
  • 目前支付类库各自独立,使用时需单独引用,详见“支付类库”各自主页说明,后续不排除对所有支付类库整体打包,请留意文档更新。

支付类库

在线交流

支付宝支付

详细教程

功能说明

  1. 用于支付宝支付,基于Java语言实现的依赖库;
  2. 接口参数全部封装,使用者仅需创建对象并设置参数;
  3. 封装官方SDK,整合多种支付场景于一体,降低接入门槛;

依赖安装

  • Maven
<dependency>
    <groupId>org.thlws</groupId>
    <artifactId>payment-alipay</artifactId>
    <version>1.0.2</version>
</dependency>
  • Gradle
compile 'org.thlws:payment-alipay:1.0.2'

源码测试

  1. git clone https://github.com/thlws/payment-alipay.git
  2. 导入到 Eclipse 或 Intellij IDEA
  3. 运行 Junit Class AlipayTest (支付相关接口)

如何使用

1.初始化 AlipayCore

  AlipayCore.ClientBuilder clientBuilder = new AlipayCore.ClientBuilder();
  //sign_type=rsa时,可不传 支付宝公钥 alipay_public_key
  //alipayCore = clientBuilder.setApp_id(appid).setPrivate_key(private_key).setSign_type(AlipayConstants.SIGN_TYPE_RSA).build();

  //sign_type=rsa2时,必须传 支付宝公钥 alipay_public_key
  AlipayCore alipayCore = clientBuilder.setAlipay_public_key(alipay_public_key_0).setApp_id(appid_0).setPrivate_key(private_key_0).setSign_type(AlipayConstants.SIGN_TYPE_RSA2).build();
    

2.调用接口

//支付接口[当面付]
 public void test_pay(){

     try {
         AlipayTradeInput input = new AlipayTradeInput();

         //必须参数
         input.setTotalAmount("0.01");
         input.setStoreId("00001025104487");
         input.setOperatorId("hanley001");
         input.setAuthCode("289055913572087398");
         input.setOutTradeNo(System.currentTimeMillis()+"");
         input.setSubject("测试买单");
         
 //         如下为可选参数,全部参数请查看 AlipayTradeInput 
 //         input.setBody("测试支付");
 //         input.setDiscountableAmount("0");
 //         input.setUndiscountableAmount("0");
 //         input.setSellerId(partner_id_0);
 //         List<GoodsDetail> list = new ArrayList<GoodsDetail>();
 //         list.add(GoodsDetail.newInstance("g01","name1",10,1));
 //         list.add(GoodsDetail.newInstance("g02","name2",12,3));
 //         input.setGoodsDetailList(list);

         AlipayTradeOutput output = alipayCore.pay(input);
         assertTrue(output.isSuccess());
         //output就是支付结果,具体请参考相关属性说明
     } catch (Exception e) {
         e.printStackTrace();
     }
 }

 //退款接口
 public void  test_refund(){
    
     try {
         AlipayRefundInput input = new AlipayRefundInput();
         //input.setOutTradeNo("1508487673867");
         input.setTradeNo("2018050721001004510538867002");
         input.setRefundAmount("0.01");
         input.setRefundReason("测试退款");
         input.setStoreId("00001025104487");
         input.setTerminalId("10007");
         AlipayRefundOutput output = alipayCore.refund(input);
         System.out.println("output="+JsonUtil.format(output));
         assertTrue(output.isSuccess());
         //output 就是退款结果
     } catch (Exception e) {
         e.printStackTrace();
     }
 }

项目依赖

更新日志

  • v1.0.0 支付宝支付依赖库发布;
  • v1.0.1 日常bug修复;
  • v1.0.2 新增RSA2签名方式(RSA2时,支付宝公钥为必须参数);

FAQ

  • 能不能直接 dependency 添加依赖?
    已发布至公有仓库,添加方式如上.

  • 是否有JDK版本要求?
    JDK版本 >= 1.6 即可.

  • 有没有支付相关文档?
    https://docs.open.alipay.com/api

打赏一下

Comments ( 2 )

You need to Sign in for post a comment

11_float_left_people 11_float_left_close