首页 >php教程 >php手册 >thinkphp对接ping++支付

thinkphp对接ping++支付

WBOY
WBOY原创
2016-06-07 11:35:381806浏览

代码演示对接ping++支付接口的类库;
首先现在官方phpsdk
https://github.com/PingPlusPlus/pingpp-php
然后把解压代码放到框架的目录的Vendor目录中或者系统类库都可以
控制器调用即可看我的代码,继承的基类根据自己情况改下
这些实现服务端生成凭证class PingpayAction extends WeixinbaseAction {<br>     /**<br>     +----------------------------------------------------------<br>     * 初始化<br>     +----------------------------------------------------------<br>     */<br>     function _initialize(){<br>         parent::_initialize();<br>         //$this->check_auth();<br>         $this->seo('支付中心');<br>         vendor( "Pay.init");<br>     }<br> <br>     public function index(){<br>         $input_data = json_decode(file_get_contents('php://input'), true);<br>         if (empty($input_data['channel']) || empty($input_data['amount'])) {<br>             echo 'channel or amount is empty';<br>             exit();<br>         }<br>         $channel = strtolower($input_data['channel']);<br>         $amount = $input_data['amount'];<br>         $orderNo = substr(md5(time()), 0, 12);<br> <br>         //$extra 在使用某些渠道的时候,需要填入相应的参数,其它渠道则是 array() .具体见以下代码或者官网中的文档。其他渠道时可以传空值也可以不传。<br>         $extra = array();<br>         switch ($channel) {<br>             case 'alipay_wap':<br>                 $extra = array(<br>                     'success_url' => 'http://www.yourdomain.com/success',<br>                     'cancel_url' => 'http://www.yourdomain.com/cancel'<br>                 );<br>                 break;<br>             case 'alipay_pc_direct':<br>                 $extra = array(<br>                     'success_url' => 'http://www.yourdomain.com/success'<br>                 );<br>                 break;<br>             case 'upmp_wap':<br>                 $extra = array(<br>                     'result_url' => 'http://www.yourdomain.com/result?code='<br>                 );<br>                 break;<br>             case 'bfb_wap':<br>                 $extra = array(<br>                     'result_url' => 'http://www.yourdomain.com/result?code=',<br>                     'bfb_login' => true<br>                 );<br>                 break;<br>             case 'upacp_wap':<br>                 $extra = array(<br>                     'result_url' => 'http://www.yourdomain.com/result'<br>                 );<br>                 break;<br>             case 'upacp_pc':<br>                 $extra = array(<br>                     'result_url' => 'http://www.yourdomain.com/result'<br>                 );<br>                 break;<br>             case 'wx_pub':<br>                 $extra = array(<br>                     'open_id' => 'Openid'<br>                 );<br>                 break;<br>             case 'wx_pub_qr':<br>                 $extra = array(<br>                     'product_id' => 'Productid'<br>                 );<br>                 break;<br>             case 'yeepay_wap':<br>                 $extra = array(<br>                     'product_category' => '1',<br>                     'identity_id'=> 'your identity_id',<br>                     'identity_type' => 1,<br>                     'terminal_type' => 1,<br>                     'terminal_id'=>'your terminal_id',<br>                     'user_ua'=>'your user_ua',<br>                     'result_url'=>'http://www.yourdomain.com/result'<br>                 );<br>                 break;<br>             case 'jdpay_wap':<br>                 $extra = array(<br>                     'success_url' => 'http://www.yourdomain.com',<br>                     'fail_url'=> 'http://www.yourdomain.com',<br>                     'token' => 'dsafadsfasdfadsjuyhfnhujkijunhaf'<br>                 );<br>                 break;<br>         }<br> <br>         \Pingpp\Pingpp::setApiKey('sk_test_ibbTe5jLGCi5rzfH4OqPW9KC');<br>         try {<br>             $ch = \Pingpp\Charge::create(<br>                 array(<br>                     'subject'   => 'Your Subject',<br>                     'body'      => 'Your Body',<br>                     'amount'    => $amount,<br>                     'order_no'  => $orderNo,<br>                     'currency'  => 'cny',<br>                     'extra'     => $extra,<br>                     'channel'   => $channel,<br>                     'client_ip' => $_SERVER['REMOTE_ADDR'],<br>                     'app'       => array('id' => 'app_1Gqj58ynP0mHeX1q')<br>                 )<br>             );<br>             echo $ch;<br>         } catch (\Pingpp\Error\Base $e) {<br>             header('Status: ' . $e->getHttpStatus());<br>             echo($e->getHttpBody());<br>         }<br> <br>     }<br> }然后视图文件中实例 里面的post地址要改你的网址nbsp;html><br> <br> <br>     <meta> <br>     <meta>           content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/><br>     <title>测试</title> <br>     <link> <br> <br> <br> <header><br>     <div> <br>         <span></span><br>     </div> <br> </header><br> <section><br>     <div> <br>         <div> <br>             <span><img alt="thinkphp对接ping++支付" ></span><br>             <label><br>                 <input><br>             </label><br> <br>             <div> <br>                 <span>银联 pc</span><br>                 <span>支付宝 pc</span><br>             </div> <br>         </div> <br>     </div> <br> </section><br> <script></script><br> <script><br /> function wap_pay(channel) {<br /> var amount = document.getElementById(&#039;amount&#039;).value * 100;<br /> <br /> var xhr = new XMLHttpRequest();<br /> xhr.open("POST", "http://www.xxx.com/Pingpay/index", true);<br /> xhr.setRequestHeader("Content-type", "application/json");<br /> xhr.send(JSON.stringify({<br /> channel: channel,<br /> amount: amount<br /> }));<br /> <br /> xhr.onreadystatechange = function () {<br /> if (xhr.readyState == 4 && xhr.status == 200) {<br /> console.log(xhr.responseText);<br /> pingppPc.createPayment(xhr.responseText, function(result, err) {<br /> console.log(result);<br /> console.log(err);<br /> });<br /> }<br /> }<br /> }<br /> </script><br> <br> 剩下的需要到官方申请正式接口拿到key就可以支付了

AD:真正免费,域名+虚机+企业邮箱=0元

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn