您的位置:首页 > 编程语言 > PHP开发

[置顶] ThinkPHP最新版支付宝接口开…

2017-08-31 13:18 288 查看
1 .//首先封装在common里面一个函数供以后调用,,若之后做微信或者其他支付,都可以疯转在一起
function Alipay($order){
    Vendor('Alipay.AopClient');
    $aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do';
 // $aop->gatewayUrl = ' https://openapi.alipay.com/gateway.do'; 
    $aop->appId = '*************************';
    $aop->rsaPrivateKey ='MIIM***************************************BB';
    $aop->apiVersion = '1.0';
    $aop->signType = 'RSA2';
    $aop->postCharset= 'utf-8';
    $aop->format='json';
    $aop->alipayrsaPublicKey ='M***************************************B';

     Vendor('Alipay.request.AlipayTradePagePayRequest');
    $request = new  AlipayTradePagePayRequest ();

    $request->setNotifyUrl('http://www.*****.com/Home/Order/pay_ok');//异步跳转控制器。然后在里面写自己的操作
    $request->setReturnUrl('http://www.****.com/Home/Order/success');
    $request->setBizContent("{" .
        "    "body":"随便吃小店"," .
        "    "subject":"黄焖鸡米饭"," .
        "    "out_trade_no":"$order\["order_id"]"," .
        "    "total_amount"$order\["actual_pay"]\," .
        "    "product_code":"QUICK_WAP_WAY"" .
        "    "time_expire":"date("YmdHis",time() + 600)"" .
        "  }");
     $result = $aop->pageExecute ($request);
    echo $result;
}
//在控制器里面写调用的页面函数AlipayController
2.View里面:
<article class="main-container add-product">
    <!--已购产品-->
    <div class="order_info">
        <ul>
            <li>订单号:<span>{$info.order_id}</span></li>
            <li>应付金额:<span style="color: red">¥{$info.actual_pay}</span></li>
            <li>订单日期:<span>{$info.order_time|date='Y-m-d H:i:s',###}</span></li>
            <li><a href="{:U('Order/orderDetails',array('id'=>$info['order_id']))}"><button type="button">查看订单</button></a></li>
        </ul>
    </div>
    <form action="{:U('Wxpay/okPay')}" method="post" name="wx_form" id="wx_form" style="display: none">
        <input type="hidden" name="order_id" value="{$info.order_id}"/>
        <input type="hidden" name="actual_pay" value="{$info.actual_pay}"/>
    </form>

    <form action="{:U('Alipay/pay')}" method="post" name="wx_form" id="alipay_form" style="display: none" hidden>
        <input type="hidden" name="order_id" value="{$info.order_id}"/>
        <input type="hidden" name="actual_pay" value="{$info.actual_pay}"/>
    </form>

    <div class="pay_way">
        <div class="chance_pay">选择支付方式:</div>
        <div class="pay_price">此订单需要支付:<span style="color: red;font-size: 1.2rem">¥{$info.actual_pay}</span>元</div>
        <div class="pay">
            <ul>
                <li><button type="submit" onclick="wx()"><i class="Hui-iconfont"></i> 微信支付</button></li>
                <li><button type="button" onclick="alipay()"><i class="Hui-iconfont"></i> 支付宝支付</button></li>
                <li><button type="button"><i class="Hui-iconfont"></i> 柜台支付</button></li>
            </ul>
        </div>
    </div>
</article>
3.控制器页面
public function pay(){
    $order=array(
       'out_trade_no'=> $_POST['order_id'],
       'total_amount'=>$_POST['actual_pay'],
     );
    Alipay($order);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: