'MerNo', 'type' => 'text', 'value' => ''), array('name' => 'MD5key', 'type' => 'text', 'value' => ''), array('name' => 'Currency', 'type' => 'select', 'value' => ''), array('name' => 'Language', 'type' => 'select', 'value' => ''), ); return; } /** * 类 */ class ctopay { /** * 构造函数 * * @access public * @param * * @return void */ function ctopay() { } function __construct() { $this->ctopay(); } /** * 生成支付代码 * @param array $order 订单信息 * @param array $payment 支付方式信息 */ function get_code($order, $payment) { $MD5key = $payment['MD5key']; //MD5私钥 $MerNo = $payment['MerNo']; //商户号 $BillNo = $order['log_id']; //订单号 $Currency = $payment['Currency']; //币种 $Amount = $order['order_amount']; //金额 $DispAmount= 0; //外币金额 $Language = $payment['Language']; //语言 $ReturnURL = return_url(basename(__FILE__, '.php')); //返回地址 $Remark = "From ECShop order sn : " . $order['order_sn']; //备注 $md5src = $MerNo.$BillNo.$Currency.$Amount.$Language.$ReturnURL.$MD5key; //校验源字符串 $MD5info = strtoupper(md5($md5src)); //MD5检验结果 $button = '
"; return $button; } /** * 响应操作 */ function respond() { $payment = get_payment($_GET['code']); $BillNo = $_REQUEST["BillNo"]; //订单号 $Currency = $_REQUEST["Currency"]; //币种 $BankID = $_REQUEST["BankID"]; //银行ID号 $Amount = $_REQUEST["Amount"]; //金额 $Succeed = $_REQUEST["Succeed"]; //支付状态 $TradeNo = $_REQUEST["TradeNo"]; //支付平台流水号 $Result = $_REQUEST["Result"]; //支付结果 $MD5info = $_REQUEST["MD5info"]; //取得的MD5校验信息 $Remark = $_REQUEST["Remark"]; //备注 //$Drawee = $_REQUEST["Drawee"]; //支付人名称 $MD5key = $payment['MD5key']; //MD5私钥 $md5src = $BillNo.$Currency.$Amount.$Succeed.$MD5key; //校验源字符串 $md5sign = strtoupper(md5($md5src)); //MD5检验结果 /* 验证 */ if ($MD5info!= $md5sign) { return false; } if ($Succeed == 1) { /* 改变订单状态 */ order_paid($BillNo, PS_PAYED); return true; } else { return false; } } } ?>