开发者社区 问答 正文

通过后台返回的orderString只能调起一次支付宝app,更换orderString则无法再次调起

在做支付宝对接时,后台返回的orderString第一次我可以调起andriod的支付宝App,只要不支付可以一直调起,但是如果我重新请求,更换新的orderString,则无法再次调起,这是为何。

附上第二次的orderString(app_id):
alipay_sdk=alipay-sdk-java-3.3.4.ALL&app_id=2017080208007475&biz_content=%7B%22body%22%3A%22%E7%94%B5%E5%AD%90%E4%BA%A7%E5%93%81%22%2C%22out_trade_no%22%3A%22train_pay_156094043500%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22subject%22%3A%22%E5%9C%A8%E7%BA%BF%E8%AF%BE%E7%A8%8B3%22%2C%22total_amount%22%3A%220%22%7D&charset=UTF-8&format=json&method=alipay.trade.app.pay&notify_url=http%3A%2F%2Fxm.appgy.pw%3A38080%2Fapi%2Ftraining%2Fnotify_url.json&return_url=http%3A%2F%2Fwww.xxx.com%2Falipay%2Freturn_url.do&sign=KJ4NyofKzL10Ljh7PX0W6N8neLlA2VzvHJUiZv%2BLXee%2Be447iwcyYu13lVAMEzaHtS6Lh%2FJQDW%2FEj0Htrj%2BVC58ikRVUXI2A1SRASlEsMkyVH4uDaUWmWAd3IGiHK9uwa2RvISTgikWtDGbkQCGHgsvz3m%2FVuK3ZE8FxkDpZzImoc%2Bis9SSY2AiRX1R58e3F4oVUUbi7k7SDr%2BD2%2FD8byJv8DNmquHfgxKeMQHy45h2vdLKxJv4MndHHBQlJSE5gyfAx8UmG9vYouxEclxlJkjjAVZLJJsCQ%2Fe3wZhTD4lmndg%2FsvpeU2SPivZAtj7HaNfUXX5MHbcMjP%2B1xxt8AfA%3D%3D&sign_type=RSA2&timestamp=2019-06-20+13%3A23%3A17&version=1.0

展开
收起
游客zo7iwb2n4wr5m 2019-06-20 18:02:56 2867 分享 版权
阿里云 AI 助理回答

遇到您描述的问题,可能涉及几个方面的原因,请检查以下几点:

  1. orderString的有效性:确保第二次请求生成的orderString是有效的且未被使用过。支付宝的支付订单通常是一次性的,一旦生成并尝试支付后(不论是否完成支付),该订单就不能再用于发起新的支付请求。您需要为每次支付请求生成新的订单信息。

  2. App端处理逻辑:检查您的Android应用中处理支付请求的代码逻辑。可能存在缓存或状态管理问题,导致应用在尝试用新订单调起支付宝时,实际上并未使用新的orderString。请确保每次调用支付接口时,都正确地使用了最新的订单字符串。

  3. 支付宝SDK版本与配置:您提到的app_id=alipay_sdk=alipay-sdk-java-3.3.4.ALL看起来像是一个标识而非实际的app_id。请确认在您的应用中正确设置了您的AppID,并且使用的支付宝SDK版本与您的需求兼容且已正确配置。有时候,旧版SDK可能对某些新特性支持不完全,建议检查是否有SDK更新,并参考最新的集成文档进行调整。

  4. 签名与安全设置:确保生成orderString时的签名过程没有问题,包括私钥、公钥的正确性和时间戳的准确性等。支付宝支付请求的签名必须严格符合要求,任何变动都可能导致验证失败,从而无法调起支付界面。

  5. 日志与调试信息:查看服务器和客户端的日志,特别是支付宝SDK返回的错误码和错误信息,这将直接指向问题所在。根据这些信息可以在支付宝开放平台的文档中查找对应的解决方案。

如果以上检查均无误,建议联系支付宝开发者支持获取更专业的帮助,可能需要提供详细的请求参数、返回结果以及错误信息以便进一步排查。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答