中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

實例講述Ecshop實現(xiàn)的支付寶手機網(wǎng)頁支付功能

1970-01-01    來源:

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

本文實例講述Ecshop實現(xiàn)的支付寶手機網(wǎng)頁支付功能,分享給大家供大家參考,具體如下:

Ecshop手機網(wǎng)頁版本支持在網(wǎng)上找了很多需要花錢購買了,在這里小編整理了一個Ecshop 支付寶手機網(wǎng)頁支付免費版供大家參考.

Ecshop 支付寶手機網(wǎng)頁支付,針對ecshop wap手機版
?

復(fù)制代碼
代碼如下:
/**
* ECSHOP 支付寶手機網(wǎng)頁插件
*/
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
$payment_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/payment/alipay_wap.php';
if (file_exists($payment_lang))
{
global $_LANG;
include_once($payment_lang);
}
/* 模塊的基本信息 */
if (isset($set_modules) && $set_modules == TRUE)
{
$i = isset($modules) ? count($modules) : 0;
/* 代碼 */
$modules[$i]['code'] = basename(__FILE__, '.php');
/* 描述對應(yīng)的語言項 */
$modules[$i]['desc'] = 'alipay_wap_desc';
/* 是否支持貨到付款 */
$modules[$i]['is_cod'] = '0';
/* 是否支持在線支付 */
$modules[$i]['is_online'] = '1';
/* 作者 */
$modules[$i]['author'] = 'ECSHOP TEAM';
/* 網(wǎng)址 */
$modules[$i]['website'] = 'http://www.alipay.com';
/* 版本號 */
$modules[$i]['version'] = '1.0.2';
/* 配置信息 共用?? */
$modules[$i]['config'] = array(
array('name' => 'alipay_account', 'type' => 'text', 'value' => ''),
array('name' => 'alipay_key', 'type' => 'text', 'value' => ''),
array('name' => 'alipay_partner', 'type' => 'text', 'value' => ''),
array('name' => 'alipay_pay_method', 'type' => 'select', 'value' => '')
);
return;
}
/**
* 類
*/
class alipay_wap
{
/**
* 構(gòu)造函數(shù)
*
* @access public
* @param
*
* @return void
*/
function alipay()
{
}
function __construct()
{
$this->alipay();
}
/**
* 生成支付代碼
* @param array $order 訂單信息
* @param array $payment 支付方式信息
*/
function get_code($order, $payment)
{
if (!defined('EC_CHARSET'))
{
$charset = 'utf-8';
}
else
{
$charset = EC_CHARSET;
}
//合作身份者id,以2088開頭的16位純數(shù)字
$alipay_config['partner'] = $payment['alipay_partner'];
//簽名方式 不需修改
$alipay_config['sign_type'] = '0001';
//安全檢驗碼,以數(shù)字和字母組成的32位字符
//如果簽名方式設(shè)置為“MD5”時,請設(shè)置該參數(shù)
//$alipay_config['key'] = $payment['alipay_key'];
//商戶的私鑰(后綴是.pen)文件相對路徑
//如果簽名方式設(shè)置為“0001”時,請設(shè)置該參數(shù)
$alipay_config['private_key_path'] = dirname(__FILE__)."/alipay_wap/key/rsa_private_key.pem";
//支付寶公鑰(后綴是.pen)文件相對路徑
//如果簽名方式設(shè)置為“0001”時,請設(shè)置該參數(shù)
$alipay_config['ali_public_key_path']= dirname(__FILE__)."/alipay_wap/key/alipay_public_key.pem";
//↑↑↑↑↑↑↑↑↑↑請在這里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//字符編碼格式 目前支持 gbk 或 utf-8
$alipay_config['input_charset']= 'utf-8';
//ca證書路徑地址,用于curl中ssl校驗
//請保證cacert.pem文件在當(dāng)前文件夾目錄中
$alipay_config['cacert'] = dirname(__FILE__)."/alipay_wap/cacert.pem";
//訪問模式,根據(jù)自己的服務(wù)器是否支持ssl訪問,若支持請選擇https;若不支持請選擇http
$alipay_config['transport'] = 'http';
require_once(dirname(__FILE__)."/alipay_wap/lib/alipay_submit.class.php");
//返回格式
$format = "xml";
//必填,不需要修改
//返回格式
$v = "2.0";
//必填,不需要修改
//請求號
$req_id = date('Ymdhis');
//必填,須保證每次請求都是唯一
//**req_data詳細信息**
//服務(wù)器異步通知頁面路徑
$notify_url = return_url(basename(__FILE__, '.php'));
//需http://格式的完整路徑,不允許加?id=123這類自定義參數(shù)
//頁面跳轉(zhuǎn)同步通知頁面路徑
$call_back_url = return_url(basename(__FILE__, '.php'));
//需http://格式的完整路徑,不允許加?id=123這類自定義參數(shù)
//操作中斷返回地址
$merchant_url = $GLOBALS['ecs']->url();
//用戶付款中途退出返回商戶的地址。需http://格式的完整路徑,不允許加?id=123這類自定義參數(shù)
//賣家支付寶帳戶
$seller_email = $payment['alipay_account'];
//必填
//商戶訂單號
$out_trade_no = $order['order_sn'] . $order['log_id'];
//商戶網(wǎng)站訂單系統(tǒng)中唯一訂單號,必填
//訂單名稱
$subject = $order['order_sn'];
//必填
//付款金額
$total_fee = $order['order_amount'];
//必填
//請求業(yè)務(wù)參數(shù)詳細
$req_data = '' . $notify_url . '' . $call_back_url . '' . $seller_email . '' . $out_trade_no . '' . $subject . '' . $total_fee . '' . $merchant_url . '';
//必填
/************************************************************/
//構(gòu)造要請求的參數(shù)數(shù)組,無需改動
$para_token = array(
"service" => "alipay.wap.trade.create.direct",
"partner" => trim($alipay_config['partner']),
"sec_id" => trim($alipay_config['sign_type']),
"format" => $format,
"v" => $v,
"req_id" => $req_id,
"req_data" => $req_data,
"_input_charset" => trim(strtolower($alipay_config['input_charset']))
);
//建立請求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestHttp($para_token);
//URLDECODE返回的信息
$html_text = urldecode($html_text);
//解析遠程模擬提交后返回的信息
$para_html_text = $alipaySubmit->parseResponse($html_text);
//獲取request_token
$request_token = $para_html_text['request_token'];
/**************************根據(jù)授權(quán)碼token調(diào)用交易接口alipay.wap.auth.authAndExecute**************************/
//業(yè)務(wù)詳細
$req_data = '' . $request_token . '';
//必填
//構(gòu)造要請求的參數(shù)數(shù)組,無需改動
$parameter = array(
"service" => "alipay.wap.auth.authAndExecute",
"partner" => trim($alipay_config['partner']),
"sec_id" => trim($alipay_config['sign_type']),
"format" => $format,
"v" => $v,
"req_id" => $req_id,
"req_data" => $req_data,
"_input_charset" => trim(strtolower($alipay_config['input_charset']))
);
//建立請求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestForm($parameter, 'get', '進行付款');
return $html_text;
}
/**
* 響應(yīng)操作
*/
function respond()
{
if (!emptyempty($_POST))
{
foreach($_POST as $key => $data)
{
$_GET[$key] = $data;
}
}
log_write($_GET, 'alipay_wap');
$payment = get_payment($_GET['code']);
$seller_email = rawurldecode($_GET['seller_email']);
$order_sn = str_replace($_GET['subject'], '', $_GET['out_trade_no']);
$order_sn = trim($order_sn);
/* 檢查數(shù)字簽名是否正確 */
ksort($_GET);
reset($_GET);
//合作身份者id,以2088開頭的16位純數(shù)字
$alipay_config['partner'] = $payment['alipay_partner'];
//簽名方式 不需修改
$alipay_config['sign_type'] = '0001';
//安全檢驗碼,以數(shù)字和字母組成的32位字符
//如果簽名方式設(shè)置為“MD5”時,請設(shè)置該參數(shù)
//$alipay_config['key'] = $payment['alipay_key'];
//商戶的私鑰(后綴是.pen)文件相對路徑
//如果簽名方式設(shè)置為“0001”時,請設(shè)置該參數(shù)
$alipay_config['private_key_path'] = dirname(__FILE__)."/alipay_wap/key/rsa_private_key.pem";
//支付寶公鑰(后綴是.pen)文件相對路徑
//如果簽名方式設(shè)置為“0001”時,請設(shè)置該參數(shù)
$alipay_config['ali_public_key_path']= dirname(__FILE__)."/alipay_wap/key/alipay_public_key.pem";
//↑↑↑↑↑↑↑↑↑↑請在這里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//字符編碼格式 目前支持 gbk 或 utf-8
$alipay_config['input_charset']= 'utf-8';
//ca證書路徑地址,用于curl中ssl校驗
//請保證cacert.pem文件在當(dāng)前文件夾目錄中
$alipay_config['cacert'] = dirname(__FILE__)."/alipay_wap/cacert.pem";
//訪問模式,根據(jù)自己的服務(wù)器是否支持ssl訪問,若支持請選擇https;若不支持請選擇http
$alipay_config['transport'] = 'http';
require_once(dirname(__FILE__)."/alipay_wap/lib/alipay_notify.class.php");
//計算得出通知驗證結(jié)果
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyNotify();
if(!$verify_result) {//驗證不成功
return false;
}
$notify_data = $alipayNotify->decrypt($_GET['notify_data']);
$doc = new DOMDocument();
$doc->loadXML($notify_data);
if( ! emptyempty($doc->getElementsByTagName( "notify" )->item(0)->nodeValue) ) {
//商戶訂單號
$out_trade_no = $doc->getElementsByTagName( "out_trade_no" )->item(0)->nodeValue;
$out_trade_no = str_replace($_GET['subject'], '', $out_trade_no);
$out_trade_no = trim($out_trade_no);
//支付寶交易號
$trade_no = $doc->getElementsByTagName( "trade_no" )->item(0)->nodeValue;
//交易狀態(tài)
$trade_status = $doc->getElementsByTagName( "trade_status" )->item(0)->nodeValue;
/* 檢查支付的金額是否相符 */
if (!check_money($out_trade_no, $_GET['total_fee']))
{
return false;
}
if($_GET['trade_status'] == 'TRADE_FINISHED') {
/* 改變訂單狀態(tài) */
order_paid($out_trade_no);
return true;
}else if ($_GET['trade_status'] == 'TRADE_SUCCESS') {
/* 改變訂單狀態(tài) */
order_paid($out_trade_no, 2);
return true;
}else{
return false;
}
}
}
}
?>

?

以上就是實例講述Ecshop實現(xiàn)的支付寶手機網(wǎng)頁支付功能的全部內(nèi)容,希望本文所述對大家Ecshop開發(fā)有所幫助,更多內(nèi)容請繼續(xù)關(guān)注西部數(shù)碼技術(shù)頻道網(wǎng)站!

標(biāo)簽: https ssl 安全 代碼 服務(wù)器 網(wǎng)站 西部數(shù)碼 選擇 用戶

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:ECSHOP首頁商品顯示購買次數(shù)的實現(xiàn)方法

下一篇:調(diào)用ecshop商品頂級分類ID我NAME的二種方法