Подтвердить что ты не робот

Как создать возвращаемую страницу с помощью WorldPay?

Документы для WorldPay мне очень трудно понять после чтения и повторного чтения их часами. (Фактически, многие из документов дали мне неправильный URL-адрес Live, и мне пришлось искать в Интернете и попробовать что-то с пробной/ошибкой, чтобы найти, например, Live-URL.)

Как создать возвращаемый параметр страницы с помощью WorldPay? Под этим подразумевается, что когда кто-то отправляет платеж, а затем оплачивает сайт WorldPay, WorldPay автоматически перенаправляет покупателя обратно на страницу на моем сайте в случае успеха. Я хочу знать, как это сделать. Думаю, я догадался об этом ниже, но не уверен, что это работает?

<?php ?>
<html><head><title></title></head><body>
<form action="https://secure.wp3.rbsworldpay.com/wcc/purchase" method="post">
    <input type="hidden" name="testMode" value="0">
    <input type="hidden" name="instId" value="<?= $this->INST_ID ?>">
    <input type="hidden" name="cartId" value="<?= $this->CART_ID ?>">
    <input type="hidden" name="amount" value="<?= $this->AMOUNT ?>">
    <input type="hidden" name="currency" value="<?= $this->CURRENCY_CODE ?>">
    <input type="hidden" name="desc" value="Photos">
    <input type="hidden" name="MC_success" value="<?= $this->RETURNING_PAGE_ON_MY_SITE ?>">
    <input type="submit" value="Click here for the secure payment form">
</form>
</body></html>

EDIT. Техническая поддержка WorldPay сообщила, что теперь действие должно быть " https://secure.worldpay.com/wcc/purchase" и параметр MC_success не будет работать. Он посоветовал мне использовать параметр wpdisplay в сообщении формы, чтобы мы предложили странице результатов обмениваться заголовком и сделать мета-перенаправление обратно на страницу на нашем сайте. Я попросил пример, и он сказал, что его нет. Все, что он мог сделать, это указать мне на эту запутанную документацию, которая на самом деле не описывает это вообще. (Я не виноват в технической поддержке парня - он просто делает свою работу со слабыми инструментами, которые он дал.)

4b9b3361

Ответ 1

Проведя 3-4 дня и прочитав всю запутанную и плохую документацию Worldpay, я как-то нашел, как вернуться на какую-то страницу и обработать ответ, возвращенный Worldpay. Я хотел вставить запись в базу данных с информацией о транзакции. Поэтому я искал решение. Ну, вот решение, которое сработало для меня:

  • войдите в Worldpay, откройте нужную установку для редактирования.
  • Отметьте "Включить платеж"?
  • Предоставьте "URL-адрес ответа на платеж" на странице, которая будет получать/обрабатывать данные POST из worldpay.
  • Введите тот же URL-адрес в "URL-адрес перенаправления покупателя"
  • Отметьте "Включена кнопка перенаправления покупателя"
  • Отметьте "Включить ответ покупателя"
  • Если вы используете print_r ($ _ POST) (для пользователей php) по URL-адресу, указанному в "URL-адресе платежа", вы можете увидеть все данные, возвращенные Worldpay.
  • После обработки вы можете использовать метаобновление, чтобы перенаправить пользователя на какую-либо другую страницу, или вы можете распечатать сообщение "спасибо" пользователю на той же странице.

Я знаю, что эта тема 1+ года, но если кто-то найдет это полезным, я отправлю свое решение здесь.

Изменить: Руководство по реагированию на платеж WorldPay

Изменить: вот скриншот моих настроек, которые работали для меня screenshot of my settings

Ответ 2

Может полностью сочувствовать, это было немного кошмаром, чтобы настроить меня тоже. Я раньше не использовал параметр MC_success, но насколько я знаю, вы не можете сделать прямой переадресацию, он должен отображать страницу Worldpay после оплаты, но вы можете настроить эту страницу.

Как только платеж будет успешным (или нет), Worldpay отобразит пользователю HTML-страницу. Эти HTML-страницы хранятся в панели управления Worldpay, и если вы хотите их настроить, вы должны загрузить здесь новый файл. Файлы, показанные с успехом и неудачей транзакции, являются resultY.html и resultC.html соответственно.

Вам нужно взглянуть на Расширенное руководство по настройке и найти resultY.html в правом верхнем углу этого руководства, это даст вам некоторую помощь.

В этих файлах Worldpay автоматически заменяет определенные теги, такие как <wpdisplay item=cartId> и <wpdisplay item=banner default=""> для фактических данных. Я бы зашел на вашу панель управления Worldpay и загрузил файлы, которые он использует в настоящее время, а затем настройте оттуда.

В инсталляции я просто включаю строку на моей странице resultY.html, как показано ниже...

<p><a href="http://example.com/worldpay/cartid/<wpdisplay item=cartId>">Redirect back to my shop</a></p>

..., который вернет пользователя на мой сайт с их cartId в URL-адресе, из которого я вывожу их детали заказа и показываю страницу успеха. Но вы можете создать свои собственные теги, отправив дополнительные поля для сообщений в форму выше. Имена переменных должны иметь префикс MC_, но затем вы можете включить их в файл resultY.html. Т.е..

<form action="https://secure.wp3.rbsworldpay.com/wcc/purchase" method="post">
    <input type="hidden" name="testMode" value="0">
    <input type="hidden" name="instId" value="<?= $this->INST_ID ?>">
    <input type="hidden" name="cartId" value="<?= $this->CART_ID ?>">
    <input type="hidden" name="amount" value="<?= $this->AMOUNT ?>">
    <input type="hidden" name="currency" value="<?= $this->CURRENCY_CODE ?>">
    <input type="hidden" name="desc" value="Photos">

    <input type="hidden" name="MC_myText" value="This is my custom text">

    <input type="submit" value="Click here for the secure payment form">
</form>

И в вашем файле resultY.html просто добавьте тег <WPDISPLAY ITEM=MC_myText>. Вы должны осознавать, что все поля вашей формы видны пользователю, если они просматривают источник ваших страниц платежей, поэтому размещение достоверной MC_downloadLink для некоторой ценной загрузки - плохая идея.

Проверьте эти страницы, они наиболее полезны в руководстве по настройке:

Я надеюсь, что это помогло, если у вас есть какие-либо вопросы, просто добавьте комментарий. Удачи!

Ответ 3

Редактирование resultY.html не является строго необходимым, вы можете пропустить с помощью редактора платежных страниц, используя функцию "Отзыв платежа".

В настройках установки укажите URL-адрес script на вашем сервере, и WorldPay выполнит следующие параметры после того, как платеж будет разрешен (или покупатель нажимает кнопку Отмена на странице платежа): http://www.worldpay.com/support/kb/bg/paymentresponse/pr5201.html

Если вы также включите параметр "Включить ответ покупателя", WorldPay загрузит любой HTML script указанные вами выходы и будет использовать это как страницу результатов (размещенную на своем собственном сервере). (Если вы хотите, чтобы все изображения размещались надежно, их нужно будет загружать в Редактор платежных страниц)

Это позволяет вам создавать страницу с динамическими результатами без использования resultY.html(OSCommerce и другие тележки для покупок используют этот метод для настройки страницы результатов)

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

Ответ 4

@Крис действительно ответил на этот вопрос, но вот что я в итоге сделал. Я действительно использовал параметр MC_success, но установил его так:

<input type="hidden" name="MC_success" value="Click here to return to the merchant: <?= $this->RETURNING_PAGE_ON_MY_SITE ?>">

Затем это требует, чтобы торговец редактировал свою страницу resultY.ml на WorldPay и вставлял этот параметр где-то в его теле:

<div><strong><WPDISPLAY ITEM=success></strong></div>

Затем на странице успешного ответа на платеж, размещенной на WorldPay, отобразится следующее:

Нажмите здесь, чтобы вернуться к продавцу: http://example.com/my-success-return-link-here

Теперь не каждый клиент будет знать, как это сделать. Поэтому в моем платежном шлюзе, который я строил, я отправил его по электронной почте администратору, который кто-то заплатил WorldPay, и что они должны вручную отправить фотографии клиенту через интерфейс администратора нашего продукта.

Кроме того, следует отправить его на правильный URL-адрес действия, который я исправил в своем исходном сообщении в разделе EDIT выше.

И последнее, но не менее важное: обратите внимание, что мы не можем выполнять автоматическое перенаправление. Фактически, WorldPay придерживается политики, строго запрещающей ее, которая на этой странице красная:

http://www.worldpay.com/support/kb/bg/paymentresponse/pr5402.html

"Предупреждение. Автоматическое перенаправление с использованием функции ответа покупателя запрещается и приведет к регистрации сбоя и возможной приостановке функции."

Ответ 5

Я думаю, что worldpay в конечном итоге позволит Response Response перенаправить на ваш сайт с помощью обновления Meta.

Все, что вам нужно сделать, - это сгенерировать ответ Html с вашего обратного вызова на стороне сервера.

Ответ 6

URL возврата в Worldpay

это очень просто.

войдите в Worldpay, откройте нужную установку для редактирования.

Отметьте "Включить платеж"?

Укажите "URL-адрес ответа на платеж", например http://yourdomain.com/responce.php

Введите тот же URL-адрес в "URL-адрес перенаправления покупателя" http://yourdomain.com/responce.php

Отметьте "Включена кнопка перенаправления покупателя"

И добавьте responce.php в корневой каталог

создать файл test.txt в корневом каталоге

file_get_contents ( 'test.txt', $_ Post);

вы можете получить массив данных post в test.txt