ME

Кейс · BotForChange · 2024 · Благотворительный проект

BotForChange

Paycom-интеграция для системы перевода сдачи в благотворительность.

Стек проекта

  • Node.js
  • PostgreSQL
  • Paycom API
  • Telegram Bot API
  • Docker
Срок
несколько недель
Бюджет
Базовый-пакет (от $400)
Индустрия
Благотворительный проект

TL;DR

split Paycom split-платежи в фонд
Telegram уведомления и личный кабинет
idempotent вебхук-обработка от Paycom
auto еженедельная отчётность магазинам

Контекст

Вводные данные.

BotForChange — проект благотворительного перевода сдачи с покупок в магазинах-партнёрах. Покупатель видит сумму к оплате, округляет вверх, разница автоматически уходит в благотворительный фонд через Paycom.

Идея простая, реализация требовала тонкой работы с Paycom API и точной отчётности для жертвователей и магазинов.

Задача

Что нужно было решить.

01

Интегрировать Paycom для split-платежей

02

Прозрачная отчётность для жертвователей

03

Отчёты для магазинов-партнёров

04

Минимальная задержка чекаута

Решение

Что и как мы сделали.

Реализовали split-логику на стороне сервиса: Paycom получает основную сумму, разница уходит на счёт фонда отдельным платежом. Использовали идемпотентные вебхуки для надёжности.

Отчётность: жертвователи видят персональную статистику в личном кабинете, магазины — еженедельный CSV с разбивкой по транзакциям.

Наблюдение

Простая идея — округлить до рубля и отправить разницу в фонд — требует надёжной split-логики и идемпотентных вебхуков. Простой UX, сложный backend.

Этапы

Как разворачивали.

01

Paycom split-API

Разделение платежа на основную сумму магазину и пожертвование в фонд одним кликом.

02

Идемпотентные вебхуки

Защита от дублирования при retry — каждое событие обрабатывается ровно один раз.

03

Telegram-бот

Уведомления о пожертвовании и личный кабинет жертвователя с историей транзакций.

04

Отчётность

Еженедельный CSV-отчёт для магазинов-партнёров с детализацией по транзакциям.

Архитектура

Как это устроено.

Клиент Бэкенд Воркеры Внешние API
Магазин-партнёр Жертвователь Node.js API PostgreSQL Split-логика Webhook-handler Paycom API Telegram Bot API

Трансформация

До и после.

Было

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

Стало

Split-логика на бэкенде, идемпотентные вебхуки от Paycom, личный кабинет жертвователя в Telegram, автоматическая отчётность магазинам по CSV.

Результаты

Что получилось.

Прозрачная статистика для жертвователей в личном кабинете
Идемпотентные вебхуки для надёжной обработки split-платежей
Низкая латентность чекаута

Похожая задача?

Расскажите о вашей ситуации — пришлю расчёт и план в течение рабочего дня.

Обсудить задачу → — Резидент IT Park · Ташкент