Перенаправить URL на окно оплаты

Я надеюсь, что вы, ребята, можете мне помочь. Когда мы выставляем счет, я хотел бы включить ссылку, которая позволяет нашим клиентам оплачивать свои счета онлайн. У нас есть торговый счет на датском шлюзе под названием ePay (часть Bambora).

Наша биллинговая система не может создать нужный мне URL-адрес, поэтому я решил, что с помощью PHP-скрипта на нашем веб-сервере я могу запросить данные, порядковый номер и сумму, а затем добавить остальные с помощью PHP-скрипта. Однако я не могу заставить его работать.

Также вместе с данными должна быть отправлена ​​контрольная сумма md5 из нашего ключа md5, т.е. "secret123". Значит, он должен быть отправлен в виде формы.

Можно ли создать форму и автоматически отправлять ее через PHP? - Значит, работает как редирект.

Я последовал совету user5214530, но страница возвращает ошибку 500? И я не могу это заметить?

<?php
$hash = 'secrethash';
$accepturl = 'https://www.asd.dk/dinbetaling.html#accept';
$cancelurl = 'https://www.asd.dk/dinbetaling.html#cancelurl';
$callbackurl = 'https://www.asd.dk/dinbetaling.html#callbackurl';
$mnumber = '123456';
$wid = '3';
 
$parameters = array
		(
			'merchantnumber' => $mnumber,
			'windowid' => $wid,
			'amount' => get_option('total_price'),
			'currency' => get_option('currency'),
			'windowstate' => 3,
			'orderid' => get_option('orderid'),
			'accepturl' => $accepturl,
			'cancelurl' => $cancelurl,
			'callbackurl' => $callback
		);
?>
<html>
<head>
<title>Epay payment redirect</title>
</head>
<!--<body onload = "autosubmit()">-->

<form method = "post" action = "script.php" name = "betaling" id = "betaling">
	<input type = "hidden" name = "merchantnumber" value = "<?php echo $merchantnumber; ?>">
	<input type = "hidden" name = "windowid" value = "<?php echo $windowid; ?>">
	<input type = "hidden" name = "amount" value = "<?php echo $amount; ?>">
	<input type = "hidden" name = "currency" value = "<?php echo $currency; ?>">
	<input type = "hidden" name = "windowstate" value = "<?php echo $windowstate; ?>">
	<input type = "hidden" name = "orderid" value = "<?php echo $orderid; ?>">
	<input type = "hidden" name = "accepturl" value = "<?php echo $accepturl; ?>">
	<input type = "hidden" name = "cancelurl" value = "<?php echo $cancelurl; ?>">
	<input type = "hidden" name = "callbackurl" value = "<?php echo $callbackurl; ?>">
	<input type = "hidden" name = "hash" value = "<?php md5(implode("", array_values($parameters)) . $hash); ?>">
</form>
<!--<script> 
function autosubmit()
    {
        document.betaling.submit()
    }</script>
-->
</body>
</html>
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
603
2

Ответы 2

Вы можете сделать это через. Завиток

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://yourControolerUrl"); your controller or api to handle this request at backend
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);

$data = array(  // data in associative array
    'foo' => 'foo foo foo',
    'bar' => 'bar bar bar',
    'baz' => 'baz baz baz'
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

Спасибо. :) Но я думаю, что на моем уровне JS-версия проще осмыслить.

Christian Bach 19.06.2018 11:54

Вы можете отправить форму автоматически с помощью JS:

<html>
<head>
<script>
    function autosubmit()
    {
        document.form1.submit()
    }
</script>
</head>

<body onload = "autosubmit()">
    <form action = "script.php" method = "POST" id = "form1" name = "form1">
        <input type = "text" value = "" />
    </form>
</body>
</html> 

Но вы также можете сгенерировать запрос и отправить его напрямую с помощью CURL в PHP (см. Несколько возможностей здесь Как отправить запрос POST с помощью PHP?):

Другие вопросы по теме