代码演示对接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 src="/static/imghwm/default1.png" data-src="../img/bgpic.jpg" class="lazy" 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('amount').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元

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

メモ帳++7.3.1
使いやすく無料のコードエディター
