首页 > php教程 > php手册 > 正文

thinkphp对接ping++支付

php中文网
发布: 2016-06-07 11:35:38
原创
2078人浏览过

代码演示对接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-&gt;check_auth();<br>         $this-&gt;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' =&gt; 'http://www.yourdomain.com/success',<br>                     'cancel_url' =&gt; 'http://www.yourdomain.com/cancel'<br>                 );<br>                 break;<br>             case 'alipay_pc_direct':<br>                 $extra = array(<br>                     'success_url' =&gt; 'http://www.yourdomain.com/success'<br>                 );<br>                 break;<br>             case 'upmp_wap':<br>                 $extra = array(<br>                     'result_url' =&gt; 'http://www.yourdomain.com/result?code='<br>                 );<br>                 break;<br>             case 'bfb_wap':<br>                 $extra = array(<br>                     'result_url' =&gt; 'http://www.yourdomain.com/result?code=',<br>                     'bfb_login' =&gt; true<br>                 );<br>                 break;<br>             case 'upacp_wap':<br>                 $extra = array(<br>                     'result_url' =&gt; 'http://www.yourdomain.com/result'<br>                 );<br>                 break;<br>             case 'upacp_pc':<br>                 $extra = array(<br>                     'result_url' =&gt; 'http://www.yourdomain.com/result'<br>                 );<br>                 break;<br>             case 'wx_pub':<br>                 $extra = array(<br>                     'open_id' =&gt; 'Openid'<br>                 );<br>                 break;<br>             case 'wx_pub_qr':<br>                 $extra = array(<br>                     'product_id' =&gt; 'Productid'<br>                 );<br>                 break;<br>             case 'yeepay_wap':<br>                 $extra = array(<br>                     'product_category' =&gt; '1',<br>                     'identity_id'=&gt; 'your identity_id',<br>                     'identity_type' =&gt; 1,<br>                     'terminal_type' =&gt; 1,<br>                     'terminal_id'=&gt;'your terminal_id',<br>                     'user_ua'=&gt;'your user_ua',<br>                     'result_url'=&gt;'http://www.yourdomain.com/result'<br>                 );<br>                 break;<br>             case 'jdpay_wap':<br>                 $extra = array(<br>                     'success_url' =&gt; 'http://www.yourdomain.com',<br>                     'fail_url'=&gt; 'http://www.yourdomain.com',<br>                     'token' =&gt; 'dsafadsfasdfadsjuyhfnhujkijunhaf'<br>                 );<br>                 break;<br>         }<br><br>         \Pingpp\Pingpp::setApiKey('sk_test_ibbTe5jLGCi5rzfH4OqPW9KC');<br>         try {<br>             $ch = \Pingpp\Charge::create(<br>                 array(<br>                     'subject'   =&gt; 'Your Subject',<br>                     'body'      =&gt; 'Your Body',<br>                     'amount'    =&gt; $amount,<br>                     'order_no'  =&gt; $orderNo,<br>                     'currency'  =&gt; 'cny',<br>                     'extra'     =&gt; $extra,<br>                     'channel'   =&gt; $channel,<br>                     'client_ip' =&gt; $_SERVER['REMOTE_ADDR'],<br>                     'app'       =&gt; array('id' =&gt; 'app_1Gqj58ynP0mHeX1q')<br>                 )<br>             );<br>             echo $ch;<br>         } catch (\Pingpp\Error\Base $e) {<br>             header('Status: ' . $e-&gt;getHttpStatus());<br>             echo($e-&gt;getHttpBody());<br>         }<br><br>     }<br> }然后视图文件中实例 里面的post地址要改你的网址nbsp;html&gt;<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"/&gt;<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元

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号