You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
information-system/webht/third_party/pay/controllers/AlipayTradeService.php

716 lines
29 KiB
PHTML

8 years ago
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
require_once __DIR__ ."/Mobile_Detect.php";
8 years ago
class AlipayTradeService extends CI_Controller
{
//支付宝网关地址
public $gateway_url = "https://openapi.alipay.com/gateway.do";
//支付宝公钥
public $alipay_public_key;
//商户私钥
public $private_key;
//应用id
public $appid;
//UID
public $seller_id;
//编码格式
public $charset = "UTF-8";
public $token = NULL;
//返回数据格式
public $format = "json";
//签名方式
public $signtype = "RSA2";
public $timeout_express = "1m";
8 years ago
// cht
public function __construct(){
parent::__construct();
$this->load->library('alipay/AopSdk');
// real URL
$this->config->load('alipay');
8 years ago
// test URL
// $this->config->load('dev_alipay');
8 years ago
$this->load->model('AlipayTradePagePayContentBuilder');
$this->load->model('AlipayTradeWapPayContentBuilder');
8 years ago
$this->load->model('AlipayTradeQueryContentBuilder');
$this->load->model('Alipay_note_model');
$this->load->model('Alipay_model');
$this->load->helper('payment');
8 years ago
$this->gateway_url = $this->config->item('gatewayUrl');
$this->appid = $this->config->item('app_id');
$this->seller_id = $this->config->item('seller_id');
$this->private_key = $this->config->item('merchant_private_key');
$this->alipay_public_key = $this->config->item('alipay_public_key');
$this->charset = $this->config->item('charset');
$this->signtype = $this->config->item('sign_type');
$this->timeout_express = $this->config->item('timeout_express');
$this->return_url = $this->config->item('return_url');
$this->notify_url = $this->config->item('notify_url');
8 years ago
if(empty($this->appid)||trim($this->appid)==""){
log_message('error','Alipay ERROR appid should not be NULL!');
8 years ago
}
if(empty($this->private_key)||trim($this->private_key)==""){
log_message('error','Alipay ERROR private_key should not be NULL!');
8 years ago
}
if(empty($this->alipay_public_key)||trim($this->alipay_public_key)==""){
log_message('error','Alipay ERROR alipay_public_key should not be NULL!');
8 years ago
}
if(empty($this->charset)||trim($this->charset)==""){
log_message('error','Alipay ERROR charset should not be NULL!');
8 years ago
}
if(empty($this->gateway_url)||trim($this->gateway_url)==""){
log_message('error','Alipay ERROR gateway_url should not be NULL!');
}
}
public function index()
{
$this->note_list();
}
/*!
* 异步通知
* 必须返回"success"给支付系统
* @author LYT <lyt@hainatravel.com>
* @date 2017-09-13
* @return [type] [description]
*/
public function alipay_notice()
{
$resp_arr = $this->input->post();
$asyns_resp = $this->check($resp_arr);
// 未得到结果
if (empty($asyns_resp->data->out_trade_no)) {
echo "failed";
return;
}
if (true === $this->if_note_exists($asyns_resp->data->trade_no)) {
echo "success";
return;
}
$code = isset($asyns_resp->data->code) ? strval($asyns_resp->data->code) : NULL ;
$buyer = isset($asyns_resp->data->buyer_logon_id) ? strval($asyns_resp->data->buyer_logon_id) : NULL ;
if (strcmp(strval($asyns_resp->data->trade_status), "TRADE_SUCCESS") == 0) {
$this->Alipay_note_model->save_alipay(
strval($asyns_resp->data->trade_no)
,strval($asyns_resp->data->out_trade_no)
,"CNY"
,strval($asyns_resp->data->total_amount)
,NULL
,NULL
,strval($asyns_resp->data->gmt_create)
,strval($asyns_resp->data->gmt_payment)
,json_encode($asyns_resp->data)
,strval("pay")
,$code
,strval($asyns_resp->data->trade_status)
,NULL
,$buyer
);
// 查询payer
// $this->AlipayTradeQueryContentBuilder->setTradeNo($asyns_resp->data->trade_no);
// if ($asyns_resp->data->out_trade_no) {
// $this->AlipayTradeQueryContentBuilder->setOutTradeNo($asyns_resp->data->out_trade_no);
// }
// $response = $this->Query($this->AlipayTradeQueryContentBuilder);
// $resp_arr = (Array) $response;
// $query_resp = $this->check($resp_arr);
// if (strcmp(strval($response->trade_status), "TRADE_SUCCESS") == 0) {
// $this->Alipay_note_model->update_query($response->trade_no,$response->buyer_logon_id);
// }
8 years ago
}
// 返回状态码200
echo "success";
return;
}
8 years ago
public function if_note_exists($dealId)
{
return $this->Alipay_note_model->note_exists($dealId) ? true : false;
}
public function request_faild()
{
$data["code"] = 1;
$data["msg"] = "Unknow request";
$data["error_code"] = "Unknow";
$url_query = "";
foreach ($data as $key => $v) {
$url_query .= $key . "=" . urlencode($v) ."&";
}
redirect("https://www.chinahighlights.com/secureipay/load_return" . "?" . substr($url_query, 0, -1));
}
public function get_url_string()
{
$param = ($this->input->get_post('param'));
return base64_decode($param);
8 years ago
}
// cht
public function pay_fun()
{
$param_string = $this->get_url_string();
@parse_str($param_string, $param_arr);
if ( ! $param_string || empty($param_arr['order_id'])) {
$this->request_faild();
return false;
}
8 years ago
//商户订单号,商户网站订单系统中唯一订单号,必填
$out_trade_no = trim($param_arr['order_id']);
8 years ago
//订单名称,必填
$subject = trim($param_arr['subject']);
8 years ago
//付款金额,必填
$total_amount = trim($param_arr['total_amount']);
8 years ago
//商品描述,可空
$body = str_replace("\n", "<br>", trim($param_arr['body']));
$post_return = $param_arr["return_url"] ? trim($param_arr["return_url"]) : false;
$post_notify = $param_arr["notify_url"] ? trim($param_arr["notify_url"]) : false;
$this->return_url = !empty($post_return) ? ($post_return) : $this->return_url;
$this->notify_url = !empty($post_notify) ? ($post_notify) : $this->notify_url;
$detect = new Mobile_Detect;
if ($detect->isMobile() && !$detect->isTablet()) {
// mobile page
$this->AlipayTradeWapPayContentBuilder->setBody($body);
$this->AlipayTradeWapPayContentBuilder->setSubject($subject);
$this->AlipayTradeWapPayContentBuilder->setOutTradeNo($out_trade_no);
$this->AlipayTradeWapPayContentBuilder->setTotalAmount($total_amount);
$this->AlipayTradeWapPayContentBuilder->setTimeExpress($timeout_express);
$result = $this->wapPay(
$this->AlipayTradeWapPayContentBuilder,
$this->return_url,
$this->notify_url
);
} else {
// PC page
$this->AlipayTradePagePayContentBuilder->setBody($body);
$this->AlipayTradePagePayContentBuilder->setSubject($subject);
$this->AlipayTradePagePayContentBuilder->setTotalAmount($total_amount);
$this->AlipayTradePagePayContentBuilder->setOutTradeNo($out_trade_no);
$url = $this->pagePay(
$this->AlipayTradePagePayContentBuilder,
$this->return_url,
$this->notify_url
);
}
8 years ago
return;
}
/**
* alipay.trade.page.pay
* @param $builder 业务参数使用buildmodel中的对象生成。
* @param $return_url 同步跳转地址,公网可以访问
* @param $notify_url 异步通知地址,公网可以访问
* @return $response 支付宝返回的信息
*/
function pagePay($builder,$return_url,$notify_url) {
$biz_content=$builder->getBizContent();
$request = new AlipayTradePagePayRequest();
$request->setNotifyUrl($notify_url);
$request->setReturnUrl($return_url);
$request->setBizContent ( $biz_content );
// 首先调用支付api
$response = $this->aopclientRequestExecute ($request,true);
return $response;
}
/**
* alipay.trade.wap.pay
* @param $builder 业务参数使用buildmodel中的对象生成。
* @param $return_url 同步跳转地址,公网可访问
* @param $notify_url 异步通知地址,公网可以访问
* @return $response 支付宝返回的信息
*/
function wapPay($builder,$return_url,$notify_url) {
$biz_content=$builder->getBizContent();
$request = new AlipayTradeWapPayRequest();
$request->setNotifyUrl($notify_url);
$request->setReturnUrl($return_url);
$request->setBizContent ( $biz_content );
// 首先调用支付api
$response = $this->aopclientRequestExecute ($request,true);
// $response = $response->alipay_trade_wap_pay_response;
return $response;
}
8 years ago
/**
* sdkClient
* @param $request 接口请求参数对象。
* @param $ispage 是否是页面接口,电脑网站支付是页面表单接口。
* @return $response 支付宝返回的信息
*/
function aopclientRequestExecute($request,$ispage=false) {
$aop = new AopClient ();
$aop->gatewayUrl = $this->gateway_url;
$aop->appId = $this->appid;
$aop->rsaPrivateKey = $this->private_key;
8 years ago
$aop->alipayrsaPublicKey = $this->alipay_public_key;
$aop->apiVersion = "1.0";
$aop->postCharset = $this->charset;
$aop->format = $this->format;
$aop->signType = $this->signtype;
8 years ago
// 开启页面信息输出
$aop->debugInfo = true;
$result = null;
8 years ago
if($ispage)
{
$result = $aop->pageExecute($request,"post");
echo $result;
}
else
{
$result = $aop->Execute($request);
}
return $result;
}
/*!
* 定时执行
* 处理异步通知: 解析订单号, 邮件外联/客人; 插入付款记录
* @author LYT <lyt@hainatravel.com>
*/
public function send_alipay($pn_txn_id = false)
{
$data = array();
$int = 0;
//优先处理指定的交易号,用于修正交易号直接发送通知
if ( ! empty($pn_txn_id)) {
$data['unsend_list'] = array($this->Alipay_note_model->note($pn_txn_id));
}
// 待处理的
if (empty($data['unsend_list'])) {
$data['unsend_list'] = $this->Alipay_note_model->unsend(10);
}
//没有未处理的数据再查找处理失败的数据
if (empty($data['unsend_list'])) {
$data['unsend_list'] = $this->Alipay_note_model->failnote(20);
}
$show_index = 0;
foreach ($data['unsend_list'] as $item) {
//已经发送的不处理,防止重复发送
if ($item->ALI_sent == 'send') {
continue;
}
//退款状态默认为已经处理,陆燕在退款前手动通知外联了,系统跳过处理
if ($item->ALI_payType == 'Refunded') {
$this->Alipay_note_model->update_send($item->ALI_dealId, 'send');
continue;
}
//只处理完成状态,其他状态由陆燕处理
if (strcmp(trim($item->ALI_resultMsg), "TRADE_SUCCESS")) {
$this->Alipay_note_model->update_send($item->ALI_dealId, 'send');
continue;
}
//检测是否是APP订单,默认不处理
// if ((strpos($item->pn_memo, 'China Train Booking') !== false) || (strpos($item->pn_memo, 'ChinaTrainBooking') !== false)) { //APP自动出票的订单不需要处理
// $this->Alipay_note_model->update_send($item->ALI_dealId, 'send');
// continue;
// }
//根据note信息找到订单号
$orderid_info = analysis_orderid($item->ALI_orderId);
//找不到订单号,设置为发送失败标示
if (empty($orderid_info)) {
$this->Alipay_note_model->update_send($item->ALI_dealId, 'sendfail');
continue;
}
//根据订单号查找外联信息
$orderid_info = json_decode($orderid_info);
$advisor_info = $this->Alipay_model->get_order($orderid_info->orderid, false, $orderid_info->ordertype);
//查不到订单信息
if (empty($advisor_info)) {
$this->Alipay_note_model->update_send($item->ALI_dealId, 'sendfail');
continue;
}
//更新正确的订单信息到记录中,以这个为主
$this->Alipay_note_model->set_invoice($item->ALI_dealId, $orderid_info->orderid . '_' . $orderid_info->ordertype);
//检测是否是APP订单,默认不处理
if ($orderid_info->ordertype == 'A') { //APP自动出票的订单不需要处理
$this->Alipay_note_model->update_send($item->ALI_dealId, 'send');
continue;
}
//添加支付信息入库
//没有分配订单之前先添加付款记录,这个过程可能会执行多次,必须在添加记录前查找是否有数据
if (!empty($orderid_info)) {
$currencyCode = str_replace("CNY", "RMB", trim(mb_strtoupper($item->ALI_currencyCode)));
$USD_amount = $this->Alipay_model->get_USD($item->ALI_orderAmount, $currencyCode);
//更新还没有填的客邮和交易号de收款记录商务订单
if (isset($advisor_info->order_type) && $advisor_info->order_type == 0) {
$ht_memo = '交易号(自动录入):' . $item->ALI_dealId;
$GAI_COLI_SN = isset($advisor_info->COLI_SN) ? $advisor_info->COLI_SN : 0;
//CHTAPP订单添加记录前判断是否有记录以前的APP版本没有交易号只能拿金额来判断
if (substr($advisor_info->COLI_WebCode, 0, 6) == 'CHTAPP') {
//只判断前6位字符CHTAPP-fr CHTAPP-jp等各语种都属于APP订单
// $this->Alipay_model->add_account_info_forAPP($GAI_COLI_SN, $advisor_info->COLI_ID, $item->pn_mc_gross, $item->pn_payment_date, mb_strtoupper($item->pn_mc_currency), $item->pn_payment_date, $item->pn_payment_date, $item->pn_payment_date, '', $item->pn_payer_email, $item->ALI_dealId, $ht_memo);
// if ($advisor_info->COLI_WebCode == 'CHTAPP' && $advisor_info->COLI_State == 11) { //只修改APP组的订单状态并且订单进度是我的订单
// $this->Alipay_model->update_biz_coli_state($GAI_COLI_SN, 8); //把订单状态改为已付款
// }
} else {
$this->Alipay_model->add_account_info(
$GAI_COLI_SN,
$advisor_info->COLI_ID,
$item->ALI_orderAmount,
$item->ALI_completeTime,
$currencyCode,
$USD_amount,
$item->ALI_completeTime,
$item->ALI_completeTime,
$item->ALI_acquiringTime,
$item->ALI_payerName,
$item->ALI_payerEmail,
$item->ALI_dealId,
$ht_memo
);
// 更新订单主表付款方式,防止没访问thankyou-train.asp
$this->Alipay_model->update_paymanner($GAI_COLI_SN);
// 把订单状态设置为13-新订单已支付
$this->Alipay_model->update_biz_coli_state($GAI_COLI_SN, 13);
}
}
//更新还没有填的客邮和交易号de收款记录传统订单
elseif (isset($advisor_info->order_type) && $advisor_info->order_type == 1) {
$ht_memo = '交易号(自动录入):' . $item->ALI_dealId;
$GAI_COLI_SN = isset($advisor_info->COLI_SN) ? $advisor_info->COLI_SN : 0;
$gai_sn = $this->Alipay_model->add_tour_account_info(
$GAI_COLI_SN,
$item->ALI_orderAmount,
$item->ALI_acquiringTime,
$currencyCode,
$item->ALI_completeTime,
$item->ALI_completeTime,
$item->ALI_acquiringTime,
$item->ALI_payerName,
$item->ALI_payerEmail,
$item->ALI_dealId,
$ht_memo
);
//添加汉特的订单提醒
$this->Alipay_model->update_coli_introduction($GAI_COLI_SN, '已支付 ' . mb_strtoupper($item->ALI_currencyCode) . $item->ALI_orderAmount);
// 添加HT任务
$this->Alipay_model->exec_addToTask($gai_sn);
}
}
$opi_email = !empty($advisor_info->OPI_Email) ? $advisor_info->OPI_Email : ''; //lussie@chinahighlights.net
$opi_firstname = !empty($advisor_info->OPI_FirstName) ? $advisor_info->OPI_FirstName : !empty($advisor_info->OPI_Name) ? $advisor_info->OPI_Name : ''; //lussie
//没有外联信息表示订单未分配
if (empty($opi_email) || empty($opi_firstname)) {
$this->Alipay_note_model->update_send($item->ALI_dealId, 'sendfail');
continue;
}
//添加邮件发送记录
//给外联发送通知邮件
$fromName = 'Alipay';
$fromEmail = '';
$toName = !empty($opi_firstname) ? $opi_firstname : '';
$toEmail = !empty($opi_email) ? $opi_email : '';
$subject = $orderid_info->orderid . '_' . $orderid_info->ordertype . ' / ' . $item->ALI_orderAmount . $item->ALI_currencyCode . ' / ' . $fromName;
$body = $this->load->view('alipay_receipt_mail', $item, true);
$M_RelatedInfo = $item->ALI_sn;
$M_AddTime = $item->ALI_completeTime;
$M_State = 0;
$this->Alipay_model->save_automail($fromName, $fromEmail, $toName, $toEmail, $subject, $body, $M_RelatedInfo, $M_State, $M_AddTime, 'Alipay note');
//添加邮件发送记录 end
$this->Alipay_note_model->update_send($item->ALI_dealId, 'send');
$int++;
}
// 批量结果
if (empty($pn_txn_id)) {
echo "done. recorde count:".$int;
}
return;
}
8 years ago
/**
* alipay.trade.query (统一收单线下交易查询)
* @param $builder 业务参数使用buildmodel中的对象生成。
* @return Array object $response 支付宝返回的信息
8 years ago
*/
function Query($builder){
$biz_content=$builder->getBizContent();
8 years ago
$request = new AlipayTradeQueryRequest();
$request->setBizContent ( $biz_content );
$response = $this->aopclientRequestExecute ($request,true);
8 years ago
$response = $response->alipay_trade_query_response;
8 years ago
return $response;
}
public function query_pay($dealId,$orderId=NULL)
{
$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 = '<table>';
foreach ($response as $key => $value) {
$html .= "<tr><td>$key</td><td>$value</td>";
}
$html .= '</table>';
echo $html;
return;
}
/*!
* 对账单
* 流程:
* * 获取对账单下载地址
* * 下载对账单
* * 解压,获取明细表
* * 分析明细表,入库
* @author LYT <lyt@hainatravel.com>
* @date 2017-10-10
* @param [type] $date 按天yyyy-MM-dd;按月yyyy-MM
*/
public function get_billfile($date=NULL)
{
$request = new AlipayDataDataserviceBillDownloadurlQueryRequest();
$request->setBizContent("{" .
"\"bill_type\":\"trade\"," .
"\"bill_date\":\"2017-09\"" .
"}");
$response = $this->aopclientRequestExecute ($request);
// var_dump($response);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
var_dump($response->$responseNode);
// $resultCode = $result->$responseNode->code;
// if(!empty($resultCode)&&$resultCode == 10000){
// }
}
8 years ago
/**
* 验签方法
* @param $arr 验签支付宝返回的信息,使用支付宝公钥。
* @return boolean
*/
function check($arr){
$ret = new ArrayObject();
$ret->check = false;
$ret->data = NULL;
$ret->data = $arr_obj = (object) $arr;
8 years ago
$aop = new AopClient();
$aop->alipayrsaPublicKey = $this->alipay_public_key;
$ret->check = $result = $aop->rsaCheckV1($arr, $this->alipay_public_key, $this->signtype);
8 years ago
if ($result === false) {
log_message('error','Alipay sign ERROR ! orderId:'.$arr_obj->out_trade_no.'; dealId:'.$arr_obj->trade_no . "; Original return:".json_encode($arr)."; ");
return $ret;
8 years ago
}
// cht
// 1.app_id
if ($arr['app_id'] !== $this->appid) {
log_message('error','Alipay ERROR APPID verify failed '.$arr_obj->app_id." !== ".$this->appid."; orderId:".$arr_obj->out_trade_no."; dealId:".$arr_obj->trade_no);
return $ret;
8 years ago
}
// 2.seller_id
8 years ago
if ($arr['seller_id'] !== $this->seller_id) {
log_message('error','Alipay ERROR SELLERID verify failed '.$arr_obj->seller_id." !== ".$this->seller_id."; orderId:".$arr_obj->out_trade_no."; dealId:".$arr_obj->trade_no);
return $ret;
8 years ago
}
// 3.pay status
if (strcmp(strval($arr_obj->trade_status), "TRADE_SUCCESS")) {
log_message('error',"Alipay payment failed! error code:".$arr_obj->trade_status."; result Msg: ".$arr_obj->trade_status.'; orderId:'.$arr_obj->out_trade_no.'; dealId:'.$arr_obj->trade_no."; ");
return $ret;
8 years ago
}
$ret->check = true;
return $ret;
8 years ago
}
/** *利用google api生成二维码图片
* $content二维码内容参数
* $size生成二维码的尺寸宽度和高度的值
* $lev可选参数纠错等级
* $margin生成的二维码离边框的距离
*/
function create_erweima($content, $size = '200', $lev = 'L', $margin= '0') {
$content = urlencode($content);
$image = '<img src="http://chart.apis.google.com/chart?chs='.$size.'x'.$size.'&amp;cht=qr&chld='.$lev.'|'.$margin.'&amp;chl='.$content.'" widht="'.$size.'" height="'.$size.'" />';
// http://chart.apis.google.com/chart?chs=200x200&amp;cht=qr&amp;chl=http://www.chinahighlights.com/
return $image;
8 years ago
}
public function note_list()
{
$data = array();
$data["paytext"] = $this->payment_status();
$data["keywords"] = $this->input->get_post("keywords");
$data["date"] = $this->input->get_post("date");
empty($data['date']) ? $data['date'] = date('Y-m-d') : false;
if (!empty($data['keywords'])) {
$data['notelist'] = $this->Alipay_note_model->search_key($data['keywords']);
} else {
$data['notelist'] = $this->Alipay_note_model->search_date($data['date']);
}
$this->load->view("alipay_list",$data);
return;
}
//失败记录列表
public function note_faillist() {
$data = array();
$data["paytext"] = $this->payment_status();
//有关键词则不限制日期
$data['search_key'] = $this->input->post('keywords');
$data['date'] = $this->input->get_post('date');
empty($data['date']) ? $data['date'] = date('Y-m-d') : false;
$data['notelist'] = $this->Alipay_note_model->failnote(100);
$this->load->view("alipay_list",$data);
}
//用于HT--交易详情
public function receipt($pm_transaction_id) {
if ( ! $pm_transaction_id) {
return false;
}
$data = array();
$data = $this->Alipay_note_model->note($pm_transaction_id);
$this->load->view('alipay_receipt_mail', $data);
}
//获取note详情以便后续修改各项数据
public function note_modal($pn_txn_id = false, $pn_invoice = false ,$notice_time = false) {
$data = array();
$data['IPL_orderId'] = $pn_invoice;
if (!empty($pn_txn_id)) {
$data['note'] = $this->Alipay_note_model->note($pn_txn_id);
if (!empty($data['note'])) {
if (!empty($pn_invoice)) {
$orderid_info = analysis_orderid($pn_invoice);
} else {
$orderid_info = analysis_orderid($data['note']->IPL_orderId);
}
if (!empty($orderid_info)) {
$orderid_info = json_decode($orderid_info);
$data['order_info'] = $this->Alipay_model->get_order($orderid_info->orderid, true, $orderid_info->ordertype);
}
$data["paytext"] = $this->payment_status();
echo json_encode($this->load->view('alipay_note_setting', $data, true));
return true;
}
}
echo json_encode('没找到数据!');
return;
}
public function note_order_modal($old_order,$pn_invoice = false ,$notice_time = false) {
$data = array();
$data['IPL_orderId'] = $pn_invoice;
if (!empty($pn_invoice)) {
$data['note'] = $this->Alipay_note_model->note_order($old_order,$notice_time);
if (!empty($data['note'])) {
if (!empty($pn_invoice)) {
$orderid_info = analysis_orderid($pn_invoice);
} else {
$orderid_info = analysis_orderid($data['note']->IPL_orderId);
}
if (!empty($orderid_info)) {
$orderid_info = json_decode($orderid_info);
$data['order_info'] = $this->Alipay_model->get_order($orderid_info->orderid, true, $orderid_info->ordertype);
}
$data["paytext"] = $this->payment_status();
echo json_encode($this->load->view('alipay_note_setting', $data, true));
return true;
}
}
echo json_encode('没找到数据!');
return;
}
//关闭note通知用于手动处理通知后
public function close_note($pn_txn_id) {
$data = array();
$data['note'] = $this->Alipay_note_model->note($pn_txn_id);
if (!empty($data['note'])) {
$this->Alipay_note_model->update_send($pn_txn_id, 'send');
echo json_encode('通知已经关闭!');
return true;
}
echo json_encode('没找到数据!');
return;
}
//修改订单名
public function note_modal_save() {
$data = array();
$pn_txn_id = $this->input->post('pn_txn_id');
$pn_invoice = $this->input->post('pn_invoice');
if (!empty($pn_txn_id) && !empty($pn_invoice)) {
$orderid_info = analysis_orderid($pn_invoice);
if (!empty($orderid_info)) {
$orderid_info = json_decode($orderid_info);
$advisor_info = $this->Alipay_model->get_order($orderid_info->orderid, false, $orderid_info->ordertype);
if (!empty($advisor_info)) {
$this->Alipay_note_model->set_invoice($pn_txn_id, $pn_invoice);
$this->send_alipay($pn_txn_id);
echo json_encode('修改成功!');
return true;
}
}
}
echo json_encode('没找到数据!');
return;
}
public function payment_status()
{
return array(
"WAIT_BUYER_PAY" => "Pending",
"TRADE_SUCCESS" => "Payment success",
"TRADE_FINISHED" => "Payment success"
);
}
8 years ago
}