alipay 异步,同步重定向
parent
9a14b97195
commit
2e08bba8ea
@ -1,10 +1,17 @@
|
||||
<?php
|
||||
$config['app_id'] = "2016073000128520";
|
||||
$config['seller_id'] = "2088102169208005";
|
||||
$config['notify_url'] = "https://www.chinahighlights.com/guide-use.php/apps/pay/AlipayTradeService/notify_url";
|
||||
$config['return_url'] = "http://202.103.68.79/guide-use.php/apps/pay/AlipayTradeService/return_url";
|
||||
$config['charset'] = "UTF-8";
|
||||
$config['sign_type'] = "RSA2";
|
||||
$config['gatewayUrl'] = "https://openapi.alipaydev.com/gateway.do";
|
||||
$config['app_id'] = "2016073000128520";
|
||||
$config['seller_id'] = "2088102169208005";
|
||||
|
||||
$config['return_url'] = "http://202.103.68.79:88/";
|
||||
// $config['return_url'] = "http://202.103.68.79:88/securealipay/order_done";
|
||||
|
||||
$config['notify_url'] = "https://www.chinahighlights.com/";
|
||||
// $config['notify_url'] = "http://www.mycht.cn/webht.php/apps/pay/AlipayTradeService/alipay_notice";
|
||||
|
||||
$config['charset'] = "UTF-8";
|
||||
$config['sign_type'] = "RSA2";
|
||||
$config['gatewayUrl'] = "https://openapi.alipaydev.com/gateway.do";
|
||||
$config['timeout_express'] = "1m";
|
||||
|
||||
$config['alipay_public_key'] = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAohTMgbZ94L1L6OutsOJXNHbD0AbVSrGXSydbbZyO8XrYNqNA7XAGKoRIGPbP17CbQCzeDh1v5DNj/91l7bc1FrL0XIzDHpO656vxhMMrgtpBmm3pgRC+v2REtL32eYu25hGbpAbnYYSnobkQNsAF6vJQiTQtQh1WsFWTM1u7uSDMnkhD19HbBhCgYtEuv8qer5vvkzkG8Zh8c4w4Cd5v5H+8lQ+uMMSgfZXmMUZbvT9J6gPJn2hRGF3rMIKgrOZ0MZWLlt7BRUopMNHQsv5S7Nh2n+K0zP0/1mMwq+kWMgghbsUwS2jZM3lP5BaGbxMMuwpZ02sSQlkNBpREDP+7VwIDAQAB";
|
||||
$config['merchant_private_key'] = "MIIEpQIBAAKCAQEAx3w/8ArB6EE2mg367cxYGUM1oECgFZmzzEfpVweGz52MS1XCKxk4O/Az/8PD5grKGZ+h7v9JxUpsWBNykmMX3HkfozL6WyWPqEFVU0QInY6zfTUltpFCDVbyiMV9JxhR7HSN/cczVs+6PCdjJF2GIU8PYoaUDB/zsZ+l6GaQXaySJF4AGKisF8om6uBnV2Qt4+gXuGoykQI8/Xg/NhsAs64sjRzJOP9YBpiBYRvlhsj1+L+Row1IdeginkSt+Ms/+hH9KSmyX7uMn56ovXsUPKfEGZzz4SeAKrzhW/9w72sVSTACqGgMC/6TAO3bB8cIHK4NcnpolPqeGITqXUfqswIDAQABAoIBAFeoM3hJYderAFFFn2PrDTNcoy3d9/pF5gn394L0nbqRYlqgPogtttYvwMm8vlJRn2kPCls49rOo9l7lfMzymkOZPdu6xORUZwHqY5IJLTf+wsRcHExTHBE8iaqsDUimmSksNlCzvc2BzjYsoJYUOqJcWUhUFq4VREJjAsZSe1GNgiPtzkw6MiXYF3zIawqC9w6ibtx2eKrLdYF5R0WXi0c9g2ekuKuftIAEWeZKAdZWTeIiLo922jnstj1JO5KWzx//5UqZlRxs8cIPrmKu2RMTlzojqTYnZO3MW+Ynr5VKBmlpbF9A4RrfsuXUaFLU7oTjHlwz7fkDIF6yQyGssXECgYEA8+IG6QL7IhVuDPJjHJSElCBUqVa4zoKzswPWYHnK3kKXPxqv+S9ui2+/BSE9nnwAKcicSsGq6VqM3qMbmsSGUoGiORsBYq5GUcBfo9vGB9I5kl3PqRl9FJyzHiIhBnrM8xH70SOdPuyBaRDVh1o31qXpXgofZ55/zH41iJcvVe8CgYEA0WWGfKx1EdKe+WjV+a4/7mC6p/pHQgP+bI9y9l+6/xcRQBLTgF3VtaOW6+VfubInnHKPQquAVPdGSOx2Pv7XBTLAZmQceRm2rEH10aOqT+fR5XI+BE46yzsa+bJFoBYN++y2FrzNgB/Rz81un/Tpw+lJQI/ATphrRIKWVulRW30CgYEA0DP9LD20QaPD4N+pB0Qvbvmu7SYw/XQNj11OTeyL6XU2A9R3uKbqm7VZgTqgjUVVKlauPw/ZJgB81LCwp07xUUyEPnY0l5cqRy6RN6UvCYxKRA88ciNlagxgye/e+9YoU7bdoOzjmE12KUkK0dOOafwYH4VKzD4+4kg40ZQoABcCgYEAzbGHjMz0K0/U7ne3Sg+LqaTHdt76RLUbppS7f53GWXLVdTWJIh4LIuTSCmRFxmplUt+OLxW9eLl3B4eRGIzJt8eFDI/nEGbb9RbOXOMDGH9GxreUiDI4uw8Sjpo6nulLT1/V9zv8OpIHTrQkqWiygcqWNJ+BbzN2m9QTzshfLRkCgYEA6DKuf9i5pXwmnpMhN5ItoykdS3iMaUUxRo0pxUiapnBl2c4OFD7LQPzPYfCoPRGyT0re6mLV25rSZVcpCPOnJla97JUsUT5WxaiPUxutK1HuXtiAQFr4JyYbxXVHg29e6lDaIlApp0oO9w2Dpz/n6NAvVhicSfT9YFtpWNdHMI8=";
|
||||
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Forbidden</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Directory access is forbidden.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,194 @@
|
||||
<?php
|
||||
|
||||
if (!defined('BASEPATH'))
|
||||
exit('No direct script access allowed');
|
||||
|
||||
class Alipay_note_model extends CI_Model {
|
||||
|
||||
var $topnum = false;
|
||||
var $orderby = false;
|
||||
var $send = false;
|
||||
var $search = false;
|
||||
var $dealId = false;
|
||||
var $payment_status = false;
|
||||
|
||||
function __construct() {
|
||||
parent::__construct();
|
||||
$this->INFO = $this->load->database('INFO', TRUE);
|
||||
}
|
||||
|
||||
public function init() {
|
||||
$this->topnum = false;
|
||||
$this->send = false;
|
||||
$this->search = false;
|
||||
$this->payment_status = false;
|
||||
$this->dealId = false;
|
||||
$this->orderby = ' ORDER BY pn.ALI_sn DESC ';
|
||||
}
|
||||
|
||||
public function unsend($topnum = 2) {
|
||||
$this->init();
|
||||
$this->topnum = $topnum;
|
||||
$this->send = " AND (ALI_sent='unsend' OR ALI_sent='' OR ALI_sent IS NULL) ";
|
||||
return $this->get_list();
|
||||
}
|
||||
|
||||
public function failnote($topnum = 2) {
|
||||
$this->init();
|
||||
$this->topnum = $topnum;
|
||||
$this->send = " AND ALI_sent='sendfail' ";
|
||||
return $this->get_list();
|
||||
}
|
||||
|
||||
public function search_date($date) {
|
||||
$this->init();
|
||||
$search_sql = " AND pn.ALI_noticeTime BETWEEN '$date 00:00:00' AND '$date 23:59:59' ";
|
||||
$this->search = $search_sql;
|
||||
$this->orderby=" ORDER BY CASE pn.ALI_sent WHEN 'sendfail' THEN 1 ELSE 2 END ,pn.ALI_sn DESC ";
|
||||
return $this->get_list();
|
||||
}
|
||||
|
||||
public function note($txn_id){
|
||||
$this->init();
|
||||
$this->topnum=1;
|
||||
$this->dealId=" AND pn.ALI_dealId=".$this->INFO->escape($txn_id);
|
||||
return $this->get_list();
|
||||
}
|
||||
|
||||
public function note_order($orderid,$notice_time)
|
||||
{
|
||||
$this->init();
|
||||
$this->topnum=1;
|
||||
$this->dealId=" AND pn.ALI_orderId=".$this->INFO->escape($orderid)." AND pn.ALI_noticeTime=".$this->INFO->escape($notice_time);
|
||||
return $this->get_list();
|
||||
}
|
||||
|
||||
public function search_key($search_key) {
|
||||
$this->init();
|
||||
$this->topnum = 300; //限制最大数量,防止查询单词过短
|
||||
$search_sql = '';
|
||||
$search_key = trim($search_key);
|
||||
if (!empty($search_key)) {
|
||||
$search_sql.=" AND ( pn.ALI_dealId = '$search_key'
|
||||
OR pn.ALI_orderId like '%$search_key%' )";
|
||||
}
|
||||
$this->search = $search_sql;
|
||||
return $this->get_list();
|
||||
}
|
||||
|
||||
public function note_exists($dealId)
|
||||
{
|
||||
$this->init();
|
||||
$this->topnum = 1;
|
||||
$this->search = " AND pn.ALI_dealId = '".$dealId."' ";
|
||||
return $this->get_list();
|
||||
}
|
||||
|
||||
/*!
|
||||
* 存储IPayLinks的实时通知
|
||||
* @author LYT <lyt@hainatravel.com>
|
||||
* @date 2017-08-29
|
||||
*/
|
||||
public function save_alipay($ALI_dealId,$ALI_orderId,$ALI_currencyCode,$ALI_orderAmount,$ALI_payAmount,$ALI_stateCode,$ALI_acquiringTime,$ALI_completeTime,$ALI_memo,$ALI_payType,$ALI_resultCode=null,$ALI_resultMsg=null,$ALI_payerName=null,$ALI_payerEmail=NULL) {
|
||||
$sql = "
|
||||
INSERT INTO AlipayLog
|
||||
(
|
||||
ALI_dealId,ALI_orderId,ALI_currencyCode,ALI_orderAmount,ALI_payAmount,ALI_stateCode,ALI_acquiringTime,ALI_completeTime,ALI_memo,ALI_sent,ALI_noticeTime,ALI_payType,ALI_resultCode,ALI_resultMsg,ALI_payerName,ALI_payerEmail
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
?,?,?,?,?,?,?,?,?,'unsend', GETDATE(),?,?,N?,?,N?
|
||||
)
|
||||
";
|
||||
// echo "<br><br>".$this->INFO->compile_binds($sql,
|
||||
$query = $this->INFO->query($sql,
|
||||
array($ALI_dealId
|
||||
,$ALI_orderId
|
||||
,strtoupper($ALI_currencyCode)
|
||||
,$ALI_orderAmount
|
||||
,$ALI_payAmount
|
||||
,$ALI_stateCode
|
||||
,$ALI_acquiringTime
|
||||
,$ALI_completeTime
|
||||
,$ALI_memo
|
||||
,$ALI_payType
|
||||
,$ALI_resultCode
|
||||
,$ALI_resultMsg
|
||||
,$ALI_payerName
|
||||
,$ALI_payerEmail
|
||||
));
|
||||
$insertid = $this->INFO->last_id('AlipayLog');
|
||||
return $query;
|
||||
}
|
||||
|
||||
public function get_list() {
|
||||
$this->topnum ? $sql = "SELECT TOP " . $this->topnum : $sql = "SELECT ";
|
||||
$sql .= "
|
||||
pn.ALI_sn
|
||||
,pn.ALI_dealId
|
||||
,pn.ALI_orderId
|
||||
,pn.ALI_currencyCode
|
||||
,pn.ALI_orderAmount
|
||||
,pn.ALI_payAmount
|
||||
,pn.ALI_stateCode
|
||||
,pn.ALI_resultCode
|
||||
,pn.ALI_resultMsg
|
||||
,pn.ALI_acquiringTime
|
||||
,pn.ALI_completeTime
|
||||
,pn.ALI_memo
|
||||
,pn.ALI_sent
|
||||
,pn.ALI_payType
|
||||
,pn.ALI_noticeTime
|
||||
,pn.ALI_payerName
|
||||
,pn.ALI_payerEmail
|
||||
FROM AlipayLog pn
|
||||
WHERE 1=1
|
||||
";
|
||||
$this->send ? $sql.=$this->send : false;
|
||||
$this->search ? $sql.=$this->search : false;
|
||||
$this->dealId ? $sql.=$this->dealId : false;
|
||||
$this->orderby ? $sql.=$this->orderby : false;
|
||||
$query = $this->INFO->query($sql);
|
||||
if ($this->topnum === 1) {
|
||||
if ($query->num_rows() > 0) {
|
||||
$row = $query->row();
|
||||
return $row;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
} else {
|
||||
return $query->result();
|
||||
}
|
||||
}
|
||||
|
||||
public function update_send($pn_txn_id, $pn_send) {
|
||||
$sql = "
|
||||
UPDATE AlipayLog
|
||||
SET ALI_sent = ?
|
||||
WHERE ALI_dealId = ?
|
||||
";
|
||||
return $this->INFO->query($sql, array($pn_send, $pn_txn_id));
|
||||
}
|
||||
|
||||
//设置订单号
|
||||
public function set_invoice($pn_txn_id, $pn_invoice) {
|
||||
$sql = "
|
||||
UPDATE AlipayLog
|
||||
SET ALI_orderId = ?
|
||||
WHERE ALI_dealId = ?
|
||||
";
|
||||
return $this->INFO->query($sql, array($pn_invoice, $pn_txn_id));
|
||||
}
|
||||
|
||||
public function update_query($dealId,$stateCode,$payAmount)
|
||||
{
|
||||
$sql = "
|
||||
UPDATE AlipayLog
|
||||
SET ALI_stateCode = ?,
|
||||
ALI_payAmount = ?
|
||||
where ALI_dealId = ?
|
||||
";
|
||||
return $this->INFO->query($sql, array($stateCode,$payAmount,$dealId));
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue