Советы по решению проблем со ссылками и кнопками платежа PayPal

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

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

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

  • Не удалось загрузить скрипт «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-...»).
  • Не удалось загрузить образ «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, выполните следующие действия:

  1. Перейдите на страницу кнопок PayPal.
  2. Нажмите Открыть рядом с сохраненной кнопкой и выберите Изменить.
  3. Нажмите Настройте кнопки и внесите необходимые изменения.

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

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

Нет, мы получаем всю информацию с сервера 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).

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

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

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

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

Обработка уведомлений о мгновенных платежах (IPN) в коде сервера:

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

Просмотр истории IPN:

Справочные материалы

Введение: https://developer.paypal.com/api/nvp-soap/ipn/IPNIntro/

Проверьте правильность URL-адреса IPN в коде сервера

Примеры для различных языков GitHub — paypal/ipn-code-samples

Какую информацию о покупке автоматически отправляет 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

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

веб-сайте.

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

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

настроек».

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

Поддерживаются ли Webhooks в ссылках и кнопках платежа?

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

  1. Выполните вход на панели инструментов для разработчиков, используя учетные данные счета продавца.
  2. Переключитесь в режим Live (Онлайн).
  3. Нажмите Приложения и учетные данные.
  4. Прокрутите вниз и выберите Управление Webhooks.
  5. Теперь вы можете добавить URL-адрес Webhooks для онлайн-режима. Если вы хотите добавить Webhooks для изолированной среды тестирования (Sandbox), оставайтесь на этой странице и переключитесь с Live на Sandbox в правом верхнем углу.
  6. Добавьте URL-адрес обратного вызова Webhooks, выберите все события или место расчетов, события платежа, которые будет вызывать PayPal при наступлении выбранных событий в зависимости от реализации API-интерфейса NVP или SOAP (API-интерфейс PayPal NVP/SOAP для получения информации о Webhook).

Пример ответа Webhook:

"id": "WH-12D11567VE3425924-2G120938U32719946", 
"event_version": "1.0", 
"create_time": "2024-09-14T15:55:58.043Z", 
"resource_type": "capture", 
"resource_version": "2.0", 
"event_type": "PAYMENT.CAPTURE.COMPLETED", 
"summary": "Выполнен платеж на сумму 128,88 USD", 
"resource": { 
"supplementary_data": { 
"related_ids": { 
"order_id": "8LM68409BR5528307" 
} 
], 
"id": "7KK30254642170736", 
"status": "ВЫПОЛНЕН" 

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