Paypal Зашифрованный сайт платежей - PullRequest
4 голосов
/ 14 апреля 2010

Я пытаюсь интегрировать PayPal Website Payments Standard> Корзина. Загрузить тип оплаты в мою корзину. Я интегрировал Google Checkout некоторое время назад, и я не находил это слишком запутанным, поскольку я делаю PayPal.

Я получаю информацию о том, как его зашифровать, отсюда: https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_ID=developer/e_howto_html_encryptedwebpayments#id08A3I0P017Q

Paypal говорит, что мне нужно сгенерировать закрытый ключ и открытый сертификат с использованием OpenSSL. Я пошел в OpenSSL и скачал последнюю версию, которая представляет собой просто папку, содержащую различные файлы, но я не вижу приложения, которое могу использовать, не зная, что здесь делать.

Даже если бы мне нужно было, чтобы OpenSSL сгенерировал мне закрытый ключ и открытый сертификат, следующим шагом будет загрузка либо инструмента командной строки MS или Java, чтобы заблаговременно создать зашифрованную корзину с общей суммой, налог и т.д., что звучит для меня безумно, как будто я должен делать это вручную перед каждым заказом ??

Очевидно, я не знаю, какие товары в корзине покупатель собирается купить заранее, поэтому мне нужно сделать это на лету на моем сайте с помощью PHP. Но я полностью потерян. Должен быть способ настроить динамическую загрузку защищенной корзины на PayPal. Может кто-нибудь указать мне правильное направление?

Ответы [ 4 ]

3 голосов
/ 14 апреля 2010

Во-первых, ваша проблема с OpenSSL. Если вы используете Linux или Mac, это легко (как всегда). Установите пакет как обычно и используйте команду на странице инструкций PayPal. В Windows убедитесь, что вы загружаете двоичные файлы , а не источник с этой страницы .

Вам не нужно использовать предоставляемую ими программу Java для генерации ссылок. Эта часть инструкции предназначена для людей, создающих статические страницы, не использующих PHP. PayPal - это большое решение, которое дает вам огромную гибкость, но они делают это, предоставляя вам множество различных API и способов обработки платежей. EWP (зашифрованные платежи на веб-сайтах) по указанной вами ссылке - это не то, что вы ищете.

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

Краткий ответ: в PayPal очень возможно самостоятельно создать зашифрованные ссылки для создания индивидуального решения, но для этого нужно проделать определенную работу. Документы сложно найти на сайте

2 голосов
/ 06 апреля 2013

Несмотря на то, что Николас уже ответил, как вы собираетесь создавать секретный ключ и сертификат, который вам нужен, и предложил использовать PDT для удовлетворения ваших потребностей, я также хотел бы остановиться на фактическом использовании зашифрованных платежей в PHP, так как я уверен, что некоторые посетители будут хочу сделать это.

На сервере, на котором вы работаете, должен быть установлен openssl (он установлен на большинстве серверов Linux), и вам нужно будет выполнить это с php (то есть с помощью команды exec).

Код для этого доступен здесь:

http://www.stellarwebsolutions.com/en/articles/paypal_button_encryption_php.php

Я использовал это успешно (после настройки файловых переменных, так как они не были правильно подобраны в функции).

0 голосов
/ 17 апреля 2016

Для пользователей Python пакет python-ewp заботится о подписи и шифровании. * Если у вас есть доступные заголовки и библиотеки OpenSSL, установка так же проста, как:

pip install ewp

Если у вас есть строка, содержащая строки key=value, вы можете передать ее в ewp.sign() для генерации подписи и ewp.encrypt() для шифрования:

signature = ewp.sign('test.key', 'test.crt', data)
ciphertext = ewp.encrypt('paypal.crt', signature)

Обратите внимание, что указаны три имени файла:

  • test.key - личный ключ RSA
  • test.crt - сертификат X509, подписанный ключом
  • paypal.crt - публичный сертификат PayPal

Вы можете сгенерировать ключ RSA с помощью:

openssl genrsa -out test.key 2048

... и создайте самозаверяющий сертификат сроком действия на один год с:

openssl req -new -key test.key -x509 -days 3650 -out test.crt

Сертификат PayPal можно получить, следуя этим инструкциям .


* Отказ от ответственности: Я являюсь автором пакета.

0 голосов
/ 06 июля 2015

Кажется, этот пост немного староват.

Тем не менее, я думал, что мог бы добавить свои 2 цента

В Paypal появилась возможность просто установить флажок на вкладке «Продавец», в котором указано: «Не принимать платежи, исходящие с незашифрованного веб-сайта» ...... или что-то подобное.

Кроме того, существуют варианты (также рекомендуемые Paypal) для загрузки собственного сертификата, создания собственного (или открытого ключа) и использования ОБА для проверки и проверки того, что платеж не является мошенническим.

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

Проблема в том, что эта так называемая «мера безопасности» блокирует около 50% клиентов на моем сайте, и без видимой причины.

Именно поэтому я серьезно рассматриваю возможность УДАЛЕНИЯ этой так называемой функции безопасности с моей кнопки PayPal! Это хлопоты. Все платежи PayPal в любом случае безопасны, так как они проходят через SSL. Мой сайт одинаково защищен с помощью SSL-шифрования.

И, судя по обширным онлайн-исследованиям, большинство людей придерживаются того же мнения, что и я: «зашифрованная» кнопка не стоит времени и хлопот, особенно если она раздражает только 50% ваших потенциальных клиентов! *

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