thinkphp 支付宝支付接口

支付宝sdk放到thinkphp /extend/alipay目录下。
支付逻辑:
1,执行 appPay() 方法调启支付接口,传入订单信息。金额等,并且设置回调路径公网域名路径 config['notify_url']),echo $response把订单信息输出给app端,app端会调启支付宝终端进行支付输入支付宝密码登录逻辑。
2,notify_url这个回调路径会接收到支付宝异步返回过来的请求。
notify_url返回内容文档

gatewayUrl = "https://openapi.alipay.com/gateway.do";
        $aop->appId = $config['app_id']; // APPID
        $aop->rsaPrivateKey = $config['partner_private_key']; //私钥
        $aop->format = "json";
        $aop->charset = "UTF-8";
        $aop->signType = "RSA2";
        $aop->alipayrsaPublicKey = $config['alipay_public_key']; //公钥
        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
        $request = new \AlipayTradeAppPayRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
        $bizcontent = "{\"body\":\"我是测试数据\","
            . "\"subject\": \"App支付测试\","
            . "\"out_trade_no\": \"70501111111S0011011119\","
            . "\"timeout_express\": \"60m\","
            . "\"total_amount\": \"0.01\","
            . "\"product_code\":\"QUICK_MSECURITY_PAY\""
            . "}";
        $request->setNotifyUrl($config['notify_url']);
        $request->setBizContent($bizcontent);
//这里和普通的接口调用不同,使用的是sdkExecute
        $response = $aop->sdkExecute($request);
//htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题
        // 首先调用支付api
        // $response = $this->aopclientRequestExecute($request, true);
        echo $response;
        // echo htmlspecialchars($response); //就是orderString 可以直接给客户端请求,无需再做处理。
    }
}

pageExecute 是PC和手机网站 有页面输出
Execute API调用 没页面输出
SdkExecute APP服务端的

你可能感兴趣的:(thinkphp 支付宝支付接口)