Здравствуйте!
Имеется страничка заказа услуги, содержащая несколько форм (текстовые, чекбоксы, радио). После сабмита клиента должно перекинуть на страницу оплаты walletone, далее после оплаты, необходимо осуществить отправку этих данных мне на почту, а клиента перекинуть на условную страничку "оплата прошла, ожидайте исполнения заказа"
Платёжка рекомендует
использовать форму такого вида:
<form method="post" action="https://wl.walletone.com/checkout/checkout/Index">
<input name="WMI_MERCHANT_ID" value="123456789012"/>
<input name="WMI_PAYMENT_AMOUNT" value="100.00"/>
<input name="WMI_CURRENCY_ID" value="643"/>
<input name="WMI_DESCRIPTION" value="Оплата демонстрационного заказа"/>
<input name="WMI_SUCCESS_URL" value="https://myshop.ru/w1/paid.php"/>
<input name="WMI_FAIL_URL" value="https://myshop.ru/w1/fail.php"/>
<input type="submit"/>
</form>
На данный момент я настроил обработчик на отправку данных письмом сразу после сабмита (работает), но надо это сделать после оплаты) Полагаю, рекомендованную walletone логично вписать в кнопку, отвечающую за сабмит)
Вероятно здесь не избежать использования mysql, но не хотелось бы связываться)
php выглядит примерно так:
<?php
$to = 'mail@gmail.com';
if ( isset( $_POST['name'] ) ) {
$name = substr( $_POST['name'], 0, 64 );
$age = substr( $_POST['age'], 0, 64 );
$url = substr( $_POST['url'], 0, 64 );
$mail = substr( $_POST['mail'], 0, 250 );
$userscreenshot = $_POST['screenshot']; // сохраняем в переменную данные полученные из поля cо скрином
$check = '';
if (!empty($_POST["check"]) && is_array($_POST["check"]))
{$check = implode(" ", $_POST["check"]);
}; // сохраняем в переменную данные полученные из чекбоксов
if ( !empty( $_FILES['screenshot']['tmp_name'] ) and $_FILES['screenshot']['error'] == 0 ) {
$filepath = $_FILES['screenshot']['tmp_name'];
$filename = $_FILES['screenshot']['name'];
} else {
$filepath = '';
$filename = '';
}
$body = "Имя:\r\n".$name."\r\n\r\n";
$body .= "Возраст:\r\n".$age."\r\n\r\n";
$body .= "ССыль:\r\n".$url."\r\n\r\n";
$body .= "Ищу:\r\n".$check;
send_mail($to, $body, $mail, $filepath, $filename);
}
// функция для отправки почтового сообщения с вложением
function send_mail($to, $body, $mail, $filepath, $filename)
{
$subject = '300';
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers = "From: ".$mail."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
$multipart = "--".$boundary."\r\n";
$multipart .= "Content-type: text/plain; charset=\"utf-8\"\r\n";
$multipart .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n";
$body = $body."\r\n\r\n";
$multipart .= $body;
$file = '';
if ( !empty( $filepath ) ) {
$fp = fopen($filepath, "r");
if ( $fp ) {
$content = fread($fp, filesize($filepath));
fclose($fp);
$file .= "--".$boundary."\r\n";
$file .= "Content-Type: application/octet-stream\r\n";
$file .= "Content-Transfer-Encoding: base64\r\n";
$file .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$file .= chunk_split(base64_encode($content))."\r\n";
}
}
$multipart .= $file."--".$boundary."--\r\n";
if (pay_ok = true)
mail($to, $subject, $multipart, $headers);
}
?>
Заранее спасибо за вашу помощь и поддержку! :)