1、首先把商户应用搞定
2、然后公钥私钥配置好,然后直接找到对应文档就ok
3、 注意的是,对应sdk下载好了之后,要修改几个地方(AopClient文件里面的signdata这里,要么再前面加上 '/' 要么再signdata里面加上命名空间,看自己习惯),加上命名空间更简洁点。
<?php
/**
* Created PhpStorm.
* User: 1971229701@qq.com
* Date: 2019/11/5
* Time: 9:18
*/
namespace app\index\controller;
use alipay\aop\AopClient;
use alipay\aop\request\AlipayTradePayRequest;
use alipay\aop\request\AlipayTradePrecreateRequest;
class Alipay
{
protected $pubKey;
protected $proKey;
protected $appId;
protected $url;
public function __construct()
{
$this->pubKey = '自己的公钥';
$this->proKey = '自己的私钥';
$this->appId = '自己的appid';
$this->url = 'https://www.kuaizhan.com/common/encode-png?large=true&data=';
EXTEND_PATH.'alipay/aop';
}
public function aliPay()
{
$aop = new AopClient();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = $this->appId;
$aop->rsaPrivateKey = $this->proKey;
$aop->alipayrsaPublicKey=$this->pubKey;
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='utf-8';
$aop->format='json';
$request = new AlipayTradePrecreateRequest();
$data = [
'out_trade_no' => '20150320010101000',
'total_amount' => '0.01',
'subject' => '商品订单'
];
$request->setBizContent(json_encode($data,JSON_UNESCAPED_UNICODE));
$result = $aop->execute($request);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultCode = $result->$responseNode->code;
$qr_code = $result->$responseNode->qr_code;
if(!empty($resultCode)&&$resultCode == 10000){
// 生成二维码
$url = $this->url.$qr_code;
echo "<img src='{$url}' style='width:300px;'><br>";
} else {
echo "失败";
}
}
}
请求成功,会返回qr_code(一串https的url)参数,转换成二维码就好了