您好,欢迎访问一九零五行业门户网

Ecshop 支付宝手机网页支付免费版

ecshop手机网页版本支持在网上找了很多需要花钱购买了,在这里小编整理了一个ecshop 支付宝手机网页支付免费版供大家参考。
ecshop 支付宝手机网页支付,针对ecshop wap手机版
'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
{
/**
* 构造函数
*
* @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位纯数字
$alipay_config['partner'] = $payment['alipay_partner'];
//签名方式 不需修改
$alipay_config['sign_type'] = '0001';
//安全检验码,以数字和字母组成的32位字符
//如果签名方式设置为“md5”时,请设置该参数
//$alipay_config['key'] = $payment['alipay_key'];
//商户的私钥(后缀是.pen)文件相对路径
//如果签名方式设置为“0001”时,请设置该参数
$alipay_config['private_key_path'] = dirname(__file__)./alipay_wap/key/rsa_private_key.pem;
//支付宝公钥(后缀是.pen)文件相对路径
//如果签名方式设置为“0001”时,请设置该参数
$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文件在当前文件夹目录中
$alipay_config['cacert'] = dirname(__file__)./alipay_wap/cacert.pem;
//访问模式,根据自己的服务器是否支持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详细信息**
//服务器异步通知页面路径
$notify_url = return_url(basename(__file__, '.php'));
//需http://格式的完整路径,不允许加?id=123这类自定义参数
//页面跳转同步通知页面路径
$call_back_url = return_url(basename(__file__, '.php'));
//需http://格式的完整路径,不允许加?id=123这类自定义参数
//操作中断返回地址
$merchant_url = $globals['ecs']->url();
//用户付款中途退出返回商户的地址。需http://格式的完整路径,不允许加?id=123这类自定义参数
//卖家支付宝帐户
$seller_email = $payment['alipay_account'];
//必填
//商户订单号
$out_trade_no = $order['order_sn'] . $order['log_id'];
//商户网站订单系统中唯一订单号,必填
//订单名称
$subject = $order['order_sn'];
//必填
//付款金额
$total_fee = $order['order_amount'];
//必填
//请求业务参数详细
$req_data = '' . $notify_url . '' . $call_back_url . '' . $seller_email . '' . $out_trade_no . '' . $subject . '' . $total_fee . '' . $merchant_url . '';
//必填
/************************************************************/
//构造要请求的参数数组,无需改动
$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'];
/**************************根据授权码token调用交易接口alipay.wap.auth.authandexecute**************************/
//业务详细
$req_data = '' . $request_token . '';
//必填
//构造要请求的参数数组,无需改动
$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;
}
/**
* 响应操作
*/
function respond()
{
if (!empty($_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);
/* 检查数字签名是否正确 */
ksort($_get);
reset($_get);
//合作身份者id,以2088开头的16位纯数字
$alipay_config['partner'] = $payment['alipay_partner'];
//签名方式 不需修改
$alipay_config['sign_type'] = '0001';
//安全检验码,以数字和字母组成的32位字符
//如果签名方式设置为“md5”时,请设置该参数
//$alipay_config['key'] = $payment['alipay_key'];
//商户的私钥(后缀是.pen)文件相对路径
//如果签名方式设置为“0001”时,请设置该参数
$alipay_config['private_key_path'] = dirname(__file__)./alipay_wap/key/rsa_private_key.pem;
//支付宝公钥(后缀是.pen)文件相对路径
//如果签名方式设置为“0001”时,请设置该参数
$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文件在当前文件夹目录中
$alipay_config['cacert'] = dirname(__file__)./alipay_wap/cacert.pem;
//访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
$alipay_config['transport'] = 'http';
require_once(dirname(__file__)./alipay_wap/lib/alipay_notify.class.php);
//计算得出通知验证结果
$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( ! empty($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;
//交易状态
$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') {
/* 改变订单状态 */
order_paid($out_trade_no);
return true;
}else if ($_get['trade_status'] == 'trade_success') {
/* 改变订单状态 */
order_paid($out_trade_no, 2);
return true;
}else{
return false;
}
}
}
}
?>
其它类似信息

推荐信息