写道
/**
* 预支付订单 - 支付宝
*
* @param outTradeNo
* @param goodsDO
* @return
*/
private AliPrePayOrderReturnVO getAliPrepayOrder(String outTradeNo, GoodsDO goodsDO) throws IllegalAccessException, IntrospectionException, InvocationTargetException, IOException, JAXBException, AlipayApiException {
AliPrePayOrderParamVO aliPrePayOrderParamVO = new AliPrePayOrderParamVO();
AliPrePayOrderReturnVO aliPrePayOrderReturnVO = new AliPrePayOrderReturnVO();
// 接口名称
aliPrePayOrderParamVO.setService(config.getObject().getProperty("ali.pay.service"));
// 合作者身份ID
aliPrePayOrderParamVO.setPartner(config.getObject().getProperty("ali.pay.partner"));
// 服务器异步通知页面路径
aliPrePayOrderParamVO.setNotify_url(config.getObject().getProperty("ali.pay.notify_url"));
// TODO 客户端ip - 可空
//aliPrePayOrderParamVO.setApp_id("8.8.8.8");
// TODO 客户端来源 - 可空
//aliPrePayOrderParamVO.setAppenv("system=android^version=3.0.1.2");
//商户网站唯一订单号
aliPrePayOrderParamVO.setOut_trade_no(outTradeNo);
aliPrePayOrderParamVO.setSubject(goodsDO.getName());
//支付类型。默认值为:1(商品购买)。
aliPrePayOrderParamVO.setPayment_type("1");
aliPrePayOrderParamVO.setSeller_id(config.getObject().getProperty("ali.pay.partner"));
aliPrePayOrderParamVO.setTotal_fee(goodsDO.getCurrentPrice());
// 商品详情
aliPrePayOrderParamVO.setBody(goodsDO.getDescribe());
// 未付款交易的超时时间 30分钟
aliPrePayOrderParamVO.setIt_b_pay("30m");
// 签名
Map signMap = BeanMapUtil.convertBean(aliPrePayOrderParamVO);
//用自己的私钥签名要发送的信息。
String sign = AlipaySignature.rsaSign(signMap, config.getObject().getProperty("ali.pay.privateKey"), "UTF-8");
// 签名后url编码,sign和signtype放在最后。
String param = AlipaySignature.getSignContent(signMap)+"&sign="+URLEncoder.encode(sign,"UTF-8")+"&sign_type=RSA";
aliPrePayOrderReturnVO.setParam(param);
return aliPrePayOrderReturnVO;
}
* 预支付订单 - 支付宝
*
* @param outTradeNo
* @param goodsDO
* @return
*/
private AliPrePayOrderReturnVO getAliPrepayOrder(String outTradeNo, GoodsDO goodsDO) throws IllegalAccessException, IntrospectionException, InvocationTargetException, IOException, JAXBException, AlipayApiException {
AliPrePayOrderParamVO aliPrePayOrderParamVO = new AliPrePayOrderParamVO();
AliPrePayOrderReturnVO aliPrePayOrderReturnVO = new AliPrePayOrderReturnVO();
// 接口名称
aliPrePayOrderParamVO.setService(config.getObject().getProperty("ali.pay.service"));
// 合作者身份ID
aliPrePayOrderParamVO.setPartner(config.getObject().getProperty("ali.pay.partner"));
// 服务器异步通知页面路径
aliPrePayOrderParamVO.setNotify_url(config.getObject().getProperty("ali.pay.notify_url"));
// TODO 客户端ip - 可空
//aliPrePayOrderParamVO.setApp_id("8.8.8.8");
// TODO 客户端来源 - 可空
//aliPrePayOrderParamVO.setAppenv("system=android^version=3.0.1.2");
//商户网站唯一订单号
aliPrePayOrderParamVO.setOut_trade_no(outTradeNo);
aliPrePayOrderParamVO.setSubject(goodsDO.getName());
//支付类型。默认值为:1(商品购买)。
aliPrePayOrderParamVO.setPayment_type("1");
aliPrePayOrderParamVO.setSeller_id(config.getObject().getProperty("ali.pay.partner"));
aliPrePayOrderParamVO.setTotal_fee(goodsDO.getCurrentPrice());
// 商品详情
aliPrePayOrderParamVO.setBody(goodsDO.getDescribe());
// 未付款交易的超时时间 30分钟
aliPrePayOrderParamVO.setIt_b_pay("30m");
// 签名
Map signMap = BeanMapUtil.convertBean(aliPrePayOrderParamVO);
//用自己的私钥签名要发送的信息。
String sign = AlipaySignature.rsaSign(signMap, config.getObject().getProperty("ali.pay.privateKey"), "UTF-8");
// 签名后url编码,sign和signtype放在最后。
String param = AlipaySignature.getSignContent(signMap)+"&sign="+URLEncoder.encode(sign,"UTF-8")+"&sign_type=RSA";
aliPrePayOrderReturnVO.setParam(param);
return aliPrePayOrderReturnVO;
}
相关推荐
5. `AliPayDialog.cpp`:这可能是支付宝支付对话框的实现,用于展示给用户确认支付的信息。 6. `SignUtil.cpp`:签名工具类,对于安全性的支付系统来说,签名验证是非常重要的部分,确保数据的完整性和不可篡改性。 ...
3. **签名过程**:在发起支付请求或者接收支付宝回调时,商户使用私钥对请求参数进行签名,生成的签名值附在请求中一起发送给支付宝。 4. **验签过程**:支付宝收到请求后,使用商户上传的公钥对签名值和请求参数...
在IT行业中,支付宝作为阿里巴巴集团的一员,是全球领先的第三方支付平台,为个人和企业提供便捷、安全的在线支付解决方案。本文将深入探讨“阿里巴巴支付宝登录”的相关知识点,包括支付宝登录流程、快捷登录接口...
"app支付宝服务端demo"是一个实际测试过的服务端示例,旨在帮助开发者理解和实现App内集成支付宝支付功能。通过这个Demo,开发者可以快速上手,了解整个支付流程,以及如何在服务器端进行安全、高效的交互。 首先,...
在这个项目中,你可能会看到SpringBoot的父POM引用,以及与微信支付、支付宝支付相关的SDK库,如`ali-pay-sdk`、`wechat-pay-sdk`等。这些库将提供与支付平台交互所需的API接口和工具类。 接下来,`src`目录是源...
在Android应用开发中,集成支付宝支付是一项常见的需求,特别是在电商、服务类应用中。这篇文章将详细阐述如何在Android项目中集成支付宝支付,并提供一个参考博客链接。以下是对这个过程的全面解析: 首先,你需要...
在本文中,我们将深入探讨如何使用PHP实现支付宝的当面付2.0接口,这是一个用于线下支付场景的服务,...此外,对于生产环境,还需要考虑异常处理、日志记录以及支付状态的同步更新等环节,以提供完整的支付解决方案。
在IT行业中,支付系统是至关重要的组成部分,而支付宝作为国内领先的第三方支付平台,其提供的各种接口服务对于开发者来说尤其关键。本篇文章将详细介绍支付宝的"单笔交易查询接口"(single_trade_query),以及如何...
**支付宝支付** - **电脑网站支付**:适用于PC端网页的支付场景。 - **手机网站支付**:适用于移动端网页支付。 - **APP支付**:用于移动应用内的支付。 - **异步通知校验**:验证来自支付平台的通知是否真实...
而UniApp则是一个使用Vue.js语法开发多端应用的框架,支持H5、微信小程序、支付宝小程序、百度小程序等多个平台。当ECharts与UniApp结合时,开发者可以充分利用ECharts的强大数据可视化能力,在uni-app应用中创建出...