后端php代码:
$data = [
'offerId' => '1450182343',//商户号
'buyQuantity' => 1,//数量
'env' => 1,//环境
'currencyType' => 'CNY',
'productId' => 'goods_1',//道具名称
'goodsPrice' => 10,//金额(分)
'outTradeNo' => "2023152042",//订单号
'attach' => "2023152042",//订单号
];
ksort($data);
//沙箱key
$app_key='EBfL1u2yik9Jr5zzXGe2SsqH6cBHN3uC';
$str = json_encode($data);
$paySig = hash_hmac("sha256", $app_key, 'url=requestVirtualPayment&' . $str);
$sessiconkey = '14mL6/mKP7GBNZaAA9a0+NA==';//通过api(jscode2session)获取到的session_key
$signature = hash_hmac("sha256", $sessiconkey, $str);
api代码:
api:wx.requestVirtualPayment({
"mode":"short_series_goods",
"signData":JSON.stringify(str),
"paySig":paySig,
"signature":signature,
})
调用报错:requestVirtualPayment:fail SIG_EMPT,-15001
是我弄得有问题,还是怎么啦,望官方给看下啦,谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
问题已解决,是自己参数弄得有问题
$data = [ 'offerId' => '1450182343',//商户号 'buyQuantity' => 1,//数量 'env' => 1,//环境 'currencyType' => 'CNY', 'productId' => 'goods_1',//道具名称 'goodsPrice' => 10,//金额(分) 'outTradeNo' => "2023152042",//订单号 'attach' => "2023152042",//订单号 ]; ksort($data); //沙箱key $app_key='EBfL1u2yik9Jr5zzXGe2SsqH6cBHN3uC'; $str = json_encode($data); $paySig = hash_hmac("sha256", 'requestVirtualPayment&' . $str ,$app_key); $sessiconkey = '14mL6/mKP7GBNZaAA9a0+NA==';//通过api(jscode2session)获取到的session_key $signature = hash_hmac("sha256", $str , $sessiconkey)