src/AppBundle/Component/Payment/Wxpay/JsApiPay.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace AppBundle\Component\Payment\Wxpay;

/**
 * JSAPI支付实现类
 * 该类实现了从微信公众平台获取code、通过code获取openid和access_token、
 * 生成jsapi支付js接口所需的参数、生成获取共享收货地址所需的参数.
 *
 * 该类是微信支付提供的样例程序,商户可根据自己的需求修改,或者使用lib中的api自行开发
 *
 * @author widy
 */
class JsApiPay
{
    private $config;

    private $request;

    private $curl_timeout = 10;

    private $mockedCurl = null;

    public function __construct($config, $request)
    {
        $this->config = $config;
        $this->request = $request;
    }

    /**
     * 网页授权接口微信服务器返回的数据,返回样例如下
     * {
     *  "access_token":"ACCESS_TOKEN",
     *  "expires_in":7200,
     *  "refresh_token":"REFRESH_TOKEN",
     *  "openid":"OPENID",
     *  "scope":"SCOPE",
     *  "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
     * }
     * 其中access_token可用于获取共享收货地址
     * openid是微信支付jsapi支付接口必须的参数.
     *
     * @var array
     */
    public $data = null;

    /**
     * 通过跳转获取用户的openid,跳转流程如下:
     * 1、设置自己需要调回的url及其其他参数,跳转到微信服务器https://open.weixin.qq.com/connect/oauth2/authorize
     * 2、微信服务处理完成之后会跳转回用户redirect_uri地址,此时会带上一些参数,如:code.
     *
     * @return 用户的openid
     */
    public function getOpenid()
    {
        //缓存$openid
        $openid = $this->request->getSession()->get('openid');
        if ($openid) {
            return $openid;
        }

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。