Venmo Webhook для мониторинга платежных данных
Я работаю над благотворительным проектом в школе, в котором 10 лучших доноров будут вознаграждены. Конечная цель состоит в том, чтобы иметь прямую трансляцию из 10 лучших списков, таких как табло, либо на наших сайтах, либо через периодические твиты. Я второй год изучаю информатику и знаю Python.
Я не думаю, что у меня будут проблемы с синтаксическим анализом JSON в словарь или список Python, а затем сортировка списка лидеров. Проблема в том, что я недостаточно знаю о веб-технологиях с точки зрения импорта данных с помощью веб-крюка. Я могу увидеть данные, используя https://requestb.in/ и тестирование транзакций, но мне нужно более постоянное решение. Мне также нужно иметь возможность запускать все это онлайн, а не на моем компьютере.
Я был бы очень признателен за указание в правильном направлении.
Пример данных транзакции на сайте https://requestb.in/
{
"date_created": "2013-12-16T16:15:23.514136",
"type": "payment.created",
"data": {
"action": "pay",
"actor": {
"about": "No Short Bio",
"date_joined": "2011-09-09T00:30:51",
"display_name": "Andrew Kortina",
"first_name": "Andrew",
"id": "711020519620608087",
"last_name": "Kortina",
"profile_picture_url": "",
"username": "kortina"
},
"amount": null,
"audience": "public",
"date_completed": "2013-12-16T16:20:00",
"date_created": "2013-12-16T16:20:00",
"id": "1312337325098795713",
"note": "jejkeljeljke",
"status": "settled",
"target": {
"email": null,
"phone": null,
"type": "user",
"user": {
"about": "No Short Bio",
"date_joined": "2011-09-09T00:30:54",
"display_name": "Shreyans Bhansali",
"first_name": "Shreyans",
"id": "711020544786432772",
"last_name": "Bhansali",
"profile_picture_url": "",
"username": "shreyans"
}
}
}
}
1 ответ
Я вижу, что ваш пример JSON выше от https://developer.venmo.com/docs/webhooks
Webhook - это просто URL, который знает, как обрабатывать POST-запросы; когда они хотят уведомить ваш сайт / веб-приложение, они называют этот URL и передают ему информацию, которую они хотят, чтобы вы получили.
URL может быть незашифрованным (http) или зашифрованным (https); если вы имеете дело с финансовой информацией, вы определенно хотите, чтобы она была зашифрована. Проверьте инструкции вашего веб-хостинга по настройке SSL-сертификата.
На той же странице рассказывается о том, как настроить веб-крючок (войдите в свою учетную запись Venmo, перейдите на вкладку "Разработчик" и введите свой URL-адрес). Для подтверждения он сделает GET-вызов (т.е. https://your_site/path/page?venmo_challenge=XYZZY); Ваша страница должна вернуть значение запроса (например, XYZZY).
Я предложу Flask в качестве простой среды Python и Heroku для хостинга; Есть много других альтернатив, но это должно начать вас.