在tp5框架中調用支付寶小程序生成二維碼alipay.mobile.public.qrcode.create接口

官方文檔
下載支付寶sdk後解壓放到extend目錄下
在public/index.php中定義常量

define('ALI_PATH',__DIR__.'/../extend/alipay/aop/');

創建控制器並寫入代碼

require ALI_PATH . 'AopClient.php';
require ALI_PATH . 'request/AlipayOpenAppQrcodeCreateRequest.php';
class Good extends Apiclass{
	public function getqrcode($uid)
    {
        $aop = new \AopClient ();
        $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
        $aop->appId = self::$appid;
        $aop->rsaPrivateKey = self::$prikey;
        $aop->alipayrsaPublicKey = self::$alipubkey;
        $aop->apiVersion = '1.0';
        $aop->signType = 'RSA2';
        $aop->postCharset = 'UTF-8';
        $aop->format = 'json';
        $request = new \AlipayOpenAppQrcodeCreateRequest ();
        $request->setBizContent("{" .
            "\"url_param\":\"/pages/index/index\"," . //跳轉的小程序頁面路徑
            "\"query_param\":\"id=".$uid."\"," . //頁面需要的參數
            "\"describe\":\"支付寶掃一掃\"" . " }"
        );
        $result = $aop->execute ( $request);
        $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
        $resultCode = $result->{$responseNode}->code;
        if(!empty($resultCode)&&$resultCode == 10000)
        {
            $user = AliUsers::find($uid);
            $user->qrcode = $result->{$responseNode}->qr_code_url; //生成二維碼的圖片路徑
            $user->save();
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章