if ($bRet) { if ($r1_Code == "1") { # 需要比较返回的金额与商家数据库中订单的金额是否相等,只有相等的情况下才认为是交易成功. # 并且需要对返回的处理进行事务控制,进行记录的排它性处理,防止对同一条交易重复发货的情况发生. if ($r9_BType == "1") { //echo "交易成功"; //echo "<br />在线支付页面返回"; } elseif ($r9_BType == "2") { #如果需要应答机制则必须回写流,以success开头,大小写不敏感. echo "success"; echo "<br />交易成功"; echo "<br />在线支付服务器返回"; } elseif ($r9_BType == "3") { echo "电话支付通知页面返回"; } olpay_end($r6_Order); } } else { echo "交易信息被篡改"; exit; } } else { $array = olpay_send(); # 商家设置用户购买商品的支付信息. ##易宝支付平台统一使用GBK/GB2312编码方式,参数如用到中文,请注意转码 # 商户订单号,选填. ##若不为"",提交的订单号必须在自身账户交易中唯一;为""时,易宝支付会自动生成随机的商户订单号. $p2_Order = $array[numcode]; # 支付金额,必填. ##单位:元,精确到分. $p3_Amt = $array[money];
if ($tenpay_conf->spid != $strBargainorId) { //错误的商户号 //植入业务逻辑处理,请注意金额单位是分,财付通有可能多次通知商户支付成功,需要对财付通的重复通知做去重处理 echo $strBargainorId, "<br/>"; echo $tenpay_conf->spid; $retcode = "1"; $retmsg = "错误的商户号"; die("错误的商户号 "); } if ($strPayResult != "0") { //支付失败,系统错误 //植入业务逻辑处理,请注意金额单位是分,财付通有可能多次通知商户支付成功,需要对财付通的重复通知做去重处理 $retcode = "3"; $retmsg = "支付失败,系统错误"; die("支付失败,系统错误 "); } if ($retcode == "0") { //支付成功 //植入业务逻辑处理,请注意金额单位是分,财付通有可能多次通知商户支付成功,需要对财付通的重复通知做去重处理 olpay_end($strSpBillno); die("支付成功. "); } } else { $array = olpay_send(); //URL不支持=与&字符,所以要特别处理,比较麻烦 $tenpay_conf->return_url = "{$webdb['www']}/inc/olpay/tenpay.php?" . str_replace(array("=", "&"), array("--", "---"), $array[return_url]); $tenpay = new tenpay_online_payment(); $url = $tenpay->tenpay_interface_pay("0", $array[title], "", $array[numcode], $array[money] * 100, "", ''); header("location:{$url}"); exit; }
$merchantSignMsgVal = appendParam($merchantSignMsgVal, "ext1", $ext1); $merchantSignMsgVal = appendParam($merchantSignMsgVal, "ext2", $ext2); $merchantSignMsgVal = appendParam($merchantSignMsgVal, "payResult", $payResult); $merchantSignMsgVal = appendParam($merchantSignMsgVal, "errCode", $errCode); $merchantSignMsgVal = appendParam($merchantSignMsgVal, "key", $key); $merchantSignMsg = md5($merchantSignMsgVal); if (strtoupper($signMsg) != strtoupper($merchantSignMsg)) { showerr("验证MD5签名失败"); } if ($webdb[pay99_id] != $merchantAcctId) { showerr("错误的商户编号"); } if ($payResult != "10") { showerr("支付失败"); } olpay_end($orderId); } else { $array = olpay_send(); $array[return_url] = substr($array[return_url], 0, -1); //人民币网关账户号 ///请与快钱联系索取 ////账户号merchantAcctId的构成: ////登录快钱帐户,在“我的快钱”-“帐户首页”的中上位置显示“用户编号”。 ////商户如果接入的是快钱人民币支付网关,那么商户的帐户号merchantAcctId就为 ////用户编号后面附加数字01,即{用户编号}01 $merchantAcctId = $webdb[pay99_id]; //人民币网关密钥 ///区分大小写.请与快钱联系索取 ////商户密钥(登录快钱网站,在“快钱工具”-“设置产品参数”中获取和设置。 ////注意:商户密钥的长度只能是16位!商户密钥不应包含特殊字符,建议只使用数字和字母组合)。 ////如果在申请快钱帐户时没有收到快钱发送的通知邮件(含有为你们随机生成的密钥),
<?php !function_exists('html') && exit('ERR'); if (!$webdb[alipay_id]) { showerr('系统没有设置支付宝收款帐号,所以不能使用支付宝在线支付'); } if ($trade_status) { $alipay_partner = $webdb[alipay_partner]; $veryfy_result = file_get_contents("http://notify.alipay.com/trade/notify_query.do?notify_id={$notify_id}&partner={$alipay_partner}"); if (!eregi("true\$", $veryfy_result)) { showerr('安全验证参数校验失败,无法完成充值!<hr>' . $veryfy_result); } olpay_end($out_trade_no); } else { $array = olpay_send(); $url = $webdb['alipay_transport'] . "://www.alipay.com/cooperate/gateway.do?"; //支付宝的一些小BUG,要特别处理订单号 if (eregi("^0", $array[numcode])) { $array[numcode] = "{$array['numcode']}code"; } $para = array('_input_charset' => 'gbk', 'service' => $webdb['alipay_service'], 'partner' => $webdb['alipay_partner'], 'return_url' => $array['return_url'], 'payment_type' => 1, 'quantity' => 1, 'subject' => $array['title'], 'body' => $array['content'], 'out_trade_no' => $array['numcode'], 'price' => $array['money'], 'seller_email' => $webdb['alipay_id'], 'logistics_fee' => '0.00', 'logistics_payment' => 'BUYER_PAY', 'logistics_type' => 'EXPRESS'); ksort($para); $and = ''; foreach ($para as $key => $value) { if ($value !== '') { $_url .= $and . "{$key}={$value}"; $url .= $and . "{$key}=" . urlencode($value); $and = "&"; } } $sign = md5($_url . $webdb['alipay_key']);