我正在尝试使用用户名存储 Worldpay 支付响应。但问题是它将来自 Worldpay 的响应 POST 数据存储在数据库中两次。首先,它将支付响应正确存储在数据库中,但用户名为空,然后它将仅将我的用户名保存为新行,并将所有其他值保存为空。
我的代码:
function response_success() {
$email = $_POST['email'];
$trans_time = strtotime($_POST['transTime']);
$trans_date = date("Y-m-d H:i:s", $trans_time);
$trans_id = intval($_POST['transId']);
$future_payid = intval($_POST['futurePayId']);
$trans_status = $_POST['transStatus'];
$authamnt = $_POST['authAmount'];
$authcurr = $_POST['authCurrency'];
$authamntstring = $_POST['authAmountString'];
$auth_msg = $_POST['rawAuthMessage'];
$auth_code = $_POST['rawAuthCode'];
$callbck_pw = $_POST['callbackPW'];
$card_typ = $_POST['cardType'];
$cntry_match = $_POST['countryMatch'];
$avs = intval($_POST['AVS']);
print_r($_POST['email']);
$bw_paymentinfo_add_query = db_insert('test')
->fields(array(
'transactionid' => $trans_id,
'futurepayid' =>$future_payid,
'transaction_status' => $trans_status,
'transaction_time' => $trans_date,
'auth_amount' => $authamnt,
'auth_currency' => $authcurr,
'auth_amount_string' =>$authamntstring ,
'raw_auth_message' => $auth_msg,
'raw_auth_code' => $auth_code,
'callback_pw' => $callbck_pw,
'card_type' => $card_typ,
'country_match' => $cntry_match,
'avs' => $avs,
'email' => $email,
))
->execute();
drupal_set_message('Your transaction has been successful');
}