我已經(jīng)將v2版本的服務(wù)商支付跑起來了。
目前嘗試改造v3版,依托于v2已經(jīng)在傳遞的是sub_openid
在PayClient中將v3的普通商戶的接口常量替換為服務(wù)商api接口。
改造了對應(yīng)服務(wù)商的參數(shù)。
原版:
public function pay(string $type, string $appid, string $outTradeNo, string $total, string $description, string $attach, array $payer = [])
{
$totalFee = (int)bcmul($total, '100');
$data = [
'appid' => $appid,
'mchid' => $this->app['config']['v3_payment']['mchid'],
'out_trade_no' => $outTradeNo,
'attach' => $attach,
'description' => $description,
'notify_url' => $this->app['config']['v3_payment']['notify_url'],
'amount' => [
'total' => $totalFee,
'currency' => 'CNY'
],
];
改造后
public function pay(string $type, string $appid, string $outTradeNo, string $total, string $description, string $attach, array $payer = [])
{
$totalFee = (int)bcmul($total, '100');
$data = [
'sp_appid' => $appid,
'sp_mchid' => $this->app['config']['v3_payment']['mchid'],
'sub_mchid' => $this->app['config']['v3_payment']['sub_mch_id'],
'out_trade_no' => $outTradeNo,
'attach' => $attach,
'description' => $description,
'notify_url' => $this->app['config']['v3_payment']['notify_url'],
'amount' => [
'total' => $totalFee,
'currency' => 'CNY'
],
];
其中sub_mch_id已經(jīng)在V3WechatPay中增加了對應(yīng)的參數(shù)。
實際在小程序中調(diào)用的時候提示“請求中含有未在API文檔中定義的參數(shù)”
我也一一反復(fù)對比了微信官方文檔和easywechat的官方文檔。感覺我這里的改造應(yīng)該沒有問題啊。
麻煩請各位指點一下,是哪里出的問題。