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 для хостинга; Есть много других альтернатив, но это должно начать вас.

Другие вопросы по тегам