diff --git a/webht/third_party/pay/controllers/AlipayTradeService.php b/webht/third_party/pay/controllers/AlipayTradeService.php
index 808c6b0c..2c414461 100644
--- a/webht/third_party/pay/controllers/AlipayTradeService.php
+++ b/webht/third_party/pay/controllers/AlipayTradeService.php
@@ -509,29 +509,24 @@ class AlipayTradeService extends CI_Controller
$request = new AlipayTradeQueryRequest();
$request->setBizContent ( $biz_content );
- $response = $this->aopclientRequestExecute ($request,true);
+ $response = $this->aopclientRequestExecute ($request);
$response = $response->alipay_trade_query_response;
return $response;
}
- public function query_pay($dealId,$orderId=NULL)
+ public function query_pay($dealId=NULL,$orderId=NULL)
{
+ if ($dealId === NULL) {
+ $dealId = $this->input->get_post('dealid');
+ $dealId = trim($dealId);
+ }
$this->AlipayTradeQueryContentBuilder->setTradeNo($dealId);
if ($orderId) {
$this->AlipayTradeQueryContentBuilder->setOutTradeNo($orderId);
}
$response = $this->Query($this->AlipayTradeQueryContentBuilder);
- if ( strcmp(trim($response->code), "10000")) {
- log_message('error',"Alipay query failed! error code:".$response->code."; result Msg: ".$response->msg.'; orderId:'.$response->out_trade_no.'; dealId:'.$response->trade_no."; ");
- }
- $html = '
';
- foreach ($response as $key => $value) {
- $html .= "$key | $value | ";
- }
- $html .= '
';
- echo $html;
- return;
+ return $response;
}
/*!
@@ -624,6 +619,30 @@ var_dump($response->$responseNode);
empty($data['date']) ? $data['date'] = date('Y-m-d') : false;
if (!empty($data['keywords'])) {
$data['notelist'] = $this->Alipay_note_model->search_key($data['keywords']);
+ /** 手动查询通过收钱码的收款, 必须输入交易号 */
+ if (empty($data['notelist'])) {
+ $query_pay = $this->query_pay($data["keywords"]);
+ if ( ! empty($query_pay) && strval($query_pay->code)==="10000" && strval($query_pay->trade_status)==="TRADE_SUCCESS") {
+ $pay_type = $query_pay->total_amount>0 ? "pay" : "refund";
+ $new_record = $this->Alipay_note_model->save_alipay(
+ strval($query_pay->trade_no)
+ ,strval($query_pay->out_trade_no)
+ ,"CNY"
+ ,strval($query_pay->total_amount)
+ ,NULL
+ ,NULL
+ ,strval($query_pay->send_pay_date)
+ ,strval($query_pay->send_pay_date)
+ ,json_encode($query_pay)
+ ,$pay_type
+ ,NULL
+ ,strval($query_pay->trade_status)
+ ,NULL
+ ,strval($query_pay->buyer_logon_id)
+ );
+ $data['notelist'][] = $new_record;
+ }
+ }
} else {
$data['notelist'] = $this->Alipay_note_model->search_date($data['date']);
}
@@ -743,6 +762,7 @@ var_dump($response->$responseNode);
return array(
"WAIT_BUYER_PAY" => "Pending",
"TRADE_SUCCESS" => "Payment success",
+ "TRADE_CLOSED" => "Payment closed",
"TRADE_FINISHED" => "Payment success"
);
}
diff --git a/webht/third_party/pay/models/Alipay_note_model.php b/webht/third_party/pay/models/Alipay_note_model.php
index 15294ba7..cafe422b 100644
--- a/webht/third_party/pay/models/Alipay_note_model.php
+++ b/webht/third_party/pay/models/Alipay_note_model.php
@@ -118,7 +118,8 @@ class Alipay_note_model extends CI_Model {
,$ALI_payerEmail
));
$insertid = $this->INFO->last_id('AlipayLog');
- return $query;
+ $ret = "SELECT TOP 1 * FROM AlipayLog WHERE ALI_dealId='$ALI_dealId' ORDER BY ALI_sn DESC ";
+ return $this->INFO->query($ret)->row();
}
public function get_list() {
diff --git a/webht/third_party/pay/views/alipay_list.php b/webht/third_party/pay/views/alipay_list.php
index d3a9c1ad..afe0d5c2 100644
--- a/webht/third_party/pay/views/alipay_list.php
+++ b/webht/third_party/pay/views/alipay_list.php
@@ -66,6 +66,7 @@
/*.input-group{border: 1px solid #ccc;}*/
.input-group-btn{border: 1px solid #ccc;padding: 5px;}
.search-btn{cursor: pointer; background: url(//data.chinahighlights.com/css/images/global/site-search-button.png) no-repeat center center;}
+ .center-block{display: block;margin: 0 auto;}
@@ -75,6 +76,7 @@
Alipay Notes
+
-
session->userdata('admin_chtcdn'); echo $userdata['OPI_Name']; ?>
@@ -164,7 +166,8 @@
$show_send = $item->ALI_sent;
} else if (strcmp(trim($item->ALI_resultMsg), "TRADE_SUCCESS")) {
$class_css = 'btn-danger';
- $show_send = $paytext[intval(trim($item->ALI_resultMsg))];
+ // $show_send = $paytext[intval(trim($item->ALI_resultMsg))];
+ $show_send = strstr($item->ALI_resultMsg, "_");
} else {
$class_css = 'btn-danger';
$show_send = $item->ALI_sent;
@@ -206,6 +209,9 @@
+
+

+
@@ -224,6 +230,7 @@
});
$(".ui-datepicker").css('width', '15.7em');
+
});
function show_order_modal(pn_txn_id, pn_invoice,noticeTime,old_order) {
if (pn_txn_id) {