1、参数乱码
发起支付的接口,如果你的商品名称存在中文,如下图:
拿第一条数据来看,那么它将会在异步通知接口解析的商品名称的时候会变成这种格式:???_AABB
造成的结果:支付同样能成功,只是异步接口会报错,控制台报错提示:验签失败。
造成的原因:我测试过程中并没有出现乱码,我就加上了将转码操作,看上图倒数第五行代码,我去掉这个转码操作,传入汉字就没有问题了。这段转码代码,只有当你出现乱码的时候在使用,不然有可能就像我这样,画蛇添足,反而会出现新的问题。
2、拼写中文验签失败
直接使用中文写商品信息导致验签失败,如下图:
看商品描述,我这里直接使用中文,或者拼接中文,发起支付的时候,直接提示验签失败,如下图:
切记不可在程序中直接拼接字符串。
当时遇到第二种情况的时候还真以为是公钥和私钥的不配呢,这个提示确实不太明确。
以上就是我在使用SpringBoot集成支付宝支付遇到的坑,后面如果在遇到其他坑我也会继续补充的~