支付宝扫码支付 基于Thinkphp5框架

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)参数,转换成二维码就好了 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值