www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > plugins/payment/pay.pay100.php
<?php require('paymentPlugin.php'); class pay_pay100 extends paymentPlugin{ var $name = 'PAY100.COM 百付通';//PAY100.COM 百付通 var $logo = 'PAY100'; var $version = 20070902; var $charset = 'gb2312'; var $submitUrl = 'https://www.pay100.com/interface/Professional/paypre.aspx'; var $submitButton = 'http://img.alipay.com/pimg/button_alipaybutton_o_a.gif'; ##需要完善的地方 var $supportCurrency = array("CNY"=>"1001"); var $supportArea = array("AREA_CNY"); var $desc = 'PAY100.COM'; var $orderby = 26; function toSubmit($payment){ $merId = $this->getConf($payment["M_OrderId"], 'member_id'); $ikey = $this->getConf($payment["M_OrderId"], 'PrivateKey'); $tmp_url = $this->url."index.php?gOo=pay100_reply.do&"; //$orderdate = date("Y-m-d H:i:s",$order->M_Time); //$strRnote = strtoupper($order->M_Remark); //$StrContent = "1001".$merId.$order->M_OrderId.$order->M_Amount.$order->M_Currency.$orderdate.$order->M_OrderNO.$strRnote."1"."1"."1".$this->callbackUrl.$$this->callbackUrl.$ikey; $orderdate = date("Y-m-d H:i:s",$payment["M_Time"]); $strRnote = strtoupper($payment["M_Remark"]); $StrContent = "1001".$merId.$payment["M_OrderId"].$payment["M_Amount"].$payment["M_Currency"].$orderdate.$payment["M_OrderNO"].$strRnote."1"."1"."1".$this->callbackUrl.$$this->callbackUrl.$ikey; $return['OrderType'] = "1001"; $return['CoagentID'] = ""; $return['InceptUserName'] = $merId; $return['OrderNumber'] = $payment["M_OrderId"];//$order->M_OrderId; $return['Amount'] = $payment["M_Amount"];//$order->M_Amount; $return['MoneyCode'] = $payment["M_Currency"];//$order->M_Currency; $return['TransDateTime'] = $orderdate; $return['Title'] = $payment["M_OrderNO"];//$order->M_OrderNO; $return['Content'] = $payment["M_Remark"];//$order->M_Remark; $return['CompleteReturn'] = "1"; $return['FailReturn'] = "1"; $return['ReturnValidate'] = "1"; $return['ReturnUrl'] = $this->callbackUrl; $return['RedirectUrl'] = $this->callbackUrl; $return['SignCode'] = strtoupper(md5($StrContent)); return $return; } function callback($in,&$paymentId,&$money,&$message){ $OrderType = $in['OrderType']; //商家ID $InceptUserName = $in['InceptUserName']; //交易号 $PayUserName = $in['PayUserName']; //交易金额 $OrderNumber = $in['OrderNumber']; //交易日期 $StateCode = $in['StateCode']; //交易结果,"Y"表示成功,"N"表示失败 $Amount = $in['Amount']; $MoneyCode = $in['MoneyCode']; //商家ID $TransDateTime = $in['TransDateTime']; //交易号 $TransCompleteDateTime = $in['TransCompleteDateTime']; //交易金额 $TransType = $in['TransType']; //交易日期 $PledgeDay = $in['PledgeDay']; //交易结果,"Y"表示成功,"N"表示失败 $Memo1 = $in['Memo1']; $Memo2 = $in['Memo2']; //商家ID $SignCode = $in['SignCode']; //商家ID $paymentId = $OrderNumber; $money = $Amount; $key = $this->getConf($OrderNumber, 'PrivateKey'); $strText = $OrderType.$InceptUserName.$PayUserName.$OrderNumber.$StateCode.$Amount.$MoneyCode .$TransDateTime.$TransCompleteDateTime.$TransType.$PledgeDay.$Memo1.$Memo2.$key; $mac = md5($strText); if (strtoupper($mac)==strtoupper($SignCode)){ switch ($StateCode){ //成功支付 case "1001": return PAY_SUCCESS; break; //支付失败 case "1002": $message = '支付失败,请立即与商店管理员联系'; return PAY_FAILED; break; } }else{ $message = '签名认证失败,请立即与商店管理员联系'; return PAY_ERROR; } } function getfields(){ return array( 'member_id'=>array( 'label'=>'客户号', 'type'=>'string' ), 'PrivateKey'=>array( 'label'=>'私钥', 'type'=>'string' ) ); } } ?>