Советы по устранению неполадок при работе со ссылками и кнопками для оплаты через PayPal

Я получаю сообщение об ошибке, и кнопка не отображается на моем веб-сайте.

  • Убедитесь в наличии подключения к интернету.
  • Посетите другие страницы вашего сайта и убедитесь, что они загружаются правильно.
  • Перейдите на страницу Кнопки PayPal и проверьте:
  • Отображается ли кнопка в разделе «Сохраненные кнопки»?
  • Выберите «Изменить» и убедитесь, что код кнопки совпадает с кодом, указанным на вашем веб-сайте. 
  • Щелкните правой кнопкой мыши на страницу продукта (куда вы вставили код кнопки) и выберите «Просмотреть код». Откройте вкладку «Консоль» (она отображается в верхней части страницы). Там могут отобразиться ошибки сервисного PIN-кода.

Если вы внедрили политику безопасности содержимого (ПБС), вы можете увидеть следующие ошибки ПБС (далее приведены примеры ошибок ПБС):

Не удалось загрузить скрипт "https://www.paypal.com/sdk/js**", потому что он нарушает следующее положение политики безопасности содержимого: "default-src 'self'". Обратите внимание, что положение "script-src-elem" не было задано явным образом, поэтому в качестве запасного варианта используется "default-src".

Не удалось подключиться к "https://www.paypal.com/**", потому что этот элемент нарушает следующее положение политики безопасности содержимого: "default-src 'self'". Обратите внимание, что положение "connect-src" не было задано явным образом, поэтому в качестве запасного варианта используется "default-src".

Не удалось выполнить встроенный скрипт, потому что он нарушает следующее положение политики безопасности содержимого: "script-src https://*.paypal.com". Для выполнения встроенного скрипта требуется либо ключевое слово "unsafe-inline", либо хэш ("sha256-WYDWDPwB8j2VePYrqy38aHPcJLsasO//lnXymmxscUk="), либо однократно используемое число nonce ("nonce-...").

Не удалось загрузить образ "https://tracking.qa.paypal.com/webapps/tracking/ts?**", потому что он нарушает следующее положение политики безопасности содержимого: "default-src 'self'". Обратите внимание, что положение "img-src" не было задано явным образом, поэтому в качестве запасного варианта используется "default-src".

Не удалось создать фрейм "https://www.paypal.com/", потому что этот элемент нарушает следующее положение политики безопасности содержимого: "default-src 'self'". Обратите внимание, что положение "frame-src" не было задано явным образом, поэтому в качестве запасного варианта используется "default-src".

Чтобы устранить описанные выше ошибки, попробуйте использовать следующие фрагменты кода:

Вариант 1 (HTML): Если ваша политика безопасности содержимого (ПБС) настроена в HTML-файле, используйте код ниже, чтобы заменить код ПБС

<meta http-equiv="Content-Security-Policy" content="default-src 'self';
script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com;
style-src 'unsafe-inline' https://*.paypal.com; connect-src
https://*.paypal.com; frame-src https://*.paypal.com; img-src
https://*.paypal.com https://*.paypalobjects.com">

Вариант 2 (на стороне сервера): Если ваша политика безопасности содержимого (ПБС) настроена на стороне сервера, используйте код ниже, чтобы заменить код ПБС

Content-Security-Policy: script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com
Content-Security-Policy: style-src 'unsafe-inline' https://*.paypal.com
Content-Security-Policy: connect-src https://*.paypal.com
Content-Security-Policy: frame-src https://*.paypal.com
Content-Security-Policy: img-src https://*.paypal.com https://*.paypalobjects.com

Как изменить макет, размер, цвет названия товара, цену, количество?

Сейчас невозможно изменить макет, цвет или размер для этой интеграции.

Я изменяю сведения о продукте (название, количество или другой параметр), нужно ли мне

копировать и вставлять код кнопки еще раз?

Нет, мы получаем всю информацию с сервера PayPal. После сохранения изменений в счете не нужно обновлять скопированный/вставленный идентификатор кнопки на вашем веб-сайте. 

Примечание. Если вы измените код валюты для вашего продукта, вам необходимо будет обновить кнопку оплаты.

Я вижу идентификатор клиента в коде, что он означает?

Идентификатор клиента — это идентификатор продавца в вашем счете. Не следует его изменять. Используйте его в коде кнопки согласно рекомендациям.

Я добавляю несколько кнопок, но ни одна из них не отображается на веб-странице.

Несколько кнопок на одной веб-странице не будут работать в следующих случаях:

  • Если вы скопировали и вставили один идентификатор кнопки несколько раз на одну веб-страницу, будет отображаться только первая кнопка. Один идентификатор кнопки невозможно повторно использовать несколько раз.
  • Если вы скопировали и вставили различные идентификаторы кнопок с разными валютами на одной веб-странице, будет отображаться только первая кнопка. Невозможно добавить кнопки с различными валютами на одну веб-страницу.
  • Если вы скопировали и вставили различные идентификаторы кнопок и столкнулись с замедлением работы, убедитесь, что тег script с кодом клиента добавлен только один раз. Строка script должна выглядеть следующим образом:
    • <script src="https://www.paypal.com/sdk/js?client-id=XYZ&components=hosted-buttons&enable-funding=venmo&currency=USD"></script> 

