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

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

1970-01-01    來(lái)源:

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

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

Ecshop手機(jī)網(wǎng)頁(yè)版本支持在網(wǎng)上找了很多需要花錢(qián)購(gòu)買(mǎi)了,在這里小編整理了一個(gè)Ecshop 支付寶手機(jī)網(wǎng)頁(yè)支付免費(fèi)版供大家參考.

Ecshop 支付寶手機(jī)網(wǎng)頁(yè)支付,針對(duì)ecshop wap手機(jī)版
?

復(fù)制代碼
代碼如下:
/**
* ECSHOP 支付寶手機(jī)網(wǎng)頁(yè)插件
*/
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');
/* 描述對(duì)應(yīng)的語(yǔ)言項(xiàng) */
$modules[$i]['desc'] = 'alipay_wap_desc';
/* 是否支持貨到付款 */
$modules[$i]['is_cod'] = '0';
/* 是否支持在線(xiàn)支付 */
$modules[$i]['is_online'] = '1';
/* 作者 */
$modules[$i]['author'] = 'ECSHOP TEAM';
/* 網(wǎng)址 */
$modules[$i]['website'] = 'http://www.alipay.com';
/* 版本號(hào) */
$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;
}
/**
* 類(lèi)
*/
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開(kāi)頭的16位純數(shù)字
$alipay_config['partner'] = $payment['alipay_partner'];
//簽名方式 不需修改
$alipay_config['sign_type'] = '0001';
//安全檢驗(yàn)碼,以數(shù)字和字母組成的32位字符
//如果簽名方式設(shè)置為“MD5”時(shí),請(qǐng)?jiān)O(shè)置該參數(shù)
//$alipay_config['key'] = $payment['alipay_key'];
//商戶(hù)的私鑰(后綴是.pen)文件相對(duì)路徑
//如果簽名方式設(shè)置為“0001”時(shí),請(qǐng)?jiān)O(shè)置該參數(shù)
$alipay_config['private_key_path'] = dirname(__FILE__)."/alipay_wap/key/rsa_private_key.pem";
//支付寶公鑰(后綴是.pen)文件相對(duì)路徑
//如果簽名方式設(shè)置為“0001”時(shí),請(qǐng)?jiān)O(shè)置該參數(shù)
$alipay_config['ali_public_key_path']= dirname(__FILE__)."/alipay_wap/key/alipay_public_key.pem";
//↑↑↑↑↑↑↑↑↑↑請(qǐng)?jiān)谶@里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//字符編碼格式 目前支持 gbk 或 utf-8
$alipay_config['input_charset']= 'utf-8';
//ca證書(shū)路徑地址,用于curl中ssl校驗(yàn)
//請(qǐng)保證cacert.pem文件在當(dāng)前文件夾目錄中
$alipay_config['cacert'] = dirname(__FILE__)."/alipay_wap/cacert.pem";
//訪(fǎng)問(wèn)模式,根據(jù)自己的服務(wù)器是否支持ssl訪(fǎng)問(wèn),若支持請(qǐng)選擇https;若不支持請(qǐng)選擇http
$alipay_config['transport'] = 'http';
require_once(dirname(__FILE__)."/alipay_wap/lib/alipay_submit.class.php");
//返回格式
$format = "xml";
//必填,不需要修改
//返回格式
$v = "2.0";
//必填,不需要修改
//請(qǐng)求號(hào)
$req_id = date('Ymdhis');
//必填,須保證每次請(qǐng)求都是唯一
//**req_data詳細(xì)信息**
//服務(wù)器異步通知頁(yè)面路徑
$notify_url = return_url(basename(__FILE__, '.php'));
//需http://格式的完整路徑,不允許加?id=123這類(lèi)自定義參數(shù)
//頁(yè)面跳轉(zhuǎn)同步通知頁(yè)面路徑
$call_back_url = return_url(basename(__FILE__, '.php'));
//需http://格式的完整路徑,不允許加?id=123這類(lèi)自定義參數(shù)
//操作中斷返回地址
$merchant_url = $GLOBALS['ecs']->url();
//用戶(hù)付款中途退出返回商戶(hù)的地址。需http://格式的完整路徑,不允許加?id=123這類(lèi)自定義參數(shù)
//賣(mài)家支付寶帳戶(hù)
$seller_email = $payment['alipay_account'];
//必填
//商戶(hù)訂單號(hào)
$out_trade_no = $order['order_sn'] . $order['log_id'];
//商戶(hù)網(wǎng)站訂單系統(tǒng)中唯一訂單號(hào),必填
//訂單名稱(chēng)
$subject = $order['order_sn'];
//必填
//付款金額
$total_fee = $order['order_amount'];
//必填
//請(qǐng)求業(yè)務(wù)參數(shù)詳細(xì)
$req_data = '' . $notify_url . '' . $call_back_url . '' . $seller_email . '' . $out_trade_no . '' . $subject . '' . $total_fee . '' . $merchant_url . '';
//必填
/************************************************************/
//構(gòu)造要請(qǐng)求的參數(shù)數(shù)組,無(wú)需改動(dòng)
$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']))
);
//建立請(qǐng)求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestHttp($para_token);
//URLDECODE返回的信息
$html_text = urldecode($html_text);
//解析遠(yuǎn)程模擬提交后返回的信息
$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ù)詳細(xì)
$req_data = '' . $request_token . '';
//必填
//構(gòu)造要請(qǐng)求的參數(shù)數(shù)組,無(wú)需改動(dòng)
$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']))
);
//建立請(qǐng)求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestForm($parameter, 'get', '進(jìn)行付款');
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開(kāi)頭的16位純數(shù)字
$alipay_config['partner'] = $payment['alipay_partner'];
//簽名方式 不需修改
$alipay_config['sign_type'] = '0001';
//安全檢驗(yàn)碼,以數(shù)字和字母組成的32位字符
//如果簽名方式設(shè)置為“MD5”時(shí),請(qǐng)?jiān)O(shè)置該參數(shù)
//$alipay_config['key'] = $payment['alipay_key'];
//商戶(hù)的私鑰(后綴是.pen)文件相對(duì)路徑
//如果簽名方式設(shè)置為“0001”時(shí),請(qǐng)?jiān)O(shè)置該參數(shù)
$alipay_config['private_key_path'] = dirname(__FILE__)."/alipay_wap/key/rsa_private_key.pem";
//支付寶公鑰(后綴是.pen)文件相對(duì)路徑
//如果簽名方式設(shè)置為“0001”時(shí),請(qǐng)?jiān)O(shè)置該參數(shù)
$alipay_config['ali_public_key_path']= dirname(__FILE__)."/alipay_wap/key/alipay_public_key.pem";
//↑↑↑↑↑↑↑↑↑↑請(qǐng)?jiān)谶@里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//字符編碼格式 目前支持 gbk 或 utf-8
$alipay_config['input_charset']= 'utf-8';
//ca證書(shū)路徑地址,用于curl中ssl校驗(yàn)
//請(qǐng)保證cacert.pem文件在當(dāng)前文件夾目錄中
$alipay_config['cacert'] = dirname(__FILE__)."/alipay_wap/cacert.pem";
//訪(fǎng)問(wèn)模式,根據(jù)自己的服務(wù)器是否支持ssl訪(fǎng)問(wèn),若支持請(qǐng)選擇https;若不支持請(qǐng)選擇http
$alipay_config['transport'] = 'http';
require_once(dirname(__FILE__)."/alipay_wap/lib/alipay_notify.class.php");
//計(jì)算得出通知驗(yàn)證結(jié)果
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyNotify();
if(!$verify_result) {//驗(yàn)證不成功
return false;
}
$notify_data = $alipayNotify->decrypt($_GET['notify_data']);
$doc = new DOMDocument();
$doc->loadXML($notify_data);
if( ! emptyempty($doc->getElementsByTagName( "notify" )->item(0)->nodeValue) ) {
//商戶(hù)訂單號(hào)
$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);
//支付寶交易號(hào)
$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;
}
}
}
}
?>

?

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

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

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

上一篇:ECSHOP首頁(yè)商品顯示購(gòu)買(mǎi)次數(shù)的實(shí)現(xiàn)方法

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