Кто-нибудь когда-нибудь использовал PayPal Website Payments Standard с переменными SESSION?

Примечание. Наш сайт построен на PHP и использует базы данных MySQL. Я уже полностью управляю другим сайтом с корзиной покупок с помощью Authorize.net, поэтому, пожалуйста, не отвечайте с предложениями использовать другого провайдера. Новый продукт/услуга, которую мы выпускаем, классифицируется продавцами как «высокий риск», и они хотят выставить нам счет**. В ответ я решил, что настройка стандартной учетной записи для платежей через веб-сайт на Paypal.com была лучшей альтернативой по следующим причинам:

1) никаких ежемесячных платежей, оплата только за то, что используется

2) доверяйте бренду, и люди чувствуют себя комфортно с Paypal

Ставки немного выше, чем мы привыкли, но любой торговый счет с высоким риском таков, что это не имеет значения. Проблема, с которой я сталкиваюсь, заключается в следующем:

1) на протяжении всего процесса регистрации на нашем сайте мы собираем довольно много пользовательской информации и передаем ее со страницы на страницу с помощью переменных SESSION. Когда вы используете Стандарт платежей через веб-сайт, вы вынуждены перенаправлять потребителя на веб-страницу, принадлежащую Paypal, для отправки платежной информации. После успешного завершения они могут направить их обратно на страницу «подтверждения» на нашем сайте, но, насколько я понимаю, НЕТ способа сохранить старые переменные SESSION в неприкосновенности. Это очень важно для нас, потому что общая концепция заключается в том, чтобы хранить переменные SESSION ТОЛЬКО после успешной оплаты.

2) Используя стандарт платежей через веб-сайт, я не могу найти способ отправить переменную суммы платежа (все должно быть продиктовано заранее, т. е. футболка стоит 2,99 доллара США). Наш сайт позволяет потребителю зарегистрировать несколько человек и иметь несколько «дополнений» для каждого человека, поэтому существует буквально более 100 вариантов суммы при завершении проверки. Я не уверен, что это можно переопределить.

КТО-НИБУДЬ имел успех, используя Стандарт Платежей Веб-сайта на Paypal, подтверждая информацию выше?


person JM4    schedule 08.07.2010    source источник
comment
Эй, JM4, я в той же ситуации, что и вы, и у меня нет другого выбора, кроме как использовать стандарт оплаты на веб-сайте.. смогли ли вы решить эту проблему, если да, то с помощью какой опции, является ли выбранный вами ответ допустимым вариантом?   -  person ABI    schedule 19.10.2011


Ответы (4)


1) Предполагая, что сеанс основан на файлах cookie, он все еще должен быть там, когда они вернутся на ваш сайт (если они не закрыли окно браузера в то же время, что маловероятно).

Если вы действительно не хотите быть уверены, сохраните сеанс в базе данных во временной таблице, связанной с генерируемым вами order_id. Я верю, что это (order_id) передается обратно после завершения транзакции. Ознакомьтесь с документацией на PDT.

2) Я считаю, что это не так. Проверьте документацию со страницы 250 и далее.

person Pete    schedule 08.07.2010

Я опоздал на несколько месяцев для своего ответа ... но у меня также была та же проблема ... потеря сеансов и файлов cookie после перенаправления на обратный URL.

Для тех, кто столкнется с той же проблемой, вот решение, которое я придумал,

В форму PayPal вы добавляете

<input type='hidden' name='return' value='".http_dir."shop/return.php'> 
<input type='hidden' name='custom' value='$session_id'>

где $session_id = session_id();

и в shop/return.php я проверил, работает ли он с

echo '<pre>';
print_r($_SESSION);
echo '</pre>';

echo '<pre>';
print_r($_COOKIE);
echo '</pre>';

echo '<pre>';
print_r($_GET);
echo '</pre>';

Если вы не укажете в форме «пользовательский» параметр, он вернет пустой массив. Удивительно, как всего две строчки меняют все. Я думал, что повторю всю логику корзины, о боже.

Надеюсь, это поможет кому-то в будущем... Удачи ^^

Источник: Переменные HTML WPS

person Woppi    schedule 19.01.2011

1.) Я согласен с Питом выше в том, что вы, вероятно, ищете функциональность PDT. Похоже, вам лучше всего переварить запрос, отправленный на вашу страницу возврата для переменных PDT, и затем создать переменные сеанса.

2.) Вы можете отправить любую сумму, которую хотите, используя параметр «сумма». Вот информация о HTML-параметрах PayPal

person jumpdart    schedule 19.07.2010
comment
У меня было такое с PayPal. Их обслуживание и поддержка жалки. Я ждал две недели, пока они оценят PHP-скрипт, который мы разработали для шифрования наших платежей, и их решения смехотворны. Они не только пренебрегают ответами на наши насущные проблемы, но и рекомендуют вещи, которые идут вразрез с их собственным передовым опытом. - person JM4; 23.07.2010
comment
здесь вы совершенно правы. Если вы когда-нибудь обратитесь за помощью со стандартом веб-платежей, вам скажут, что то, что вы хотите сделать, невозможно, и что вам нужно заплатить за API роскошного пакета или что-то еще. Я давно перестал звать на помощь. И их организация документации тоже оставляет желать лучшего. Ну удачи в любом деле!!! - person jumpdart; 23.07.2010

На вопрос 2 следует ответить, что касается вопроса 1, я хотел бы добавить, что вы можете просто использовать встроенную функциональность сеанса PHP, как обычно (какой бы механизм хранения у вас ни был, может быть это memcached, файл (по умолчанию), mysql базу данных или что-то еще) и передать идентификатор сеанса в PayPal.

Когда PayPal перезванивает вам, вы можете получить доступ к своим переменным сеанса, используя session_id($backpassed_sessionid_from_paypal), который просто загружает данные сеанса, связанные с идентификатором сеанса, который вы передаете в функцию, что, вероятно, вы и имели в виду.

person craftyfirefox    schedule 19.07.2010