0

我为 X-Cart 编写了一个支付模块。
我的返回网址部分是:

require './auth.php';

if (!func_is_active_payment('cc_mellat.php'))
    exit;

$rescode=$_POST['ResCode'];
$RefID=$_POST['RefId'];
$saleOrderId=$_POST['saleOrderId'];
$SaleReferenceId=$_POST['SaleReferenceId'];

$tmp = func_query_first("SELECT sessionid,param1 FROM $sql_tbl[cc_pp3_data] WHERE ref='".$saleOrderId."'");
$bill_output['sessid'] = $tmp['sessionid'];

$bill_output['billmes']="RefId:".$RefId." - ResCode: ".$rescode." - SaleReferenceId:".$SaleReferenceId;
// Approved
if ($rescode == 0 && $is_md5) {
    $bill_output['code'] = 1;       
// Declined
} else {
    echo "Error: ".$rescode;
    $bill_output['code'] = 2;       
}
var_dump($bill_output); 

require($xcart_dir.'/payment/payment_ccend.php');

但付款后 X-Cart 说:

Order declined.
Review your data or contact the store administrator.

Reason: Error: Your order was lost 

问题是什么?

4

2 回答 2

1

在这里查看我的帖子。它由于 SQL 错误而失败,因为该xcart_cc_pp3_data字段的名称sessid 不是 sessionid.

切换到正确的字段名称,您的订单就会被找到。order not found(在找到并修复 SQL 之前,我遇到了同样的错误。)

于 2012-09-28T16:07:36.127 回答
0

看来您在这里使用了未定义的变量 $is_md5 :

if ($rescode == 0 && $is_md5) {
于 2012-02-01T18:20:37.093 回答