我已經(jīng)將v2版本的服務(wù)商支付跑起來(lái)了。
目前嘗試改造v3版,依托于v2已經(jīng)在傳遞的是sub_openid
在PayClient中將v3的普通商戶的接口常量替換為服務(wù)商api接口。
改造了對(duì)應(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中增加了對(duì)應(yīng)的參數(shù)。
實(shí)際在小程序中調(diào)用的時(shí)候提示“請(qǐng)求中含有未在API文檔中定義的參數(shù)”
我也一一反復(fù)對(duì)比了微信官方文檔和easywechat的官方文檔。感覺(jué)我這里的改造應(yīng)該沒(méi)有問(wèn)題啊。
麻煩請(qǐng)各位指點(diǎn)一下,是哪里出的問(wèn)題。