Closed esolo0121 closed 7 years ago
期待你的回复
@esolo0121 https://easywechat.org/zh-cn/docs/oauth.html
@lokielse 额,貌似问题不在于怎么获取Open_id 而在于如何设置open_id . setOpenId()并不存在
@phpstudyer @esolo0121
$order = [
'body' => 'The test order',
'out_trade_no' => date('YmdHis').mt_rand(1000, 9999),
'total_fee' => 1, //=0.01
'spbill_create_ip' => 'ip_address',
'fee_type' => 'CNY',
'open_id' =>'xxxxxxx'
];
@lokielse 哈哈,我改了你的源码.你的这个方式也行.谢谢了
@lokielse 楼主给的链接 这个方法,只是设置openid,并不是获取。 @phpstudyer 能否上一份获取openid的方法?
`
| { | $this->setParameter('open_id', $openId); | }
`
@esolo0121 这个是微信这块的了.
public function getOpenId($appid, $secret, $jsCode, $grantType) { $url = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$secret&js_code=$jsCode&grant_type=$grantType"; $res = json_decode(file_get_contents($url), true); if (isset($res['errcode'])) { throw new \Exception($res['errmsg']); } return $res['openid']; }
这个是官方给的demo 可以直接用的
@phpstudyer 谢谢,我先试着用下
@phpstudyer @lokielse 我用我的方法也实现了,就是看着代码太乱,楼主是否能整合下获取openid的功能,这样用插件的意义就更大了
不整合,见我第一个回复。
用的WechatPay_Js 公众号支付,而公众号支付,需要用户OPENID,找许久,源码里没有关于获取OPENID的代码,不知楼主是否有做相关功能?或者说是否有公众号支付的相关案例。以下是提示错误:
The open_id parameter is required
我的代码是: ` $gateway = Omnipay::create('WechatPay_Js'); $gateway->setAppId(config('pay.wechatpay.appid')); $gateway->setMchId(config('pay.wechatpay.mchid')); $gateway->setApiKey(config('pay.wechatpay.key')); $gateway->setNotifyUrl('http://example.com/notify'); $gateway->setTradeType('JSAPI');
`