- 开始使用
- 公众号
- 微信支付
- 小程序
- 开放平台
- 企业微信
- 企业微信开放平台
- 小微商户
- 自定义
- 其他
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
JSSDK
JSSDK 模块用于生成调起微信支付以及共享收货地址的调用所需的配置参数。
配置
use EasyWeChat\Factory;
$config = [
// 前面的appid什么的也得保留哦
'app_id' => 'xxxx',
'mch_id' => 'your-mch-id',
'key' => 'key-for-signature',
'cert_path' => 'path/to/your/cert.pem', // XXX: 绝对路径!!!!
'key_path' => 'path/to/your/key', // XXX: 绝对路径!!!!
'notify_url' => '默认的订单回调地址', // 你也可以在下单时单独设置来想覆盖它
// 'device_info' => '013467007045764',
// 'sub_app_id' => '',
// 'sub_merchant_id' => '',
// ...
];
$payment = Factory::payment($config);
$jssdk = $payment->jssdk;
生成支付 JS 配置
有三种发起支付的方式:WeixinJSBridge, JSSDK, 小程序
WeixinJSBridge:
$json = $jssdk->bridgeConfig($prepayId); // 返回 json 字符串,如果想返回数组,传第二个参数 false
javascript:
... WeixinJSBridge.invoke( 'getBrandWCPayRequest', <?= $json ?>, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ) { // 使用以上方式判断前端返回,微信团队郑重提示: // res.err_msg将在用户支付成功后返回 // ok,但并不保证它绝对可靠。 } } ); ...
JSSDK:
$config = $jssdk->sdkConfig($prepayId); // 返回数组
javascript:
wx.chooseWXPay({ timestamp: <?= $config['timestamp'] ?>, nonceStr: '<?= $config['nonceStr'] ?>', package: '<?= $config['package'] ?>', signType: '<?= $config['signType'] ?>', paySign: '<?= $config['paySign'] ?>', // 支付签名 success: function (res) { // 支付成功后的回调函数 } });
小程序:
$config = $jssdk->bridgeConfig($prepayId, false); // 返回数组
javascript:
wx.requestPayment({ timeStamp: <?= $config['timeStamp'] ?>, //注意 timeStamp 的格式 nonceStr: '<?= $config['nonceStr'] ?>', package: '<?= $config['package'] ?>', signType: '<?= $config['signType'] ?>', paySign: '<?= $config['paySign'] ?>', // 支付签名 success: function (res) { // 支付成功后的回调函数 } });
生成共享收货地址 JS 配置
发起 OAuth 授权,获取用户
$accessToken
,参考网页授权章节。使用
$accessToken
获取配置
$configForPickAddress = $jssdk->shareAddressConfig($token);
// 拿着这个生成好的配置 $configForPickAddress 去订单页(或者直接显示订单页)写 js 调用了
// ...
生成 APP 支付配置
$config = $jssdk->appConfig($prepayId);
$config
为数组格式,你可以用 API 返回给客户端
二维码生成工具推荐
你也许需要生成二维码,那么以下这些供参考:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论