Autodesk App Store и PayPal IPN Listener

Автор Тема: Autodesk App Store и PayPal IPN Listener  (Прочитано 608 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ZvonАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 1
Autodesk App Store и PayPal IPN Listener
« : 03-11-2018, 17:21:33 »
Добрый день!
У меня есть продукт (скрипт для 3ds Max), который в данный момент продаётся на моём персональном сайте через кнопку PayPal "Buy Now". Хочу разместить этот скрипт для продажи в Autodesk Apps, но возникло несколько вопросов по использованию IPN (Instant Payment Notifications) для обработки транзакций.
Дело в том, что у меня уже есть настроенный IPN листенер для PayPal, который работает с кнопкой "Buy Now" на сайте. В результате после совершения покупки и проверки транзакции генерируется лицензионный ключ, информация о покупке заносится в БД и отправляется письмо покупателю с ссылкой для скачивания скрипта и с лицензионным ключем для активации.
Я внимательно прочитал статью по этой http://adn-cis.org/autodesk-exchange-apps-nastrojka-uchyotnoj-zapisi-paypal.html ссылке, но в ней я не нашёл ответов на несколько вопросов:
1. Если уже есть IPN листенер, который настроен и работает для кнопки "Buy Now", размещённой на персональном сайте продавца продукта, то можно ли использовать его же и в Autodesk App Store, указав ссылку на этот листенер в настройках Publisher Settings? Если да, то достаточно ли будет добавить для проверки в уже существующий код PayPal IPN листенера параметры "buyer_adsk_account", "appId", "appLanguage", "appOS"? Не будет ли это конфликтовать с другими параметрами IPN PayPal? Или же необходимо писать отдельный IPN листенер для Autodesk Apps Store?
2. Где можно найти пример кода IPN листенера на PHP для Autodesk Apps Store, в котором предусмотрена отправка письма покупателю с информацией о совершённой покупке и с лицензионным ключём?
Благодарю за любую помощь.
« Последнее редактирование: 03-11-2018, 17:55:37 от Zvon »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 8566
  • Карма: 1045
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #1 : 03-11-2018, 19:01:42 »
Zvon,
Приветствую на форуме!
1. Не следует в разных темах задавать одинаковые вопросы. Дубликат я удалил.
2. Я сомневаюсь, что тот IPN листенер, который у вас уже есть подойдёт в случае Магазина приложений Autodesk.
3. Пример кода: https://github.com/ADN-DevTech/Exchange-IPNListener-Sample. Примеров на PHP я не знаю.
4. Еще одна полезная ссылка: https://adndevblog.typepad.com/cloud_and_mobile/2014/02/how-autodesk-exchange-ipn-listener-works-and-how-to-create-an-ipn-listener.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ZvonАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 1
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #2 : 03-11-2018, 20:23:31 »
Приветствую!
Прошу прощения за дублирование своего вопроса.
Благодарю за ваш ответ, но все ссылки, которые вы указали, мне известны и они так же не дают ответа на мои вопросы к сожалению :(
Во-первых, все эти примеры относятся к IPN листенеру для Exchange, что мне не подходит.
Во-вторых, в обоих вариантах ссылаются на стандартный PayPal IPNListener, всё отличие которого сводится к четырьмя дополнительным передаваемым POST-параметрам. Поэтому я не понимаю почему IPNListener от PayPal может не подойти для Autodesk App Store.
В-третьих, в статье по ссылке выше есть такая фраза:
Цитировать
Вы можете указать любой URL-адрес для уведомления, в том числе и тот, который ссылается на ваш собственный платежный сервер, так как магазин приложений Autodesk Exchange Apps сам изменит его, если это потребуется во время оплаты. Если вы не уверены, какой URL-адрес для уведомления указать, то можете воспользоваться ссылкой магазина http://apps.exchange.autodesk.com/Payment/IPNHandler
Вы можете объяснить смысл этой фразы: "в том числе и тот, который ссылается на ваш собственный платёжный сервер, так как магазин приложений Autodesk Exchange Apps сам изменит его, если это потребуется во время оплаты"?
К сожалению, мне не удалось воспользоваться указанной тут ссылкой на IPNHandler, так как она оказалась нерабочей.

Так же, я пробовал связаться с поддержкой и задавал им эти вопросы, но их ответ ещё больше меня запутал :(
Вот что они мне ответили:
Цитировать
"I would suggest having the IPN listener URL mentioned in the Autodesk App Store as well.
The Autodesk App Store IPN format has additional parameters to that of the IPN from PayPal.
Please see the Autodesk App Store appends following parameters to original PayPal IPN. Rest of the IPN parameters come from the PayPal.
For example:
&buyer_adsk_account=Sandeep.kumar@autodesk.com&appId= 354291812252272809&appLanguage=en&appOS=Win64
 
Either you can have separate IPN listener URL for the IPN received by the Autodesk App Store
Or initially, you need to identify, from where the IPN is coming from, is it from Autodesk App Store or PayPal."
То есть, они написали, что достаточно добавить указанные четыре параметра в исходный код IPN листенера от PayPal.
Но последнее предложение я не совсем понял: "Либо у вас может быть отдельный URL-адрес прослушивателя IPN для IPN, полученный в магазине приложений Autodesk или изначально вам нужно определить, откуда идет IPN, из магазина приложений Autodesk или PayPal." Вот я и решил уточнить здесь на форуме, справедливо полагая, что я не первый кто столкнулся с этой проблемой и у кого-то из пользователей Autodesk App Store уже есть какое-то решение.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 8566
  • Карма: 1045
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #3 : 03-11-2018, 20:29:16 »
Вот я и решил уточнить здесь на форуме, справедливо полагая, что я не первый кто столкнулся с этой проблемой и у кого-то из пользователей Autodesk App Store уже есть какое-то решение.
Честно говоря я в этом сомневаюсь. Одна из причин - в проблеме получения средств через PayPal от пользователей из России. На форуме это обсуждалось.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ZvonАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 1
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #4 : 03-11-2018, 20:32:47 »
Вот я и решил уточнить здесь на форуме, справедливо полагая, что я не первый кто столкнулся с этой проблемой и у кого-то из пользователей Autodesk App Store уже есть какое-то решение.
Честно говоря я в этом сомневаюсь. Одна из причин - в проблеме получения средств через PayPal от пользователей из России. На форуме это обсуждалось.
Хм, не вижу никаких проблем. Я давно уже продаю свой скрипт через PayPal как в рублях так и в долларах и свободно вывожу их на свой банковский счёт в рублях по текущему курсу банка.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 8566
  • Карма: 1045
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #5 : 03-11-2018, 20:39:13 »
Вот я и решил уточнить здесь на форуме, справедливо полагая, что я не первый кто столкнулся с этой проблемой и у кого-то из пользователей Autodesk App Store уже есть какое-то решение.
Честно говоря я в этом сомневаюсь. Одна из причин - в проблеме получения средств через PayPal от пользователей из России. На форуме это обсуждалось.
Хм, не вижу никаких проблем. Я давно уже продаю свой скрипт через PayPal как в рублях так и в долларах и свободно вывожу их на свой банковский счёт в рублях по текущему курсу банка.
Зря не видите. Autodesk <-> PayPal не идут в рублях. И вот тут возникает проблема: http://adn-cis.org/forum/index.php?topic=2716.0
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ZvonАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 1
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #6 : 03-11-2018, 20:41:59 »
Вот я и решил уточнить здесь на форуме, справедливо полагая, что я не первый кто столкнулся с этой проблемой и у кого-то из пользователей Autodesk App Store уже есть какое-то решение.
Честно говоря я в этом сомневаюсь. Одна из причин - в проблеме получения средств через PayPal от пользователей из России. На форуме это обсуждалось.
Хм, не вижу никаких проблем. Я давно уже продаю свой скрипт через PayPal как в рублях так и в долларах и свободно вывожу их на свой банковский счёт в рублях по текущему курсу банка.
Зря не видите. Autodesk <-> PayPal не идут в рублях. И вот тут возникает проблема: http://adn-cis.org/forum/index.php?topic=2716.0
На самом деле проблема абсолютно не в PayPal, а в том, что в Autodesk App Store до сих пор не реализована возможность для покупателей выбрать свою валюту оплаты за продукт (или сделать так, чтобы она выставлялась автоматически в зависимости от страны покупателя), как это давно уже реализовано на других уважающих себя площадках по продаже цифрового контента. Но для меня это не является такой уж проблемой, так как число покупателей моего продукта из России не превышает 1% от общего числа покупателей. А те российские покупатели, которые хотят приобрести мой продукт спокойно могут это сделать на моём сайте, оплатив рублями через интегрированную кнопку PayPal. Размещая свой продукт на Autodesk App Store я в первую очередь ориентируюсь на зарубежных покупателей.
Но это уже тема для другого топика, а на данный момент меня всё же интересуют вопросы публикации продукта и связь с покупателями для получения ими лицензионного ключа, что подразумевает использование IPN, по существу чего и возникли эти вопросы.
« Последнее редактирование: 03-11-2018, 23:38:37 от Zvon »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 8566
  • Карма: 1045
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #7 : 03-11-2018, 21:40:29 »
Но последнее предложение я не совсем понял: "Либо у вас может быть отдельный URL-адрес прослушивателя IPN для IPN, полученный в магазине приложений Autodesk или изначально вам нужно определить, откуда идет IPN, из магазина приложений Autodesk или PayPal."
Перевод не совсем корректный по смыслу. Я бы перевёл так:
"У Вас может быть отдельный URL для IPN-прослушивателя из магазина приложений Autodesk. Или в Вашем IPN-прослушивателе (т.е. том, который уже существует) нужно определить откуда пришел IPN - из магазина приложений или из PayPal". Ну и проверять это нужно скорее всего по IP.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ZvonАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 1
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #8 : 03-11-2018, 23:05:40 »
Но последнее предложение я не совсем понял: "Либо у вас может быть отдельный URL-адрес прослушивателя IPN для IPN, полученный в магазине приложений Autodesk или изначально вам нужно определить, откуда идет IPN, из магазина приложений Autodesk или PayPal."
Перевод не совсем корректный по смыслу. Я бы перевёл так:
"У Вас может быть отдельный URL для IPN-прослушивателя из магазина приложений Autodesk. Или в Вашем IPN-прослушивателе (т.е. том, который уже существует) нужно определить откуда пришел IPN - из магазина приложений или из PayPal". Ну и проверять это нужно скорее всего по IP.
Да, наверное так будет точнее, спасибо.
В данный момент я сделал проверку не по IP, а по наличию указанных выше дополнительных параметров в POST, т.е. "buyer_adsk_account", "appId", "appLanguage" и "appOS". И если они есть, то беру из них данные для занесения в БД и отправки письма покупателю с лицензионным ключем. Если же их нет или они пустые - значит покупка была произведена не в магазине Autodesk App Store, а с моего сайта. В таком случае в письмо добавляется ещё и ссылка для скачивания приобретённого скрипта.
Пока так, но не знаю как это будет работать, так как мне не совсем понятен механизм работы прослушки IPN от Autodesk App Store. Отписал саппорту, чтобы они произвели тестовую покупку и проверили получение письма с лицензионным ключем. Жду ответа, потом отпишусь здесь о результате. Возможно данный опыт поможет ещё кому-нибудь.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 8566
  • Карма: 1045
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Autodesk App Store и PayPal IPN Listener
« Ответ #9 : 04-11-2018, 00:29:50 »
В данный момент я сделал проверку не по IP, а по наличию указанных выше дополнительных параметров в POST, т.е. "buyer_adsk_account", "appId", "appLanguage" и "appOS". И если они есть, то беру из них данные для занесения в БД и отправки письма покупателю с лицензионным ключем.
Как я понимаю это ненадежный вариант. Отсюда: https://adndevblog.typepad.com/cloud_and_mobile/2014/02/how-autodesk-exchange-ipn-listener-works-and-how-to-create-an-ipn-listener.html
Цитировать
To handle the IPN notification, I need to verify whether the notification is a valid one, a valid IPN notification means it is sent from Autodesk Exchange, not anyone else, a hacker for instance. The way to validate IPN notification is to send it back to Autodesk Exchange with POST method, Autodesk Exchange will response “verified” if it is a valid one. The Autodesk Exchange IPN verification URL is : https://apps.exchange.autodesk.com/WebServices/ValidateIPN. Autodesk Exchange marks the IPN notification as “received” when it is verified, otherwise it will send out IPN again and again(10 time maximum) until listener call Exchange webservice to verify it.
Autodesk Exchange - это старое название Autodesk App Store (Магазин приложений Autodesk). Альтернативная ссылка: https://apps.autodesk.com/WebServices/ValidateIPN
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение