sha256校验工具_Springboot整合支付宝支付加内网穿透工具实现本地回调

757d895bb0a8cfde630c7c43f6062e88.png

项目中我们集成了支付宝,用户可以使用支付宝来进行支付

项目测试时,我们当然也需要一套测试环境对支付流程进行测试

如果我们使用线上的支付宝配置进行测试,那么我们必须使用真实货币进行支付

并且支付的金额会进入生产环境的支付宝绑定银行卡中,造成诸多不便

这里,支付宝为测试提供了一个沙箱环境,使我们可以使用虚拟货币进行支付测试

这篇文章就来详细说一下支付宝沙箱环境的配置和使用

首先创建支付宝配置文件类:

@Configuration@Datapublic class AliPayConfig { /** * 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号 */ @Value("${sdk.alipay.appID}") private String appID; /** * 商户私钥,您的PKCS8格式RSA2私钥 */ @Value("${sdk.alipay.merchantPrivateKey}") private String merchantPrivateKey; /** * 支付宝公钥 */ @Value("${sdk.alipay.alipayPublicKey}") private String alipayPublicKey; /** * 签名方式 */ @Value("${sdk.alipay.signType}") private String signType; /** * 网关 */ @Value("${sdk.alipay.gatewayUrl}") private String gatewayUrl; /** * 编码 */ @Value("${sdk.alipay.charset}") private String charset; /** * 异步通知地址 */ @Value("${sdk.alipay.notifyUrl}") private String notifyUrl; /** * 类型 */ @Value("${sdk.alipay.format}") private String format; /** * 商户号 */ @Value("${sdk.alipay.sysServiceProviderId}") private String sysServiceProviderId;

登陆支付宝开放平台进行沙箱环境配置

807a33e2f7ae2444a9549e05a070c063.png

配置截图

注意:沙箱环境的支付宝网关、公钥私钥都和正式不同,现在做的是沙箱环境的模拟支付

生成RSA密钥:https://docs.open.alipay.com/291/106074上传应用公钥并获取支付钥:https://docs.open.alipay.com/291/105972/使用应用私钥生成请求签名:https://docs.open.alipay.com/291/105974/使用支付宝公钥验签:https://docs.open.alipay.com/291/106074/下载密匙生成工具:https://docs.open.alipay.com/291/105971
983ab1802727dfaf13165906714c47b3.png

配置截图

然后生成密钥:

d42378b7d1c69aae52b3e885f1985569.png

生成公钥 私钥以后把公钥上传到支付宝,在开发者配置中点击 RSA2(SHA256)密钥

如下图:

f63365d11ccbce74d6d5d26e324f7776.png

配置信息

上传成功之后点击查看支付宝公钥,注意这里不要搞反了在配置文件中我们要的是支付宝给我们的公钥不是我们刚刚生成的公钥!

dd7bb37566cdf133303c2bfaa318ea35.png

配置成功,现在配置项目

打开配置文件添加配置:

e31ad3c9284595c113180aa9f90257cb.png
商户私钥就是刚刚生成的私钥支付宝公钥不是我们生成的公钥,是支付宝给我们的公钥切记 不然签名校验会不通过

添加生成支付代码,简单创建支付没有加参数和业务代码:

@Override

public String payWithAliPay() throws AlipayApiException {

/**

* 业务代码

*/

String order_no = UUID.randomUUID().toString(); //77777777

String body = "";

String total_fee = "999.99"; //真实金钱

AlipayClient alipayClient = new DefaultAlipayClient(aliPayConfig.getGatewayUrl(), aliPayConfig.getAppID(), aliPayConfig.getMerchantPrivateKey(), aliPayConfig.getFormat(),

aliPayConfig.getCharset(), aliPayConfig.getAlipayPublicKey(), aliPayConfig.getSignType()); //获得初始化的AlipayClient

AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();//创建API对应的request类

JSONObject jsonObject = new JSONObject();

/**

* 订单号

*/

jsonObject.put("out_trade_no

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值