Кто-нибудь когда-либо использовал стандарт платежей через веб-сайт PayPal с переменными SESSION? - PullRequest
1 голос
/ 09 июля 2010

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

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

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

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

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

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

Удачи ЛЮБОГО, используя Стандарт платежей через веб-сайт на Paypal, подтверждая информацию выше?

Ответы [ 4 ]

1 голос
/ 19 января 2011

Я слишком поздно для ответа ... но у меня тоже была такая же проблема ... потеря сеансов и файлов 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 ();

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

<code>echo '<pre>';
print_r($_SESSION);
echo '
';echo '
';
print_r($_COOKIE);
echo '
';echo '
';
print_r($_GET);
echo '
';

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

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

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

1 голос
/ 09 июля 2010

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

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

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

0 голосов
/ 19 июля 2010

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

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

0 голосов
/ 19 июля 2010

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

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

...