Примечание. Наш сайт построен на PHP и использует базы данных MySQL. Я уже управляю другим сайтом с помощью корзины покупок, используя Authorize.net, поэтому, пожалуйста, не отвечайте предложениями использовать другого поставщика. Новый продукт / услуга, которую мы выпускаем, классифицируется как «Высокий риск» для поставщиков-продавцов, и они хотят обвинить нас в **. В ответ я решил, что создание учетной записи Standard Payments Standard на Paypal.com было лучшей альтернативой по следующим причинам:
1) никаких ежемесячных платежей, платить только за то, что используется
2) бренд доверия, и люди довольны Paypal
Ставки немного выше, чем мы привыкли, но любая учетная запись High Risk Merchant так не имеет значения. Проблема, с которой я сталкиваюсь, заключается в следующем:
1) на протяжении всего процесса регистрации на нашем сайте мы собираем довольно немного информации о пользователе и передаем его со страницы на страницу с использованием переменных SESSION. Когда вы используете Стандарт платежей по веб-сайтам, вы вынуждены передавать потребителя на веб-страницу, принадлежащую Paypal, для отправки своих платежных данных. После успешного завершения они могут перенаправить их на страницу подтверждения на нашем сайте, но я понимаю, что нет способа сохранить старые переменные SESSION в такте. Это очень важно для нас, потому что общая концепция заключается в том, чтобы хранить переменные SESSION только после успешной оплаты.
2) Используя Стандарт оплаты веб-сайтов, я не могу найти способ отправить переменную Pay-Amount (все должно быть продиктовано спереди, т. Е. Футболка составляет 2,99 доллара США). Наш сайт позволяет потребителю зачислить несколько человек и иметь несколько «надстроек» для каждого человека, поэтому существует буквально более 100 возможностей для завершения проверки. Я не уверен, можно ли переопределить это.
Имеет ли ANYBODY удачу использовать Стандарт веб-платежей Paypal, подтверждающий информацию выше?
1) Предполагая, что сессия основана на файлах cookie, она все равно должна быть там, когда они возвращаются на ваш сайт (пока они не закрыли окно браузера в среднем, что маловероятно).
Если вы действительно не уверены, сохраните сеанс в базе данных в таблице temp, связанной с созданным вами order_id. Я полагаю, что возможно, что этот (order_id) будет возвращен после завершения транзакции. Прочитайте документы по PDT .
2) Я верю, что это не так. Проверьте страницу документов 250 и далее.
Я слишком поздно опоздал на мой ответ … но у меня также была такая же проблема … потерять сеансы и файлы 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, я тестировал, если он работает с
echo '<pre>'; print_r($_SESSION); echo '</pre>'; echo '<pre>'; print_r($_COOKIE); echo '</pre>'; echo '<pre>'; print_r($_GET); echo '</pre>';
Когда вы не укажете в форме параметр «custom», он вернет пустой массив. Это безумие, как только две линии меняют все. Я думал, что собираюсь повторить логику всей корзины покупок, о мальчик.
Надеюсь, это поможет кому-то в будущем … Cheers ^^
Источник: переменные HTML WPS
1.) Я согласен с Питом выше в том, что вы, вероятно, ищете функциональность PDT . Похоже, ваша лучшая ставка будет переваривать запрос, отправленный на вашу страницу возврата для переменных PDT, и затем создавать ваши переменные сеанса.
2.) Вы можете отправить любую сумму, которую хотите, используя параметр «сумма». Вот информация о параметрах HTML PayPal
Вопрос 2 должен быть отвечен, в отношении Вопроса 1, я хотел бы добавить, что вы можете просто использовать встроенную функциональность сеанса PHP как обычно (какой бы механизм хранения у вас не был тогда, может быть memcached, файл (по умолчанию), mysql база данных или что-то еще), и передать идентификатор сеанса на paypal.
Когда paypal перезвонит вам, вы можете получить доступ к своим переменным сеанса, используя session_id ($ backpassed_sessionid_from_paypal), который просто загружает данные сеанса, связанные с сеансом, который вы передаете в функцию, что, вероятно, означает то, что вы имели в виду.