- Почему PayPal Express Checkout не работает без ошибок?
- Решение
- Белый экран при оплате PayPal
- Причины
- Как действовать
- Войдите через ВПН
- Проверьте работу сервера
- Удалите кэш и куки
- Проверьте Java Script
- Проверьте установку часов
- Выключите аппаратное ускорение и ненужные расширения
- paypal checkout перестает работать если входить в систему через Socialite
- Платёжный шлюз. Платежная система: что делать если PayPal не работает? Stripe | 2CheckOut
Почему PayPal Express Checkout не работает без ошибок?
Сбой PayPal на первом шаге в checkout.php, который вызывается из JavaScript. Я использую песочницу и попытался запустить ее локально и на сервере. Я послал технику. Запрос поддержки объяснил проблему, но через 3 дня я ничего не услышал от них. Во всем виновата погода, наверное.
Следующее содержит строку параметров, которые кажутся правильно введенными. Он также содержит пустые сообщения об ошибках:
ACK = сбой вызова API SetExpressCheckout.
Подробное сообщение об ошибке:
Краткое сообщение об ошибке:
Код серьезности ошибки:
Кто-нибудь испытывал подобные проблемы?
checkout.php:
Решение
Вы, должно быть, получаете пустой ответ от PayPal, что означает, что вы, вероятно, получаете ошибку скручивания, что означает, что вы, вероятно, столкнулись с ошибкой рукопожатия SSLv3, с которой PayPal только что переключил коммутатор 19.01.16.
Это то, что PayPal сделал из-за Уязвимость Пуделя .
Что вам нужно сделать, так это проверить наличие ошибок скручивания, чтобы убедиться, что это проблема, с которой вы столкнулись (я почти гарантирую это, потому что мы видим ее во многом, так как они щелкнули выключателем).
Затем проще всего связаться с вашим веб-хостом и объяснить, что вы столкнулись с этой проблемой, и им нужно обновить ваш сервер, чтобы исправить ее. Это в основном сводится к серверному стеку программного обеспечения, в частности OpenSSL, который обновляется до поддерживаемых версий, которые корректно обрабатывают резервный TLS.
Источник
Белый экран при оплате PayPal
PayPal Checkout белая страница? Попробуйте удалить куки и кэш в браузере, убедитесь, что JavaScript не заблокирован, проверьте правильность установки часов и состояние сервера. Ниже рассмотрим, как действовать в такой ситуации, и какие шаги помогают вернуть работоспособность платформе.
Причины
Для начала необходимо разобраться, почему страница PayPal Checkout отображается некорректно. Этому может быть несколько причин:
- Внутренние проблемы на сервере.
- Ошибки в работе сайта, к примеру, сбои в работе PHP-кода, нехватка дискового пространства, неправильные настройки подключения к базе данных.
- Блокировка Java Script на браузере.
- Неправильные установки времени.
- Включение проблемного расширения или работа аппаратного ускорения.
Это основные причины, почему вместо страницы PayPal Checkout появляется белый экран, или возникают иные сбои в работе страницы.
Как действовать
Теперь разберем, что делать при возникновении рассмотренной выше ситуации. Любой из этих методов может оказаться эффективным, поэтому попробуйте все варианты.
Войдите через ВПН
Для начала попробуйте использовать VPN для входа на PayPal Checkout. Возможно, произошел какой-то временный сбой, связанный с вашим IP. Если проблема не устранилась, все равно отображается пустая / белая страница, переходите к следующему шагу.
Проверьте работу сервера
Такие ситуации часто возникают из-за проблем на самом сайте. К примеру, причиной могут быть неправильные настройки подключения к базе данных, нехватка дискового пространства и ошибки в PHP-коде. Чтобы проверить предположение, зайдите на сайт downdetector.ru/ne-rabotaet/paypal и посмотрите на особенности работы сервера. Если страница PayPal Checkout белая или не отображается из-за проблем на сайте, выждите некоторое время пока ситуация не нормализуется.
Удалите кэш и куки
Причиной возникновения проблемы может быть сам браузер, который кэширует и сохраняет некоторые файлы на ПК / ноутбуке. Это делается для того, чтобы впоследствии быстрее загрузить нужную информацию. После обновления кода сайта ПейПал веб-проводник может использовать старые данные, из-за чего и возникают ошибки в отображении. К примеру, появляется белая страница вместо обычных данных PayPal Checkout. Для решения почистите кэш и куки. К примеру, в Фаерфокс сделайте следующее:
- жмите на пункт Библиотека;
- кликните Журнал, а после выберите Удалить историю;
- в появившемся меню выберите «Удалить» и «Все»;
- выберите нужный вариант и жмите «Удалить сейчас».
После этого зайдите снова в браузер и убедитесь, что проблему удалось решить.
Проверьте Java Script
Причиной появления белой страницы PayPal Checkout может быть некорректная работа Java Script. Последнего может блокировать межсетевой экран, антивирусная программа или какое-то расширение, к примеру, NoScript. Попробуйте отключить лишнее, чтобы восстановить работоспособность элемента.
Проверьте установку часов
Помните, что проверка защищенного содержимого зависит от правильности установки даты, времени и часового пояса. Если они установлены неправильно сайт может загружаться криво или вместо обычной страницы PayPal Checkout вообще будет белый экран. Для внесения изменений сделайте следующее:
- жмите «Пуск»;
- войдите в панель управления;
- зайдите в пункт «Время и язык»;
- перейдите в «Дата и время»;
- выберите автоматическую установку времени и часового пояса.
Выключите аппаратное ускорение и ненужные расширения
Некоторое программы, установленные в браузере, могут некорректно влиять на его работу. Для решения проблемы попробуйте удалять по одному старые расширения, которые были установлены недавно. Также выключите аппаратное ускорение.
Выше мы рассмотрели лишь некоторые рекомендации, что делать, если на PayPal Checkout появляется белая страница. Начните с простых шагов — проверки Интернета, перезагрузки сайта или входа через VPN. Обязательно почистите куки / кэш и убедитесь в нормальной работоспособности сервера.
В комментариях отпишитесь, приходилось ли вам сталкиваться с подобными трудностями и появлением белой страницы, и как их удалось решить.
Источник
paypal checkout перестает работать если входить в систему через Socialite
Всем привет! Сделал paypal checkout и он нормально работает если в систему входить через login форму(стандартный auth)
Но если входить в систему через Socialite (тестирую с аккаунтами Facebook, Google ) то получаю ошибку :
Credential not found for default user. Please make sure your configuration/APIContext has credential information
И в модуле оплаты app/Paypal/ExecutePayment.php :
‘; > $loggedUser= Auth::user(); $this->debToFile(print_r( ( !empty($loggedUser->id) ? $loggedUser->id : ») , true), ‘ GetThePayment -0SA $loggedUser->id::’); $this->payment = $this->GetThePayment();
$this->debToFile — это вывод в отладочный файл и он отображает что $loggedUser->id == null
И файл выше наследуется от app/Paypal/PaypalConnection.php :
ExecutePayment — вызывается из контролла app/Http/Controllers/PaymentController.php :
‘; $this->loggedUser = Auth::user(); $this->debToFile(print_r( ( !empty($this->loggedUser->id) ? $this->loggedUser->id : » ), true) , ‘ paypal_payment_execute -000 $this->loggedUser->id::’); $newPayment= new ExecutePayment($this->loggedUser); try < $newPaymentResult= $newPayment->create(); > catch (PayPal\Exception\PPConnectionException $pce) < echo ''; var_dump("-1:" . json_decode($pce->getData())); exit(1); > catch (PayPal\Exception\PayPalConnectionException $pce) < echo ''; var_dump("-2:" . json_decode($pce->getData())); exit(1); > catch (Exception $pce) < echo ''; var_dump("-3:" . json_decode($pce->getData())); exit(1); > if ( $newPaymentResult->state != ‘approved’ ) < // payment was successful return redirect()->route(‘home-msg’, [])->with([ ‘text’ => ‘Your payment was successfully completed !’, ‘type’ => ‘danger’, ‘action’ => » ]); > $newAppayment= new \App\Payment(); $newAppayment->user_id= $this->loggedUser->id; $newAppayment->status= ‘C’; $newAppayment->payment_type= ‘P’; $newAppayment->payment_status= $newPaymentResult->state; $newAppayment->payment_description= $newPaymentResult->transactions[0]->description; $newAppayment->invoice_number= $newPaymentResult->transactions[0]->invoice_number; $newAppayment->payer_id= $newPaymentResult->payer->payer_info->payer_id; $newAppayment->payer_recipient_name= $newPaymentResult->payer->payer_info->recipient_name; $newAppayment->payer_email= $newPaymentResult->payer->payer_info->email; $newAppayment->payer_first_name= $newPaymentResult->payer->payer_info->first_name; $newAppayment->payer_last_name= $newPaymentResult->payer->payer_info->last_name; $newAppayment->payer_middle_name= $newPaymentResult->payer->payer_info->middle_name; $newAppayment->currency= $newPaymentResult->transactions[0]->amount->currency; $newAppayment->total= $newPaymentResult->transactions[0]->amount->total; $newAppayment->subtotal= $newPaymentResult->transactions[0]->amount->details->subtotal; $newAppayment->tax= $newPaymentResult->transactions[0]->amount->details->tax; $newAppayment->shipping= $newPaymentResult->transactions[0]->amount->details->shipping; $newAppayment->payer_shipping_address= $newPaymentResult->payer->payer_info->shipping_address->line1; $newAppayment->payer_recipient_name= $newPaymentResult->payer->payer_info->shipping_address->recipient_name; $newAppayment->payer_city= $newPaymentResult->payer->payer_info->shipping_address->city; $newAppayment->payer_state= $newPaymentResult->payer->payer_info->shipping_address->state; $newAppayment->payer_postal_code= $newPaymentResult->payer->payer_info->shipping_address->postal_code; $newAppayment->payer_country_code= $newPaymentResult->payer->payer_info->shipping_address->country_code; $newAppayment->payer_business_name= $newPaymentResult->payer->payer_info->business_name; $itemsList= $newPaymentResult->transactions[0]->item_list; DB::beginTransaction(); try < $newAppayment->save(); foreach( $itemsList->items as $next_key=>$nextItem ) < $newPaymentItem= new PaymentItem(); $newPaymentItem->payment_id= $newAppayment->id; $newPaymentItem->item_type= ‘D’; $newPaymentItem->quantity= $nextItem->quantity; $newPaymentItem->item_id= $nextItem->sku; $newPaymentItem->price= $nextItem->price; $newPaymentItem->save(); > DB::commit(); > catch (\Exception $e) < DB::rollback(); $this->setFlashMessage($e->getMessage(), ‘danger’); echo »; die(«-1 EOOR»); return Redirect ::back() ->withErrors([$e->getMessage()]) ; > return redirect()->route(‘home-msg’, [])->with([ ‘text’ => ‘Your payment was successfully completed !’, ‘type’ => ‘success’, ‘action’ => » ]); > public function paypal_payment_cancel() < echo ''; die("-1 XXZ paypal_payment_cancel app/Http/Controllers/PaymentController.php"); >>
Как я писал в начале если войти в систему через login форму(стандартный auth) — ошибки нет.
Почему ошибка и как ее исправить ?
при логине в handleSocialiteProviderCallback я использовал
Или вызова этой функции недостаточно ?
Следующая мысль это проверить 2х юзеров по полям : https://prnt.sc/p10ry9 Для юзера созданного в facebook(id=42) поле password было пустым — я его скопировал из — залогинился из facebook-а заново — но та же ошибка. остальные поля : https://prnt.sc/p10tc9, https://prnt.sc/p10tok, https://prnt.sc/p10tsh Я заполнил address, shipping_address поля при логине юзера из facebook-а. Если эти поля пустые — то выводит paypal ошибку. я там сделал проверку. То есть вроде все поля заполнены одинаково — и каким образом и почему теряется логин — непонятно.
ПРАВКА #1 :
Кажется нашел причину в том что у меня в приложении были переходы
Источник
Платёжный шлюз. Платежная система: что делать если PayPal не работает? Stripe | 2CheckOut
Многих, кто хочет запустить свой электронный бизнес в СНГ, останавливает то, что PayPal не работает в СНГ. То есть, нет возможности принимать платежи.
Для того чтобы иметь возможность принимать платежи на вашем онлайн магазине, обязателен платёжный шлюз или, как многие его называют, платежная система (хотя, это немного другое).
Простыми слова – без платёжного шлюза не существует электронной коммерции. Это тот самый элемент, который позволяет нам оплачивать на сайтах, маркетплейсах. То бишь, финансовый регулятор, который занимается подтверждением или отклонением транзакций – онлайн оплат.
Для нас, как для клиентов, на сайте появляется возможность оплаты. Для владельца сайта/маркетплейса – это установка платёжного шлюза для принятия, от нас, оплат.
Владельцу бизнеса необходимо установить платёжный шлюз на свой сайт с тем, чтобы иметь возможность принимать онлайн оплаты.
В зависимости от платёжных шлюзов, клиент может оплатить на сайте либо только с помощью карт (например, если установлен шлюз Stripe), либо же только с помощью своего PayPal аккаунта (если установлен PayPal).
В обоих случаях – это недостаток, так как часть клиентов имеет PayPal аккаунт и может оплатить с помощью своего PayPal аккаунта, часть же не имеет или просто хочет оплатить с помощью карты.
И тут мы видим проблему: если установлен Stripe, то оплатить могут только картой, если установлен PayPal, оплатить могут только если есть PayPal аккаунт. Как показывает наша практика, потери продаж, в таком случае, неминуемы. Если не хотим терять клиентов, надо установить Stripe и PayPal или же установить только 2CheckOut (между прочим, это единственный вариант для стран СНГ и многих стран мира).
Шлюз позволяет клиентам оплачивать на сайте – другими словами, позволяет сайту, на котором, собственно, установлен шлюз, брать оплату от клиентов и сажать на баланс сайта. Платёжный шлюз позволяет получать средства на ваш счёт.
Таким образом, чтобы получать платежи, вам недостаточно создать сайт. Нужно подключить платёжный шлюз и платёжную систему.
Кстати, Вы можете как сами создать интернет магазин, так и заказать его создание здесь: https://ecomacademie.com/collections/turnkey-business/products/shopify-online-store). Многие именно так и поступают — результаты и отзывы клиентов вы можете увидеть здесь https://instagram.com/ecommerce_dropshipping
Больше про наши курсы здесь https://ecomacademie.com/collections/courses-ru/products/exclusive-ecommerce-course
Про подключение Stripe https://ecomacademie.com/collections/courses-ru/products/stripe
Многие путают PayPal с другими платёжными шлюзами, ведь он является и тем и другим и ещё многим чем одновременно. Он и кошелёк, и шлюз, и система и т.д.
Давайте перейдём к платёжным системам. Что это такое и отличие от платёжного шлюза. Многие, даже начинающие предприниматели, путают эти понятия. Шлюз позволяет клиентам оплачивать на сайте – другими словами, позволяет сайту, на котором, собственно, установлен шлюз, брать оплату от клиентов и сажать на баланс сайта. Платёжная система позволяет получать средства от платёжного шлюза – то есть, платёжная система позволяет вам хранить, расходовать, передавать средства.
Для того, чтобы пользоваться вашими средствами, полученными от клиентов, вам нужна платёжная система. Ваша платёжная система получает средства с помощью шлюза. То есть, если у вас сайт, вы сделали продажу, ваш шлюз забрал деньги у клиента и посадил на ваш аккаунт в этом платёжном шлюзе, далее, 1 раз в 3 дня или 1 раз в неделю – в зависимости от конкретных платёжных шлюзов, у них свои периоды выплат, происходит трансфер из шлюза в платёжную систему.
Примеры платёжных систем:
В следующей статье поговорим о платёжных шлюзах подробнее.
Источник