php旅行社网站源码在线支付,PHP各大支付平台在线支付集成源码
演示查看:http://www.erdangjiade.com/ph...
php給客戶開發網站的時候需要用到各大平臺付款功能,下面就免費分享給大家,此類是個成熟類,網上down下來的,經過修改測試了(可以直接拿來使用,附帶使用方法,有需要的朋友請拿走。),如果有需要安裝的演示請登陸“二當家的”查看:http://www.erdangjiade.com/ph...
““學生”或“還沒有工作的童鞋”可以無條件享用本站所有素材資源
目前包含了支付寶pc版、支付寶wap版、palpay、yeepay、unionpay、kuaiqian、財付通tenpay等,這幾個常用的支付平臺,支付方式均為即時到賬,不包含擔保支付。
支付配置ThinkPayApplicationCommonConfconfig.php
array(
/支付設置/
'payment' => array(
'tenpay' => array(
// 加密key,開通財付通賬戶后給予
'key' => 'e82573dc7e6136ba414f2e2affbe39fa',
// 合作者ID,財付通有該配置,開通財付通賬戶后給予
'partner' => '1900000113'
),
'alipay' => array(
// 收款賬號郵箱
'email' => 'chenf003@yahoo .cn',
// 加密key,開通支付寶賬戶后給予
'key' => 'aaa',
// 合作者ID,支付寶有該配置,開通易寶賬戶后給予
'partner' => '2088101000137799'
),
'aliwappay' => array(
// 收款賬號郵箱
'email' => 'chenf003@yahoo .cn',
// 加密key,開通支付寶賬戶后給予
'key' => 'aaa',
// 合作者ID,支付寶有該配置,開通易寶賬戶后給予
'partner' => '2088101000137799'
),
'palpay' => array(
'business' => 'zyj@qq .com'
),
'yeepay' => array(
'key' => '69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl',
'partner' => '10001126856'
),
'kuaiqian' => array(
'key' => '1234567897654321',
'partner' => '1000300079901'
),
'unionpay' => array(
'key' => '88888888',
'partner' => '105550149170027'
)
)
);
支付生成訂單 ThinkPayThinkPHPLibraryThinkPay.class.php
function buildRequestForm(PayPayVo $vo) {
$this->payer->check();
//生成本地記錄數據
$check = M("Pay")->add(array(
'out_trade_no' => $vo->getOrderNo(),
'money' => $vo->getFee(),
'status' => 0,
'callback' => $vo->getCallback(),
'url' => $vo->getUrl(),
'param' => serialize($vo->getParam()),
'create_time' => time(),
'update_time' => time()
));
if ($check !== false) {
return $this->payer->buildRequestForm($vo);
} else {
E(M("Pay")->getDbError());
}
}
支付訂單表
/**
數據庫
CREATE TABLE think_pay (
out_trade_no varchar(100) NOT NULL,
money decimal(10,2) NOT NULL,
status tinyint(1) NOT NULL DEFAULT '0',
callback varchar(255) NOT NULL,
url varchar(255) NOT NULL,
param text NOT NULL,
create_time int(11) NOT NULL,
update_time int(11) NOT NULL,
PRIMARY KEY (out_trade_no)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
*/
alipay配置ThinkPayThinkPHPLibraryThinkPayDriverAlipay.class.php
protected $gateway = 'https://mapi.alipay.com/gatew...';
protected $verify_url = 'http://notify.alipay.com/trad...';
protected $config = array(
'email' => '',
'key' => '',
'partner' => ''
);
md5加密
public function buildRequestForm(ThinkPayPayVo $vo) {
$param = array(
'service' => 'create_direct_pay_by_user',
'payment_type' => '1',
'_input_charset' => 'utf-8',
'seller_email' => $this->config['email'],
'partner' => $this->config['partner'],
'notify_url' => $this->config['notify_url'],
'return_url' => $this->config['return_url'],
'out_trade_no' => $vo->getOrderNo(),
'subject' => $vo->gettitle(),
'body' => $vo->getBody(),
'total_fee' => $vo->getFee()
);
ksort($param);
reset($param);
$arg = '';
foreach ($param as $key => $value) {
if ($value) {
$arg .= "$key=$value&";
}
}
$param['sign'] = md5(substr($arg, 0, -1) . $this->config['key']);
$param['sign_type'] = 'MD5';
$sHtml = $this->_buildForm($param, $this->gateway, 'get');
return $sHtml;
}
支付成功后回調地址ThinkPayApplicationHomeControllerPublicController.class.php
public function notify() {
$apitype = I('get.apitype');
$pay = new ThinkPay($apitype, C('payment.' . $apitype));
if (IS_POST && !empty($_POST)) {
$notify = $_POST;
} elseif (IS_GET && !empty($_GET)) {
$notify = $_GET;
unset($notify['method']);
unset($notify['apitype']);
} else {
exit('Access Denied');
}
//驗證
if ($pay->verifyNotify($notify)) {
//獲取訂單信息
$info = $pay->getInfo();
if ($info['status']) {$payinfo = M("Pay")->field(true)->where(array('out_trade_no' => $info['out_trade_no']))->find();if ($payinfo['status'] == 0 && $payinfo['callback']) {session("pay_verify", true);$check = R($payinfo['callback'], array('money' => $payinfo['money'], 'param' => unserialize($payinfo['param'])));if ($check !== false) {M("Pay")->where(array('out_trade_no' => $info['out_trade_no']))->setField(array('update_time' => time(), 'status' => 1));}}if (I('get.method') == "return") {redirect($payinfo['url']);} else {$pay->notifySuccess();}} else {$this->error("支付失敗!");}} else {E("Access Denied");}}
總結
以上是生活随笔為你收集整理的php旅行社网站源码在线支付,PHP各大支付平台在线支付集成源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC资源分配、释放表
- 下一篇: Win32串口操作的技巧