Я пытаюсь сохранить платежные ответы Worldpay под именем пользователя. Но проблема в том, что он дважды сохраняет данные POST ответа от Worldpay в базе данных. Сначала он правильно хранит ответы на платежи в базе данных, но имя пользователя будет иметь значение NULL, а затем сохранит только мое имя пользователя в качестве новой строки и все остальные значения в качестве NULL.
Мой код:
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');
}
Задача ещё не решена.
Других решений пока нет …