SpringBoot集成支付宝踩坑

本文分享了在SpringBoot应用中集成支付宝支付时遇到的两个主要问题:1) 商品名称包含中文导致的异步通知接口参数乱码,解决方法是在出现乱码时才进行特定的转码操作;2) 直接使用中文拼接商品信息引起验签失败,需避免在程序中直接拼接字符串。通过这两个案例,提醒开发者注意字符编码和签名验证的正确处理。
摘要由CSDN通过智能技术生成

1、参数乱码

发起支付的接口,如果你的商品名称存在中文,如下图:
商品信息
拿第一条数据来看,那么它将会在异步通知接口解析的商品名称的时候会变成这种格式:???_AABB
支付宝支付支付信息乱码
造成的结果:支付同样能成功,只是异步接口会报错,控制台报错提示:验签失败。
造成的原因:我测试过程中并没有出现乱码,我就加上了将转码操作,看上图倒数第五行代码,我去掉这个转码操作,传入汉字就没有问题了。这段转码代码,只有当你出现乱码的时候在使用,不然有可能就像我这样,画蛇添足,反而会出现新的问题。

2、拼写中文验签失败

直接使用中文写商品信息导致验签失败,如下图:
直接拼写中文导致验签失败
看商品描述,我这里直接使用中文,或者拼接中文,发起支付的时候,直接提示验签失败,如下图:
支付宝支付验签失败
切记不可在程序中直接拼接字符串。
当时遇到第二种情况的时候还真以为是公钥和私钥的不配呢,这个提示确实不太明确。

以上就是我在使用SpringBoot集成支付宝支付遇到的坑,后面如果在遇到其他坑我也会继续补充的~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值