Closed andy236726493 closed 11 months ago
"yansongda/hyperf-pay": "~1.5.0", "yansongda/pay": "~3.5.0",
'wechat' => [ 'test' => [ // 必填-商户号,服务商模式下为服务商商户号 'mch_id' => '1575**03251', //服务商 // 选填-v2商户私钥 'mch_secret_key_v2' => '', // 必填-商户秘钥 'mch_secret_key' => 'be9ee1a1f7d2c053ee**efb9e13624038', //服务商 // 必填-商户私钥 字符串或路径 'mch_secret_cert' => BASE_PATH . "/config/wechat/payconfig/service/apiclient_key.pem", //服务商 // 必填-商户公钥证书路径 'mch_public_cert_path' => BASE_PATH . "/config/wechat/payconfig/service/apiclient_cert.pem", //服务商 // 必填 'notify_url' => env('APP_URL') . "/api/wechat/pay/notify", // 选填-公众号 的 app_id 'mp_app_id' => 'wxffc2add84**1c7676c8', //服务商 // 选填-小程序 的 app_id 'mini_app_id' => '', // 选填-app 的 app_id 'app_id' => '', // 选填-合单 app_id 'combine_app_id' => '', // 选填-合单商户号 'combine_mch_id' => '', // 选填-服务商模式下,子公众号 的 app_id 'sub_mp_app_id' => '', // 选填-服务商模式下,子 app 的 app_id 'sub_app_id' => '', // 选填-服务商模式下,子小程序 的 app_id 'sub_mini_app_id' => '', // 选填-服务商模式下,子商户id 'sub_mch_id' => '1635**30426', //子商户 // 选填-微信公钥证书路径, optional,强烈建议 php-fpm 模式下配置此参数 'wechat_public_cert_path' => [ '45F59D4DABF31918AFCEC556D5D2C6E376675D57' => '/www/wwwroot/cs.web.com/config/wechat/cert/wechatPublicKey.crt', ], // 选填-默认为正常模式。可选为: MODE_NORMAL, MODE_SERVICE 'mode' => Pay::MODE_SERVICE, ], ], 'logger' => [ 'enable' => true, 'file' => '/www/wwwroot/cs.web.com/public/uploadfile/log/loger.log', // 请注意权限 'level' => 'debug', // 建议生产环境等级调整为 info,开发环境为 debug 'type' => 'single', // optional, 可选 daily, daily 时将按时间自动划分文件. 'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天 ],
use Yansongda\HyperfPay\Pay; public function order(Pay $pay) { $out_trade_no = (string ) time(); $params = [ 'out_trade_no' => $out_trade_no, 'description' => 'subject-测试', 'settle_info' => ["profit_sharing"=> true], 'amount' => [ 'total' => 3, ], 'payer' => [ 'openid' => 'odvsB5xPYqmNIZ23rc-nvKbQTvZrt', ], ]; $pay = make(Pay::class); $result = $pay->wechat(array_merge($config, ['_force' => true]))->mp( params );
$data = [ "out_trade_no" => $out_trade_no, "merchant" => "TEST", "bridgeConfig" => $result ]; return $this->success("获取微信统一支付获取成功",$data ); }
"请求中含有未在API文档中定义的参数“,日志中显示是 预下单失败:响应缺少 prepay_id 参数,{"code":"PARAM_ERROR","detail":{"location":null,"value":["/body/payer/openid"]}, 我看了openid 没有错
2023-10-02T22:24:24.389586+08:00 > yansongda.pay.DEBUG > [wechat][InvokePrepayPlugin] 插件开始装载 {"rocket":{"Yansongda\Pay\Rocket":{"radar":{"url":"https://api.mch.weixin.qq.com/v3/pay/partner/transactions/jsapi","method":"POST","headers":{"Host":["api.mch.weixin.qq.com"],"Accept":["application/json, text/plain, application/x-gzip"],"User-Agent":["yansongda/pay-v3"],"Content-Type":["application/json; charset=utf-8"],"Authorization":["WECHATPAY2-SHA256-RSA2048 mchid=\"1575403221\",nonce_str=\"WgwqitF4outfCZER5M2eWtijgoOpjWjj\",timestamp=\"1696256663\",serial_no=\"1B3234D00260E34D9FF276A9190106EC9FFF2EB4\",signature=\"O/OIiL2s+GNNSkF9UfY6T8P9wNJHnyq2B7snpWGw1HlpYwF8Xcfs0tMrs5eSHoCs2BEaOXVI4fIcMAhZxOXKuRjH+aeAYzZcVw1RNDDfTm9NwTPeuYh0hcLKzf0Xo1WsaOvFGAKiAXoIA0iC2diL1UeCcWqsIekEoWbNkFKMsOKospMJ3v0v1BKMGAlSds+7D1eUjoAsiVwQAbqhNKtxEeTTRPI07onsqiWAczlp5V53y1aSvOPbfMGuKMaVv20SqD+kBRVCoZLSC0PIrVxg9U1GoOM7iOvCkMTAzGJNy1IqYpADIXECuqbETA25zcp7tRw6i5WuF2Xrn5hmryXVBQ==\""]},"body":"{\"out_trade_no\":\"1696256671\",\"description\":\"subject-测试\",\"settle_info\":{\"profit_sharing\":true},\"amount\":{\"total\":3},\"payer\":{\"openid\":\"odvsB5xPYqmNIZ2Yc-nvKbQTvZrc\"},\"sp_appid\":\"wxffc2add841c7676c8\",\"sp_mchid\":\"1575403251\",\"sub_mchid\":\"1635430426\",\"notify_url\":\"https:\/\/cs.xftedu.com\/api\/wechat\/pay\/notify\"}"},"params":{"out_trade_no":"1696256663","description":"subject-测试","settle_info":{"profit_sharing":true},"amount":{"total":3},"payer":{"openid":"odvsB5xPYqmNIZ2Yc-nvKytQTvZrt"}},"payload":{"out_trade_no":"1696256663","description":"subject-测试","settle_info":{"profit_sharing":true},"amount":{"total":3},"payer":{"openid":"odvsB5xPYqmNIZ2Yc-nvKbQTvZrc"},"sp_appid":"wxffc2add841c7676c8","sp_mchid":"1575403251","sub_mchid":"1635430426","notify_url":"https://cs.xftedu.com/api/wechat/pay/notify"},"packer":"Yansongda\\Pay\\Contract\\PackerInterface","direction":"Yansongda\\Pay\\Contract\\DirectionInterface","destination":{"code":"PARAM_ERROR","detail":{"location":null,"value":["/body/payer/openid"]},"message":"请求中含有未在API文档中定义的参数"},"destination_origin":{}}}}
2023-10-02T22:24:24.389946+08:00 > yansongda.pay.ERROR > [wechat][InvokePrepayPlugin] 预下单失败:响应缺少 prepay_id 参数,请自行检查参数是否符合微信要求 {"code":"PARAM_ERROR","detail":{"location":null,"value":["/body/payer/openid"]},"message":"请求中含有未在API文档中定义的参数"}
涉及到 异步通知、同步通知 的问题,请贴出来
包版本号
问题描述
你的代码
use Yansongda\HyperfPay\Pay; public function order(Pay $pay) { $out_trade_no = (string ) time(); $params = [ 'out_trade_no' => $out_trade_no, 'description' => 'subject-测试', 'settle_info' => ["profit_sharing"=> true], 'amount' => [ 'total' => 3, ], 'payer' => [ 'openid' => 'odvsB5xPYqmNIZ23rc-nvKbQTvZrt', ], ]; $pay = make(Pay::class); $result = $pay->wechat(array_merge($config, ['_force' => true]))->mp( params );
报错详情
"请求中含有未在API文档中定义的参数“,日志中显示是 预下单失败:响应缺少 prepay_id 参数,{"code":"PARAM_ERROR","detail":{"location":null,"value":["/body/payer/openid"]}, 我看了openid 没有错
sdk 日志
2023-10-02T22:24:24.389586+08:00 > yansongda.pay.DEBUG > [wechat][InvokePrepayPlugin] 插件开始装载 {"rocket":{"Yansongda\Pay\Rocket":{"radar":{"url":"https://api.mch.weixin.qq.com/v3/pay/partner/transactions/jsapi","method":"POST","headers":{"Host":["api.mch.weixin.qq.com"],"Accept":["application/json, text/plain, application/x-gzip"],"User-Agent":["yansongda/pay-v3"],"Content-Type":["application/json; charset=utf-8"],"Authorization":["WECHATPAY2-SHA256-RSA2048 mchid=\"1575403221\",nonce_str=\"WgwqitF4outfCZER5M2eWtijgoOpjWjj\",timestamp=\"1696256663\",serial_no=\"1B3234D00260E34D9FF276A9190106EC9FFF2EB4\",signature=\"O/OIiL2s+GNNSkF9UfY6T8P9wNJHnyq2B7snpWGw1HlpYwF8Xcfs0tMrs5eSHoCs2BEaOXVI4fIcMAhZxOXKuRjH+aeAYzZcVw1RNDDfTm9NwTPeuYh0hcLKzf0Xo1WsaOvFGAKiAXoIA0iC2diL1UeCcWqsIekEoWbNkFKMsOKospMJ3v0v1BKMGAlSds+7D1eUjoAsiVwQAbqhNKtxEeTTRPI07onsqiWAczlp5V53y1aSvOPbfMGuKMaVv20SqD+kBRVCoZLSC0PIrVxg9U1GoOM7iOvCkMTAzGJNy1IqYpADIXECuqbETA25zcp7tRw6i5WuF2Xrn5hmryXVBQ==\""]},"body":"{\"out_trade_no\":\"1696256671\",\"description\":\"subject-测试\",\"settle_info\":{\"profit_sharing\":true},\"amount\":{\"total\":3},\"payer\":{\"openid\":\"odvsB5xPYqmNIZ2Yc-nvKbQTvZrc\"},\"sp_appid\":\"wxffc2add841c7676c8\",\"sp_mchid\":\"1575403251\",\"sub_mchid\":\"1635430426\",\"notify_url\":\"https:\/\/cs.xftedu.com\/api\/wechat\/pay\/notify\"}"},"params":{"out_trade_no":"1696256663","description":"subject-测试","settle_info":{"profit_sharing":true},"amount":{"total":3},"payer":{"openid":"odvsB5xPYqmNIZ2Yc-nvKytQTvZrt"}},"payload":{"out_trade_no":"1696256663","description":"subject-测试","settle_info":{"profit_sharing":true},"amount":{"total":3},"payer":{"openid":"odvsB5xPYqmNIZ2Yc-nvKbQTvZrc"},"sp_appid":"wxffc2add841c7676c8","sp_mchid":"1575403251","sub_mchid":"1635430426","notify_url":"https://cs.xftedu.com/api/wechat/pay/notify"},"packer":"Yansongda\\Pay\\Contract\\PackerInterface","direction":"Yansongda\\Pay\\Contract\\DirectionInterface","destination":{"code":"PARAM_ERROR","detail":{"location":null,"value":["/body/payer/openid"]},"message":"请求中含有未在API文档中定义的参数"},"destination_origin":{}}}}
2023-10-02T22:24:24.389946+08:00 > yansongda.pay.ERROR > [wechat][InvokePrepayPlugin] 预下单失败:响应缺少 prepay_id 参数,请自行检查参数是否符合微信要求 {"code":"PARAM_ERROR","detail":{"location":null,"value":["/body/payer/openid"]},"message":"请求中含有未在API文档中定义的参数"}
nginx/apache 日志