java支付功能怎么实现


这篇文章主要讲解了“java支付功能怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java支付功能怎么实现”吧!首先我们先看下API:可以看到,PayService接口提供了支付方法和退款方法,下面我们看下支付方法的参数定义:
*对于微信支付来说需传入应用市场上的APP名字-实际商品名称,天天爱消除-游戏充值。
*/
privateStringsubject;
/**
*订单生成时间,格式为yyyy-MM-ddHH:mm:ss
*/
privateStringcreateTime;
/**
*支付时长,单位为秒,如果设置300就是五分钟,超过五分钟订单自动取消
*/
privateintexpire=300;
/**
*订单金额,单位为分
*/
privateinttotalAmount;
/**
*发起请求的用户的实际IP
*/
privateStringip;
/**
*支付类型:APP、WEB(微信对应公众号,支付宝对应网页支付)
*/
privateStringtradeType=”APP”;
/**
*用户openid,只有在微信公众号支付时需要
*/
privateStringopenid;
/**
*附加数据,会与结果一并返回
*/
香港云主机privateStringattach;
}OK,上边的参数相信就算没做过支付的同学也能很清晰直观的看懂这些信息,都是一些订单基本信息,下面我们来看退款参数的定义:
*退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金
*
*额不能超过订单金额。一笔退款失败后重新提交,请不要更换退款单号,请使用原商户退款单号。
*/
@NotEmpty(message=”商户退款单号不能为空”)
privateStringoutRefundNo;
/**
*订单总金额,单位为分
*/
@Size(min=1)
privateinttotalFee;
/**
*退款金额,不能大于订单总金额
*
*注:多次退款总金额不能大于订单总金额
*/
@Size(min=1)
privateintrefundFee;
/**
*退款原因
*
*可以为空
*/
privateStringrefundDesc;
}退款参数就更简单了,需要的信息也是相当少。有了这些之后我们就可以来看支付测试代码了:
*注意:该测试当前通不过,因为没有提供正确的证书,若想要测试通过则需要在配置文件中提供正确的微信证书和单号
*/
@Test
publicvoiddoWxRefund(){
doRefund(wxPayService);
}

/**
*测试支付宝退款
*
*注意:该测试当前通不过,若想要测试通过则需要提供正确的单号
*/
@Test
publicvoiddoAliRefund(){
doRefund(aliPayService);
}

/**
*校验响应
*
*@paramresponse响应
*/
privatevoidcheck(SysResponseextendsBizResponse>response){
Assert.assertTrue(response.isSuccess());
Assert.assertTrue(response.getData().isSuccess());
}

/**
*发起支付请求
*
*@paramserviceservice
*/
privatevoiddoPay(PayServiceservice){
SysResponseresponse=service.pay(buildPay());
check(response);
}

/**
*发起退款请求
*
*@paramserviceservice
*/
privatevoiddoRefund(PayServiceservice){
SysResponseresponse=service.refund(buildRefund());
System.out.println(“结果是:”+response);
}

/**
*构建一个支付订单
*
*@return支付订单
*/
privatePayRequestbuildPay(){
PayRequestpayRequest=newPayRequest();
payRequest.setOutTradeNo(Tools.createUUID());
payRequest.setBody(“天天爱消除-游戏充值”);
payRequest.setSubject(“天天爱消除-游戏充值”);
payRequest.setCreateTime(DateUtil.getFormatDate(DateUtil.BASE));
payRequest.setTotalAmount(100*10);
payRequest.setIp(“106.120.141.226”);
returnpayRequest;
}

/**
*构建一个退款订单
*
*@return退款订单
*/
privateRefundRequestbuildRefund(){
RefundRequestrequest=newRefundRequest();
request.setOutTradeNo(“123456”);
request.setOutRefundNo(“123456”);
request.setTotalFee(100*10);
request.setRefundFee(100);
returnrequest;
}
}感谢各位的阅读,以上就是“java支付功能怎么实现”的内容了,经过本文的学习后,相信大家对java支付功能怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: 电脑怎么通过注册表找回右键删除选项

这篇文章给大家分享的是有关电脑怎么通过注册表找回右键删除选项的内容。小编觉得 香港云主机挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体操作步骤如下:1、按 Win + R 组合键,打开运行,并输入 regedit ,确定或回车,打开注册表编辑器…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/05 20:41
下一篇 07/05 20:41

相关推荐