Передача сведений о платеже
Введение
Техническое описание
Руководство
Примеры кода


Техническое описание


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

Принцип работы

После активации функции «Передача данных платежа» каждый раз при совершении покупателем платежа через веб-сайт и перехода к URL возврата на этот URL в переменной «GET» также передается маркер операции. Для использования функции «Передача данных платежа» и отображения сведений об операции для клиента необходимо получить маркер операции в переменную с именем «tx», после чего получить сведения об операциях от системы PayPal путем отправки запроса HTTP POST в систему PayPal.

Запрос POST должен быть отправлен по адресу https://www.paypal.com/cgi-bin/webscr. Необходимо отправить переменную «tx» и полученное значение маркера операции (например, «tx=transaction_token»), а также переменную специального маркера личных данных «Передача данных платежа» и ее значение (например, «at=identity_token»). Также потребуется добавить в строку POST переменную с именем «cmd» и значением «_notify-synch», например, «cmd=_notify-synch».

Ответ PayPal на запрос POST занимает одну строку в теле ответа и состоит из одного слова «SUCCESS» или «FAIL». При получении ответа «SUCCESS», остальная часть ответа будет содержать сведения об операциях, по одной строке на каждую операцию в формате ключ=значение, где ключ и значение представляют собой закодированные строки URL. Содержимое ответа должно быть надлежащим образом обработано и дешифровано.

Пример ответа об успешном выполнении запроса:
SUCCESS
first_name=Jane+Doe
last_name=Smith
payment_status=Completed
payer_email=janiedoesmith@hotmail.com
payment_gross=3,99
mc_currency=USD
custom=For+the+purchase+of+the+rare+book+Green+Eggs+%26+Ham
...

Для клиента можно вывести те сведения о платеже, которые вы сочтете необходимыми; однако PayPal рекомендует включить в сведения о платеже для клиента адрес доставки, адрес электронной почты плательщика и сумму оплаты. При использовании функции «Передача данных платежа» для определения случаев, когда необходимо автоматическое выполнение заказа, следует убедиться в том, что параметр payment_status имеет значение «Completed», так как покупатель может использовать способ оплаты, для которого не предусмотрено мгновенное перечисление денежных средств, например, электронный чек eCheck.

При использовании указанных данных для выполнения заказов PayPal настоятельно рекомендует применять функцию «Мгновенное уведомление о платеже» для получения информации о зачислении платежей. Для получения дополнительной информации см. Руководство по функции «Мгновенное уведомление о платеже» PayPal, которое доступно на веб-сайте PayPal.

При получении ответа «FAIL» можно повторить отправку запроса POST в систему PayPal, чтобы установить, вызвана ли данная ошибка сбоем сети; однако если повторная попытка завершится неуспешно, PayPal рекомендует проверить скрипт на предмет следующего:
  • В целях предотвращения того, что кто-то повторно использует сведения о выполненной ранее операции необходимо проверить, что «txn_id» не имеет значения уже выполненной операции.
  • Чтобы предотвратить отправку платежа на счет мошенника, необходимо проверить, что для параметра «receiver_email» указан адрес электронной почты, зарегистрированный для вашего счета PayPal.
  • Необходимо также проверить другие сведения об операции, такие как номер товара и цена. Это позволит удостовериться, что стоимость товара не была изменена.

Переменные IPN (мгновенного платежного уведомления)

Полный список переменных IPN (мгновенного платежного уведомления) и подробные инструкции по использованию уведомлений о мгновенном платеже см. в Руководство по интеграции системы принятия платежей через PayPal

Adobe Acrobat требуется для просмотра руководств PayPal.