在阿里云api调用接时,【alipay-nativePay】系统异常:java.lang.RuntimeException: com.alipay.api.AlipayApiException: RS

在阿里云api调用接时,调用alipay.trade.precreate(统一收单线下交易预创建)接口时出现
{“code”:“10000”,“msg”:“Success”,“out_trade_no”:“1144129626204667904”,“qr_code”:“https://qr.alipay.com/bax00022tldi82dwzbvp6013”},sign=bEOzZidNQQh2fq4ExHpmp/BPkVb72T8JdG97+ou4aT2fVWjDkkxazKdRqndLMXMBRrY9OxUyi0qo9q/imhVHFyTzkvigrvhStllpabcYS1TC4X4vQZqMq2byk0dGRpLQRNoGHETAnBE+1NJh4Z0xhQ5lJOXABAQT1rL+xX7fKAFu+IsCKfGx7k36E90+5qeaY/kDneqBDP6RUyVR5QrY8Ir+UTOa8pwjMnQ0dVkC6meOr7b6HzL58S24zldv8/utwYPa1CoiAw89lx5RJm8eENUDk0nyGEW

发现是在官方api文档上出现
AlipayTradePrecreateResponse response = alipayClient.execute(request);

其实通过错误不难发现,错误是已经完成了支付单生成,需要对异常进行处理,我先try catch操作,发现不好使,throws操作同样不好使

最后仔细看了下
AlipayClient alipayClient = new DefaultAlipayClient(“https://openapi.alipay.com/gateway.do",“app_id”,"your private_key”,“json”,“GBK”,“alipay_public_key”,“RSA2”);
[外链图片转存失败(img-ed4WGE0t-1564990470133)(en-resource://database/775:1)]
竟然是alipay_public_key,我给看成了public_key,要注意对应数值,更改完毕就可以了
好啦,以上就是我分享的全部内容啦,请大家多多指教!【ヾ(•ω•`)o~】

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
当使用alipay.trade.wap.pay接口生成支付链接时,支付宝会返回一个HTML片段,其中包含了一个form表单,该表单的action值是支付宝的支付地址,表单中包含了一些必要的参数和签名信息。 为了在前端使用这个form表单,可以将返回的HTML片段直接插入到页面中,或者使用JavaScript动态创建一个form表单,并将返回的HTML片段中的input元素的name和value分别对应到动态创建的form表单的input元素中。最后,将动态创建的form表单插入到页面中,并调用submit()方法即可实现跳转到支付宝支付页面的功能。 以下是一个使用JavaScript动态创建form表单的示例代码: ```javascript // 假设返回的HTML片段存储在responseHtml变量中 const responseHtml = '<form action="https://openapi.alipay.com/gateway.do?charset=utf-8" method="POST"><input type="hidden" name="app_id" value="123456"/><input type="hidden" name="biz_content" value="%7B%22out_trade_no%22%3A%221234567%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%22test%22%2C%22product_code%22%3A%22QUICK_WAP_PAY%22%7D"/><input type="hidden" name="charset" value="utf-8"/><input type="hidden" name="method" value="alipay.trade.wap.pay"/><input type="hidden" name="sign" value="xxxx"/><input type="hidden" name="sign_type" value="RSA2"/><input type="hidden" name="timestamp" value="2021-08-01 12:00:00"/><input type="hidden" name="version" value="1.0"/></form>'; // 创建一个div元素 const div = document.createElement('div'); // 将HTML片段插入到div元素中 div.innerHTML = responseHtml; // 获取form表单元素 const form = div.querySelector('form'); // 创建一个button元素 const button = document.createElement('button'); // 设置button的点击事件,点击后提交form表单 button.onclick = function() { form.submit(); }; // 将button元素插入到div元素中 div.appendChild(button); // 将div元素插入到页面中 document.body.appendChild(div); ``` 需要注意的是,为了保证支付安全,应该在服务端生成支付链接和签名信息,并在前端将生成的form表单直接插入到页面中,以避免支付参数泄露。另外,为了保证支付流程的顺利进行,建议在form表单中的input元素的name和value值与支付宝文档中的要求一致。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值