public function CallbackVerify($payment) { unset($_POST['mod']); if(true === DEBUG_LIANLIANPAY || 'POST' == $_SERVER['REQUEST_METHOD'] || $_POST){ if (!class_exists('LLpayNotify')){ include DRIVER_PATH.'payment/lianlianpay/llpay_notify.class.php'; include DRIVER_PATH.'payment/lianlianpay/llpay_cls_json.php'; } $lianlianpay = new LLpayNotify($payment['config']); if(true === $this->__Is_Nofity()) { $return = $lianlianpay->verifyReturn(); } else { sleep(rand(1, 3)); $return = $lianlianpay->verifyNotify(); } $this->lpreturn = $lianlianpay->notifyResp; if(true === $return && 'SUCCESS' == $this->lpreturn['result_pay']) { $order = logic('order')->GetOne($this->lpreturn['no_order']); if($order && $order['paytype'] == $payment['id']){ if($order['product']['type'] == 'ticket'){ return 'TRADE_FINISHED'; }else{ return 'WAIT_SELLER_SEND_GOODS'; } }else{ return 'VERIFY_FAILED'; } }else{ return 'VERIFY_FAILED'; } }else{ return 'VERIFY_FAILED'; } }
public function Callback_return() { $llpayNotify = new LLpayNotify($this->llpay_config); $verify_return_result = $llpayNotify->verifyReturn(); if ($verify_return_result) { //商户订单号 $no_order = $_POST['no_order']; //交易金额 $money_order = $_POST['money_order']; //支付结果 $result_pay = $_POST['result_pay']; if ($result_pay == 'SUCCESS') { return array('result' => true, 'amount' => $money_order, 'trans_no' => $no_order, 'type' => 1); //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(no_order)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 } else { return array('result' => true, 'amount' => $money_order, 'trans_no' => $no_order, 'type' => 1); } } else { return array('result' => false, 'type' => 1); } }
<?php /* * * 功能:连连支付服务器异步通知页面 * 版本:1.0 * 日期:2014-06-16 * 说明: * 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 *************************页面功能说明************************* * 创建该页面文件时,请留心该页面文件中无任何HTML代码及空格。 * 该页面不能在本机电脑测试,请到服务器上做测试。请确保外部可以访问该页面。 */ require_once "llpay.config.php"; require_once "lib/llpay_notify.class.php"; //计算得出通知验证结果 $llpayNotify = new LLpayNotify($llpay_config); $verify_result = $llpayNotify->verifyNotify(); if ($verify_result) { //验证成功 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取连连支付的通知返回参数,可参考技术文档中服务器异步通知参数列表 $is_notify = true; include_once 'lib/llpay_cls_json.php'; $json = new JSON(); $str = file_get_contents("php://input"); $val = $json->decode($str); $oid_partner = trim($val->{'oid_partner'}); $dt_order = trim($val->{'dt_order'}); $no_order = trim($val->{'no_order'});
*************************页面功能说明************************* * 该页面可在本机电脑测试 * 可放入HTML等美化页面的代码、商户业务逻辑程序代码 * 该页面可以使用PHP开发工具调试,也可以使用写文本函数logResult,该函数已被默认关闭,见llpay_notify_class.php中的函数verifyReturn */ require_once "llpay.config.php"; require_once "lib/llpay_notify.class.php"; include_once 'lib/llpay_cls_json.php'; ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <?php //计算得出通知验证结果 $llpayNotify = new LLpayNotify($llpay_config); $verify_result = $llpayNotify->verifyReturn(); if ($verify_result) { //验证成功 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取连连支付的通知返回参数,可参考技术文档中页面跳转同步通知参数列表 //商户编号 $oid_partner = $_POST['oid_partner']; //签名方式 $sign_type = $_POST['sign_type']; //签名 $sign = $_POST['sign']; //商户订单时间 $dt_order = $_POST['dt_order'];
public function Callback_return() { //计算得出通知验证结果 $llpayNotify = new LLpayNotify($this->llpay_config); $verify_result = $llpayNotify->verifyReturn(); if ($verify_result) { $json = new JSON(); $res_data = $_POST["res_data"]; log_message('error', json_encode(array('data' => $res_data)), 'llpay_log'); //商户编号 $money_order = $json->decode($res_data)->{'money_order'}; //商户订单号 $no_order = $json->decode($res_data)->{'no_order'}; //支付结果 $result_pay = $json->decode($res_data)->{'result_pay'}; log_message('error', json_encode(array('result' => true, 'amount' => $money_order, 'trans_no' => $no_order, 'type' => 1)), 'llpay_log'); if ($result_pay == 'SUCCESS') { return array('result' => true, 'amount' => $money_order, 'trans_no' => $no_order, 'type' => 1); } else { return array('result' => true, 'amount' => 0, 'trans_no' => $no_order, 'type' => 1); } } else { return array('result' => false, 'type' => 1); } }