база данных — я не могу публиковать и перенаправлять на платежный шлюз через PHP-Curl

Я построил форму, которая требует информации, в том числе $amount,

Предположительно, форма будет отправлять информацию в базу данных MYSQL для хранения.
<form name="payFormCcard" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">

Для части PHP, некоторая информация об оплате (например, $amount некоторая информация будет опубликована в жестко запрограммированном виде) будет размещена на платежном шлюзе через Curl. И я обязательно перенаправлю на Платежный шлюз header("Location:https://test.paydollar.com/b2cDemo/eng/payment/payForm.jsp");

Теперь данные могут успешно сохраняться в БД. Несмотря на то, что в конце они отправляются в Платежный шлюз, данные не могут быть отправлены на шлюз.

Один шлюз сайта,

Сообщение об ошибке

Параметр merchantId неверен

Следовательно, sth неверен в методе Curl. Все параметры не могут успешно пройти к платежному шлюзу.

PHP часть в create.php:

// Processing form data when form is submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Validate name
$input_CName = trim($_POST["CName"]);
if (empty($input_CName)) {
$CName_err = "Please enter a name.";
} elseif (!filter_var(trim($_POST["CName"]), FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[a-zA-Z'-.\s ]+$/")))) {
$CName_err = 'Please enter a valid name.';
} else {
$CName = $input_CName;
}
....Other field validation ...

....Storing to DB if every field is okay .
if (empty($CName_err) && empty($Address_err) && empty($amount_err) && empty($Phone_err)) {
// Prepare an insert statement
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO donation (CName, Address, Phone, Amount ,Ticket, Purpose) VALUES (?, ?, ?, ? ,?, ?)";

$q = $pdo->prepare($sql);
$q->execute(array($CName, $Address, $Phone, $amount ,$Ticket ,$Purpose));
Database::disconnect();

Curl Part ......

$fields = array(
'amount' => $amount,
'merchantId'   => 'sth',
'orderRef'    => 'sth',
'currCode'   => '344',
'mpsMode'    => 'NIL',
'successUrl' =>'http://www.yourdomain.com/Success.html',
'failUrl' =>'http://www.yourdomain.com/Fail.html',
'cancelUrl'=>'http://www.yourdomain.com/Cancel.html',
'payType'    => 'N',
'lang'       => 'E',
'payMethod'  => 'CC',
'secureHash'=> 'sth'
);

// build the urlencoded data
$postvars = http_build_query($fields);
$ch = curl_init();
//
curl_setopt($ch, CURLOPT_URL,"https://test.paydollar.com/b2cDemo/eng/payment/payForm.jsp");
curl_setopt($ch, CURLOPT_POST,  count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
//
//// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);

curl_close ($ch);

header("Location:https://test.paydollar.com/b2cDemo/eng/payment/payForm.jsp");
}

}
?>

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]