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

thinkphp对接ping++支付

WBOY
Release: 2016-06-07 11:35:38
Original
1808 people have browsed it

代码演示对接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元

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template