官方文档
下载支付宝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();
}
}
}