免费沙箱软件模拟支付_JAVA模拟支付宝支付-沙箱环境

最近在个人的小项目中用到了沙箱环境下的支付宝支付功能,这里做一个总结和介绍。

配置

先去支付宝开发者文档-沙箱配置沙箱环境,这里主要注意沙箱环境密钥的设置方法,具体步骤文档都写的很清楚了。

配置.png

开始使用

首先需要引入两个概念,同步回调和异步回调。

同步回调:在用户完成支付之后回调,告诉用户已经支付成功,但是并不表示扣款成功,如果你把这个当成扣款成功的标识,那么你可亏惨了。

异步回调:扣款成功之后的回调。

联想到实际的支付场景,用户肯定要先支付,再从支付宝余额中扣除,才真正实现了支付功能。

link.png

前端

用户点击支付按钮之后,进入支付页面,这里我主要传递了4个参数,具体根据自己需求

payment: function (orderNumber) {

var data = {};

data.out_trade_no = orderNumber;//订单

data.total_amount = “5.00”;//支付金额

data.subject = “图像隐写在线服务平台资源下载支付”;//标题

data.body = “在您完成付款之后,平台会自动将生成的图片下载到您本地”;//备注信息

$.ajax({

url: ‘/order/pay’,

type: ‘post’,

data: JSON.stringify(data),

contentType: ‘application/json’,

success: function (result) {

location.href = “/orderView/href”;

},

error: function () {

layer.msg(‘数据异常’)

}

})

}

后端

Controller

//付款

@PostMapping(“/pay”)

@ResponseBody

public void payment(@RequestBody OrderPaymentRequest orderPaymentRequest) {

orderService.payment(orderPaymentRequest);

}

Service

public void payment(OrderPaymentRequest orderPaymentRequest) {

String result = null;

AlipayClient alipayClient = new DefaultAlipayClient(AlipayConstant.GATEWAR_URL, AlipayConstant.APP_ID, AlipayConstant.MECHART_PRIVATE_KEY,

“json”, AlipayConstant.CHARSET, AlipayConstant.APLPAY_PUBLIC_KEY, AlipayConstant.SIGN_TYPE);

AlipayTradePagePayRequest alipayTradePagePayRequest = new AlipayTradePagePayRequest();

alipayTradePagePayRequest.setReturnUrl(AlipayConstant.RETURN_URL);

alipayTradePagePayRequest.setNotifyUrl(AlipayConstant.NOTIFY_URL);

alipayTradePagePayRequest.setBizContent(“{“out_trade_no””:””””+ orderPaymentRequest.getOutTradeNo() +””””

+ “”””subject””:””””+ orderPaymentRequest.getSubject() +””””

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月25日
下一篇 2020年11月25日

相关推荐