У меня учетная запись PayPal Premier, и я не вижу функцию создания ссылки или кнопки

платежа.

Эта функция доступна только для корпоративных счетов PayPal. Чтобы использовать эту функцию, повысьте категорию счета или создайте корпоративный счет.

Как проверить этот интерфейс в изолированной среде тестирования (Sandbox) PayPal?

Ссылки и кнопки платежа доступны для проверки в изолированной среде тестирования (Sandbox).

Встроенное расширение для кредитных и дебетовых карт отображается не полностью на моем

веб-сайте.

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

Поддерживают ли ссылки и кнопки платежа уведомление о мгновенных платежах (IPN)?

Да. Чтобы настроить и включить уведомление о мгновенных платежах (IPN), выполните следующие действия.

Чтобы настроить IPN в PayPal, выполните следующие действия:

  1. Перейдите в раздел Настройки счета.
  2. Выберите Уведомления и Уведомления о мгновенных платежах.
  3. Нажмите Обновить ссылку.

Чтобы включить IPN, выполните следующие действия:

  1. Добавьте URL-адрес обработчика IPN и выберите Получать сообщения IPN (включено).
  2. Нажмите Сохранить.

Работайте с IPN в коде сервера:

  • После каждого завершения операции по ссылке и кнопке платежа функция IPN в PayPal запрашивает URL-адрес для уведомлений, настроенный на шаге 2.

Доступ к истории IPN:

  • https://www.sandbox.paypal.com//ipn/history
  • https://www.paypal.com/merchantnotification/ipn/history

Доступ к истории IPN:

  • https://developer.paypal.com/api/nvp-soap/ipn/IPNIntro/

Какую информацию о покупке автоматически отправляет PayPal

при перенаправлении клиента на другую страницу? Поддерживают ли ссылки и кнопки платежа передачу сведений о платеже?

Какие переменные поддерживаются?

Да, мы поддерживаем переменные передачи сведений о платеже (PDT), как описано здесь. Вы получите данные в рамках передачи сведений о платеже (PDT), если включите функцию автоматического возврата во время настройки ссылок и кнопок платежа. 

Поддерживают ли ссылки и кнопки платежа регион, если он добавлен вручную

продавцом в коде кнопки или ссылке платежа?

По умолчанию для отображения кода кнопки и ссылки платежа используются параметры браузера клиента.

Продавцы могут переопределить их только для ссылки платежа и кода кнопки, добавив «locale.x=fr_FR» в качестве параметра запроса. Список поддерживаемых кодов для регионов можно найти здесь. Текст, введенный продавцом во время настройки, не переводится.

Пример: https://www.paypal.com/ncp/payment/F3YMU2ZGT49XX?locale.x=jp_JP

Пример: 

<script src="……¤cy=USD&locale.x=jp_JP"></script>

Можно ли скрыть некоторые ярлыки в ссылках платежа и

коде кнопки?

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

Если вы скроете его на своем веб-сайте, это не повлияет на процесс обработки операций. Для операции по-прежнему будет использоваться ваша конфигурация идентификатора кнопки. 

Вы можете скрыть весь текст вокруг кнопок или его часть, если используете тип кнопки, не требующий ввода данных клиентом. Например, если клиенту необходимо выбрать количество или список из нескольких товаров, а вы скрыли эти элементы для ввода данных, выполнить операцию не удастся. 

Пример того, как скрыть цену товара:

Добавьте этот скрипт под кодом кнопки, замените HostedButton_ID фактическим идентификатором кнопки.

<style> #paypal-container-<HostedButton_ID> {

                #paypal-form-fields-container-<HostedButton_ID> {

                                 #price-label {

                                                 display: none !important;

                                }

                }

 

}

</style>

                   

Аналогично скрытию цены товара вы можете скрыть и другой текст:

  • desc-label (название продукта)
  • price-label (цена)

Если вы хотите скрыть несколько элементов, используйте отдельный идентификатор:

style> #paypal-container-

{ #paypal-form-fields-container-

{ #price-label,  #desc-label { display: none !important; }} }

Если вы хотите скрыть весь текст вокруг кнопок, помните, что их тип не должен требовать выбора или ввода данных от клиента:

<style>

#paypal-container-<HostedButton_ID>

{

                #paypal-form-fields-container-<HostedButton_ID>

                {

                                display: none !important;

                }

}

</style>


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

настроек?

Ссылки и кнопки платежа не учитывают массовое переопределение отправки в настройках счета, также известное как следующий параметр в настройках доставки.

image

Я изменяю валюту кнопки, но она не обновляется на

веб-сайте.

Если вы изменили валюту кнопки после того, как добавили ее на свой веб-сайт, вам необходимо будет снова скопировать или вставить код кнопки на ваш веб-сайт. 

При выборе варианта «Не выполнять сбор адреса доставки» я не могу выбрать вариант «Использовать данные доставки из настроек» и «Использовать данные налога из

настроек».

Настройки доставки и налога зависят от почтового индекса и/или страны доставки клиента. Если вы выберете вариант «Не выполнять сбор адреса доставки», то не получите адрес доставки клиента для расчета доставки и налога в настройках. Мы рекомендуем использовать другие варианты из выпадающих меню «Комиссия за доставку» и «Ставка налога».

Дополнительные справочные ресурсы