支付宝手机网页支付java demo调试问题和解决办法

在使用支付宝手机网页支付的时候遇到一些问题跟大家分享一下。

1.生成签名的时候,使用Base64加密时报错:DerInputStream.getLength():lengthTag = 127, too big.

这个问题是因为商户密钥没有设置,在AlipayConfig中配置好合作伙伴ID和商户密钥,注意:java版的密钥要经过处理,具体方法参考官网

2.生成签名的时候,报错:DER input, Integer tag error.

这个问题主要是商户密钥中用的是RSA公钥,要用openssl进行加密再填入商户密钥,注意:openssl windows版本在下载下来的demo中已经有了,不用再上网找,并且网上的方法很麻烦。


3.错误代码:ILLEGAL_SIGN

主要是使用的私钥跟合作伙伴ID对应的公钥匹配不上,一定要用自己上传的公钥对应的私钥。注意:因为首先是openssl随机生成私钥,然后再通过openssl生成公钥,如果私钥忘了,最好是重新生成一个,然后再生成对应的私钥,把公钥上传给支付宝。(官网有说)

总的来说并不复杂,只是一些小问题,以下是调试成功的时候的图片,注意:调试的时候金额最好是0.01元,你懂的。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个支付宝支付请求的示例代码: ```java // 导入相关的包 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/pay") public class PayController { @Autowired private PayService payService; // 创建支付令牌 @PostMapping("/createPayToken") public ResponseBase createPayToken(@RequestBody PaymentInfo paymentInfo) { return payService.createToken(paymentInfo); } // 使用支付令牌查找支付信息 @PostMapping("/findPayToken") public ResponseBase findPayToken(@RequestParam("payToken") String payToken) { return payService.findPayToken(payToken); } } ``` 请注意,上述代码是一个简化的示例,其`PayService`是一个自定义的服务类,用于处理支付相关的逻辑。你需要根据自己的实际情况进行相应的修改和调整。 另外,成功页面的模板可以使用以下代码进行展示: ```html <h3>您的订单号为 ${outTradeNo},支付宝交易号${tradeNo},支付成功了一笔${totalAmount}元。</h3> ``` 这个模板可以根据实际需求进行修改和美化。 #### 引用[.reference_title] - *1* *2* *3* [支付宝支付对接DEMO](https://blog.csdn.net/w1316022737/article/details/89433350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值