www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > plugins/payment/pay.ecs.php
<?php require('paymentPlugin.php'); class pay_ecs extends paymentPlugin{ var $name = 'ECS Payment Gateway '; var $logo = 'ECS'; var $version = 20070902; var $charset = 'gb2312'; var $submitUrl = 'https://secure.cps.lv/scripts/rprocess.dll?authorize'; var $submitButton = 'http://img.alipay.com/pimg/button_alipaybutton_o_a.gif'; ##需要完善的地方 var $supportCurrency = array("USD"=>"USD", "EUR"=>"EUR"); var $supportArea = array("AREA_USD","AREA_EUR"); var $desc = ''; var $orderby = 44; var $cur_trading = true; //支持真实的外币交易 function toSubmit($payment){ $merId = $this->getConf($payment["M_OrderId"], 'member_id'); $ikey = $this->getConf($payment["M_OrderId"], 'PrivateKey'); ##$tmp_url = $_SERVER['HTTP_HOST']; $tmp_url = $this->callbackUrl; //$mac="goodsTitle".$order->M_OrderId."goodsBid".$order->M_Amount."ordinaryFee0.00expressFee0.00sellerEmail".$merId."no".$order->M_OrderId."memo".$ikey; $mac="goodsTitle".$payment["M_OrderId"]."goodsBid".$payment["M_Amount"]."ordinaryFee0.00expressFee0.00sellerEmail".$merId."no".$payment["M_OrderId"]."memo".$ikey; $mac = md5($mac); //对参数串进行私钥加密取得值 $return["Merchant"] = $merId; $return["Account"] = $ikey; $return["Service"] = $this->getConf($payment["M_OrderId"], 'SecondPrivateKey'); $return["OrderID"] = $payment["M_OrderNO"];//$order->M_OrderNO; $return["ReferenceID"] = $payment["M_OrderId"];//$order->M_OrderId; $return["Amount"] = $payment["M_Amount"];//$order->M_Amount; $return["Currency"] = $payment["M_Currency"];//$order->M_Currency; $return["Description"] = $payment["M_Remark"];//$order->M_Remark; $return["Customer"] = $payment["R_Name"];//$order->R_Name; $return["Email"] = $payment["R_Email"];//$order->R_Email; $return["IP"] = $_SERVER["REMOTE_ADDR"]; $return["Site"] = $tmp_url; return $return; } function callback($in,&$paymentId,&$money,&$message){ $merid = $in["merid"]; ##$payid = $this->intString($in["ReferenceID"], 6); $payid = $in["ReferenceID"]; $succ = $in["Status"]; $ErrorCode = $in["ErrorCode"]; $Message = $in["Message"]; $orderno = $in["OrderID"]; $paymentId = $payid; $money = ''; switch ($succ){ //成功支付 case "1": return PAY_SUCCESS; break; //支付失败 case "0": $message = '支付失败,请立即与商店管理员联系'; return PAY_FAILED; break; } #mt_srand((double)microtime()*1000000); #$randval = mt_rand(10000000,99999999); #$signstr = substr(hexdec(md5($tmp_orderno.$state.mktime().$randval)), 0, 10); #$Order->updateOrderSign($tmp_orderno, $signstr); } function getfields(){ //EGOLD没有商户私钥 return array( 'member_id'=>array( 'label'=>'客户号', 'type'=>'string' ), 'PrivateKey'=>array( 'label'=>'私钥', 'type'=>'string' ), 'SecondPrivateKey'=>array( 'label'=>'第二私钥', 'type'=>'string' ) ); } function intString($intvalue,$len){ $intstr=strval($intvalue); //echo strlen($intstr); for ($i=1;$i<=$len-strlen($intstr);$i++){ $tmpstr .= "0"; } return $tmpstr.$intstr; } } ?>