brmn
@brmn
Senior Cloud Application Developer
Information
- Rating
- Does not participate
- Location
- München, Bayern, Германия
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Software Architect
Lead
From 10,000 €
AWS
Python
TypeScript
Вот это неверный подход. Опять встречаем авторов статей, которые не читают стандарты и мануалы. А потом другие авторы копипастят код, не задумываясь, насколько он правильный. И мы имеем интернет в том кривом и глючащем виде, как сегодня.
Если мне не изменяет память, в поле filename заголовка Content-Disposition стандарт разрешает использовать только ASCII, и разные браузеры требуют разные способы кодирования не-ASCII (в т.ч. русские буквы) символов: кто-то через url percent encoding, кто-то позволяет использовать сами буквы в кодировке utf-8.
Потому, вы должны либо распознавать user-agent, и подсовывать ему нужную версию названия, либо использовать только ASCII, либо (самое правильное решение) не ставить поле filename, а задавать имя файла с помощью URL: example.com/download-xls/Прайс-лист+компании+Рога+и+Копыта.xls
1. У PayPal есть три самых популярных API. Это Website Payments Standard, Express Checkout и PayPal Payments Pro.
Website Payments Standard – самый простой и массовый способ. Позволяет оплатить покупку как через PayPal аккаунт, так и кредитной картой(если PP аккаунта нет). В процессе оплаты переходим на сайт PayPal, там оплачиваем покупку и потом возвращаемся в магазин, где видим страницу подтверждения оплаты.
Этот API действительно прост. В своей простейшей форме нам нужно всего лишь отослать данные(email продавца, сумму и еще пару полей) POST запросом на PayPal. И всё.
Если же нам нужно узнавать о статусе платежа, то нужно использовать IPN: Instant Payment Notifications, PayPal шлет в бэкграунде нотификации об изменении статуса заказа.
Это самый распространенный способ принимать PayPal, поэтому непонятно почему статья начинает с более сложных штук, таких как Express Checkout.
Express Checkout: – более продвинутая штука. Требует или Premier или Business аккаунт.
Обычно используется интернет-магазинами, чтобы сделать процесс покупки более быстрым. Главный смысл такой: если у вас _уже_ есть PayPal аккаунт, то вам больше не надо заводить регистрации в магазине. Достаточно нажать на кнопку. Шаги примерно такие:
— жмем кнопку «Express Checkout by PayPal». Магазин делает запрос к PayPal, получает ссылку на которую нужно переслать клиента.
— Клиент переходит на сайт PayPal, где логинится с помощью своего PayPal аккаунта. Сразу же после этого он возвращается в магазин. На этом этапе никаких снятий денег еще нет.
— Магазин получает информацию о вернувшимся клиенте и, используя API, получает инфу о email и адресе доставки этого клиента.
— Клиент нажимает кнопку «Завершить заказ». Магазин посылает в бэкграунде API запрос к PayPal, деньги снимаются, потом магазин автоматически создает заказ, используя email и адрес доставки с предыдущего шага.
Плюсы для клиента очевидны: ему достаточно сделать 3 легкий шага для размещения заказа. Нажать кнопку «Express Checkout», залогинится в PayPal, нажать кнопку «Завершить заказ». Не надо вводить email, адреса и т.д.
Но у этого способа есть и минусы. Главный из которых, на мой взгляд, это то, что PP _требует_ иметь PayPal аккаунт, чтобы использовать Express Checkout. Надеюсь они это изменят в будущем. Другой минус: намного более сложная интеграция.
PayPal Payments Pro: данный способ используется для принятия кредитных карт. Т.е. пользователь даже может и не знать, что используется PayPal. Магазин берет данные кредитки, делает API запрос на PP в бэкграунде, получает ответ: снялись деньги или нет.
Выглядит просто, но есть одна тонкость.
— т.к. пользователь вводит кредитки на вашем сайте, то магазин обязан быть PCI-DSS cертифицирован. Если используется некий скрипт магазина(коммерческий или бесплатный), то этот скрипт должен быть также PA-DSS сертифицирован.
2.
Автор не прав, что эти API выполняют одну и ту же функцию. Mass Payments это штука, чтобы одновременно послать деньги куче людей. Например выплатить зарплату, отдать выигрыш победителям, выплатить комиссионные всем своим партнерам.
Adaptive Payments это же PayPal «на стероидах». Позволяет делать разные клевые штуки. Например вы это магазин-агрегатор, где разные мерчанты могут выкладывать свои товары. Например пользователь покупает товар от 2 _разных_ продавцов за общую сумму в $100 и идет оплачивать на PayPal. Можно сделать так, чтобы $100 сразу же распределились по PP аккаунтам продавцов, а вам перечислилсь комиссия.
3.
Наоборот. Если используется PayPal Pro или Express Checkout, то есть два типа авторизации:
— Подпись. Выглядит как строка с символами.
— Сертификат. Файл сертификата, который где-то у вас хранится.
Один аккаунт может быть настроен только на один тип авторизации. Как правильно сейчас все используют подпись, она банально удобнее.
4.
Как раз наоборот. «Прямой платеж», т.е. PayPal Pro, не требует от покупателя иметь PayPal аккаунт.
www.1gweb.com/
www.1stchina.com/
www.24cc.com/
www.7x24.cn/
chinanetidc.com/
www.esin.cn/
www.net.cn/
www.nowdata.cn/
www.rrf.com.cn/
www.paangood.com/
www.zjisp.com/