Intereting Posts
CakePHP проверяет, зарегистрирован ли пользователь внутри представления Stripe – получить идентификатор клиента по электронной почте из формы Получите смещение часового пояса между двумя часовыми поясами на заданную продолжительность PHP заставляет загружать PDF-файл, хотя я использую Content-Disposition: inline PHP foreach при обработке кусков как получить уведомление из базы данных с различными типами уведомлений Как Instagram использует Amazon S3? Datatables – Обработка на стороне сервера – Объединение столбцов базы данных «Keep Me Logged In» – лучший подход file_put_contents добавляет обратную косую черту в код Создание пустого 2D-массива в PHP? Невозможно ограничить действия пользователя после успешного входа в codeigniter Сделайте PHP pathinfo () верните правильное имя файла, если имя файла UTF-8 вычислить общую сумму всех цифр в столбце Внедрение сервера уведомлений

Как я могу пропустить страницу подтверждения оплаты PayPal?

Сайт моих клиентов использует решение PayPal UK Website Payments Pro Hosted Solution.

Когда клиент направляется в PayPal для осуществления платежа, им предоставляются два варианта:

«Платите с моей учетной записью PayPal» ИЛИ «Платите с моей дебетовой или кредитной картой».

Если клиент решает использовать свою учетную запись в PayPal, они регистрируются и совершают платежи и отправляются на страницу подтверждения оплаты Paypal, в которой говорится: «Спасибо за ваш заказ. Теперь вы возвращаетесь к …» эта страница колеблется примерно за 5- 10 секунд, а затем перенаправляет клиента обратно на веб-сайт, на котором подтвержден заказ и отправлены электронные письма и т. Д.

Моя проблема в том, что некоторые клиенты не ждут перенаправления, что вызывает ошибки с подтверждением заказа.

Мой вопрос: как я могу вообще пропустить страницу подтверждения оплаты PayPal?

У меня есть автоматическое возвращение. Я установил URL-адрес возврата. Передача данных о платеже включена.

showHostedThankyouPage = false 

И у меня заканчиваются идеи …

Если пользователь выбирает другой вариант и вводит данные своей кредитной карты, все работает отлично.

Я получил фантастический ответ от технического отхода PayPal. Спасибо Игнасио. Я расскажу о своих выводах для кого-то еще с этой проблемой. Это был ответ, который я получил.

Мой сайт использует PayPal UK Website Payments Pro Hosted Solution. Когда клиент направляется в PayPal для осуществления платежа, им предоставляются два варианта: «Оплатить с моей учетной записью PayPal» ИЛИ «Оплатить с моей дебетовой или кредитной картой».

Решение для веб-сайта Payments Pro Hosted Solution имеет два разных способа оплаты:

  • Оплата с помощью кредитной карты напрямую, которая использует наш DoDirectPayment API внутри, чтобы брать кредитные карты без учетной записи PayPal.
  • Оплата с помощью учетной записи PayPal, которая в основном является перенаправлением на наш платежный метод и страницы PayPal Standard.

Если клиент решает использовать свою учетную запись PayPal, они регистрируются и совершают платежи и отправляются на страницу подтверждения оплаты PayPal, в которой говорится «Спасибо за ваш заказ». Теперь вы возвращаетесь к … »эта страница колеблется в течение 5-10 секунд, а затем перенаправляет клиента обратно на сайт, на котором подтвержден заказ и отправлены электронные письма и т. Д.

Это предполагаемое поведение в стандарте PayPal, когда клиент делает платеж с помощью учетной записи PayPal, а функция Auto Return включена.

Тот факт, что это происходит для опции «Pay with PayPal», включенной в Pro Hosted Solution, заключается в том, что, как уже упоминалось выше, этот вариант в основном является нашим платежным методом PayPal Standard, поэтому поведение точно такое же.

Моя проблема в том, что некоторые клиенты не ждут перенаправления, что вызывает ошибки с подтверждением заказа. Мой вопрос: как я могу вообще пропустить страницу подтверждения оплаты PayPal?

К сожалению, нет возможности пропустить эту страницу вообще. Не из настроек вашей учетной записи PayPal, а не путем отправки каких-либо переменных.

У меня есть автоматическое возвращение. Я установил URL-адрес возврата. Передача данных о платеже включена. showHostedThankyouPage = false. И у меня заканчиваются идеи … Я бы предпочёл не использовать IPN, поскольку это будет означать дальнейшую интеграцию и программирование.

Мы определенно рекомендуем IPN как более надежный способ получения уведомлений о новых платежах, так как даже если «Автоматическое возвращение» работает сразу, некоторые клиенты могут закрыть браузер сразу.

Если IPN включен, PayPal всегда будет отправлять POST на ваш URL-адрес уведомления, независимо от того, вернулся ли клиент на ваш сайт или нет.

Есть ли способ обойти это? Прежде чем мы перешли на Payments Pro, мы использовали Express Checkout и просто смогли передать SOLUTIONTYPE = Sole и LANDINGPAGE = Billing, и мы смогли пропустить этот шаг страницы подтверждения. Я надеюсь, что есть способ сделать что-то подобное, поэтому его не нужно переписывать.

Поток Express Checkout отличается от стандарта PayPal. Когда клиент нажимает «Продолжить / оплачивать» в PayPal, мы не будем пытаться принять платеж, а скорее вернем клиента обратно в RETURNURL, и это будет ваша собственная интеграция, которая завершит оплату отправляя запрос API DoExpressCheckoutPayment.

Но опять же, опция «Pay with PayPal» в Pro Hosted Solution использует стандарт PayPal, а не экспресс-заказ.

Единственной альтернативой, которую я могу предложить, помимо использования IPN, было бы отключить опцию «Pay with PayPal» в Pro Hosted Solution (это может быть сделано с нашей стороны), так что клиенты могут иметь возможность оплачивать прямые кредиты а не через PayPal, а затем внедрить Express Checkout независимо от Pro Hosted Solution для ваших платежей PayPal.

Кажется, вы немного разбросаны. То, что вы описали в своем оригинальном посте, звучит как «Стандарт платежей» или «Экспресс-заказ». Payments Pro не имеет никакой переадресации на PayPal.

Тогда я вижу, что вы сделали комментарий, что используете BMCreateButton. Это часть API Button Manager, который является стандартом платежей. Не Pro. Стандарт оплаты не имеет такой опции, как Express Checkout, чтобы принудительно создать полную форму CC, используя параметры SOLUTIONTYPE и LANDINGPAGE.

Если вы используете полный Payments Pro, вам нужно будет использовать DoDirectPayment API или PayFlow в зависимости от того, с какой версией вы настроили. Тогда у вас будет Payments Pro Hosted, который использует iframe на вашей странице. Опять же, с обоими, не происходит перенаправления.

Если вы используете BMCreateButton, это не Pro. Вам нужно точно определить, какую версию Pro вы зарегистрировали и интегрируете эти API соответственно.