www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > plugins/payment/pay.homeway.php
<?php require('paymentPlugin.php'); class pay_homeway extends paymentPlugin{ var $name = '和讯在线支付';//和讯在线支付 var $logo = 'HOMEWAY'; var $version = 20070902; var $charset = 'GB2312'; var $submitUrl = 'http://payment.homeway.com.cn/pay/pay_new.php3'; // var $submitButton = 'http://img.alipay.com/pimg/button_alipaybutton_o_a.gif'; ##需要完善的地方 var $supportCurrency = array("CNY"); var $supportArea = array("AREA_CNY"); var $desc = '和讯在线支付'; var $orderby = 31; function toSubmit($payment){ $merId = $this->getConf($payment["M_OrderId"], 'member_id'); $ikey = $this->getConf($payment["M_OrderId"], 'PrivateKey'); //$order->M_Currency = "2002"; $payment["M_Currency"] = "2002";// $mer_key="asdfghjk12345678"; $payment["M_Amount"] *= 100;//$order->M_Amount *= 100; //$info = $merId.$order->M_Amount.$order->M_OrderId.date("Ymd",$order->M_Time).$order->M_Currency.$ikey; $info = $merId.$payment["M_Amount"].$payment["M_OrderId"].date("Ymd",$payment["M_Time"]).$payment["M_Currency"].$ikey; $msign = md5($info); $return['MerchID'] = $merId; $return['OrderNum'] = $payment["M_OrderId"];//$order->M_OrderId; $return['Amount'] = $payment["M_Amount"];//$order->M_Amount; $return['TransType'] = $payment["M_Currency"];//$order->M_Currency; $return['TransDate'] = date("Ymd",$payment["M_Time"]);//date("Ymd",$order->M_Time); $return['Signature'] = $msign; return $return; } function callback($in,&$paymentId,&$money,&$message){ $OrderNo = $in['OrderNo']; //商家订单号 $Amount = $in['Amount']; //支付金额 $TransType = $in['TransType']; //币种 $TransDate = $in['TransDate']; //语言选择 $Succeed = $in['Succeed']; //支付状态2成功,3失败 //接收组件的加密 $RetSign = $in['RetSign']; //密匙 $paymentId = $OrderNo; $money = $Amount; if ( $Succeed == "Y" ){ //支付标志为成功,但仍需要验证确认 // $MerchID = "EC_TEST00000"; //和讯支付平台为您分配的商户号 // $MerchKey = "QWERtyui12345678"; //双方约定的密钥 //检查签名 $info = $this->getConf($OrderNo, 'PrivateKey').$Succeed.$OrderNo.$this->getConf('member_id').$Amount.$TransType.$TransDate; $MySign = md5($info); if ( $RetSign == $MySign ){ return PAY_SUCCESS; }else{ $message = '验证失败'; return PAY_ERROR; } }else{ $message = '支付失败,请立即与商店管理员联系'; return PAY_FAILED; } } function getfields(){ return array( 'member_id'=>array( 'label'=>'客户号', 'type'=>'string' ), 'PrivateKey'=>array( 'label'=>'私钥', 'type'=>'string' ) ); } } ?>