fecmall多商户分销, 支付宝沙箱支付,校验错误

bug问题 · woofeng · 于 3年前 发布 · 1472 次阅读

安装的版本情况:

  • PHP Version 7.2.0
  • nginx 1.16.1
  • CentOS Linux release 7.6.1810 (Core)
  • Fecbbc 多商户电商系统(B2B2C) ( 6.30MB ) 版本: 1.10.7
  • fecbdc多商户分销扩展系统(三级分销) ( 1.35MB ) 版本: 1.5.6
  • "fancyecommerce/fecshop": "2.11.1" (参考 composer.json 文件)

操作步骤:

  1. 在阿里支付宝开发者中心(https://openhome.alipay.com/) 配置支付宝支付,沙箱模式。
  2. 在fecmall的admin后台,完成支付宝参数配置,包括app id,seller id,RSA私钥,RSA公钥配置。选择沙箱模式
  3. 支付测试。发起一次购物,以 买家账号rfipqf0691@sandbox.com (支付宝平台分配),支付密码 111111 (支付宝平台分配)发起支付。

问题描述:

在沙箱版本的支付宝,显示支付成功。(虚拟币,从买家支付到了商家,且数据无误)。既然支付宝这边都显示支付正常,为什么 fecmall程序报错? fecmall程序报错,提供的异常信息如下:

Exception: check sign Fail! [sign=Sby2lOvqnyxueaCwE4eisHWqDEct/+VQokl8RItjnQFeNGbqXy8UYO8h+o2WfmgnKiGvZBg4Goa9fX18WVss+D1Foq9LKuRTaBrc5fUY5ZEaXi+3RFjwl0TDkdPqYw8LajFin5fPbpBy7wtzPr8lMi2NDj4I5eAL7oltmQa1CQhkJ/UQjxdIHgZ2uBXKDEw5j5kR0rEub9Jjcl7SUMHJSiRIaKXh3ehKJFRe4C4G8ZBzuichiXYZw90xQ1n5XAwFAcnmzFf4aDtH548GCWjs8YMxKLfOO3t2xw7fICHx6SmEipHm60a28QBnPZ8GNrC6o4Op8cDalQqJcRYQ1Z9yXQ==, signSourceData={"code":"10000","msg":"Success","buyer_logon_id":"rfi***@sandbox.com","buyer_pay_amount":"0.00","buyer_user_id":"2088622955945803","buyer_user_type":"PRIVATE","invoice_amount":"0.00","out_trade_no":"pay_no_b914-11eb-8ef0-525400c32","point_amount":"0.00","receipt_amount":"0.00","send_pay_date":"2021-05-20 10:39:34","total_amount":"131.00","trade_no":"2021052022001445800501195441","trade_status":"TRADE_SUCCESS"}] in /var/www/fecmall/vendor/fancyecommerce/fecshop/lib/alipay/aop/AopClient.php:1056
Stack trace:
#0 /var/www/fecmall/vendor/fancyecommerce/fecshop/lib/alipay/aop/AopClient.php(559): AopClient->checkResponseSign(Object(AlipayTradeQueryRequest), Object(SignData), '{"alipay_trade_...', Object(stdClass))
#1 /var/www/fecmall/addons/fecmall/fecbbc/services/payment/Alipay.php(246): AopClient->execute(Object(AlipayTradeQueryRequest))
#2 /var/www/fecmall/vendor/fancyecommerce/fecshop/app/apphtml5/modules/Payment/controllers/alipay/StandardController.php(40): fecbbc\services\payment\Alipay->review()
#3 [internal function]: fecshop\app\apphtml5\modules\Payment\controllers\alipay\StandardController->actionReview()
#4 /var/www/fecmall/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#5 /var/www/fecmall/vendor/yiisoft/yii2/base/Controller.php(181): yii\base\InlineAction->runWithParams(Array)
#6 /var/www/fecmall/vendor/yiisoft/yii2/base/Module.php(534): yii\base\Controller->runAction('review', Array)
#7 /var/www/fecmall/vendor/yiisoft/yii2/web/Application.php(104): yii\base\Module->runAction('payment/alipay/...', Array)
#8 /var/www/fecmall/vendor/yiisoft/yii2/base/Application.php(392): yii\web\Application->handleRequest(Object(fecshop\yii\web\Request))
#9 /var/www/fecmall/apphtml5/web/index.php(63): yii\base\Application->run()
#10 {main}
~~~~~
> 本文由 [woofeng](http://www.getyii.com/member/woofeng) 创作,采用 [知识共享署名 3.0 中国大陆许可协议](http://creativecommons.org/licenses/by/3.0/cn) 进行许可。
可自由转载、引用,但需署名作者且注明文章出处。
共收到 3 条回复
Fecmall#13年前 0 个赞

支付问题,重现问题比较难,需要您自己debug一下,找找原因

我这边沙盒环境支付没有问题

woofeng#23年前 0 个赞

在生成密钥操作时(https://miniu.alipay.com/keytool/create) , 下面这2个选择: 密钥长度: RSA2 RSA(不推荐) 密钥格式: PKCS8(JAVA适用) PKCS1(非JAVA适用)

我选择的是缺省:RSA2,PKCS8(JAVA适用), 这个有没有问题?

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics