Подключите "Stripe Connect" с помощью Telegram Payment API

Как я могу использовать Stripe Connect, скажем, для создания "Прямого платежа " при отправке счета-фактуры на Telegram Payment API?

Похоже, что Telegram API допускает только "provider_token", я не вижу дополнительной информации о Stripe API, например, об обязательном свойстве "stripe_account" для прямых платежей.

Я полагаю, что сама Telegram использует Stripe Connect для зарядки от имени пользователей... Но, похоже, это не помешало этому парню сделать нечто очень похожее: https://www.reddit.com/r/TelegramBots/comments/6f6b4z/telepay_a_bot_that_enables_instant_and_secure/

Он использует экспресс-аккаунты, но фундаментальная проблема невозможности говорить напрямую с полосой, похоже, та же.

Спасибо:)

1 ответ

Решение

Вы правы в отношении Telegram API: при получении платежей через Telegram невозможно создать прямой платеж для подключенного аккаунта Stripe. Но есть обходные пути. Я автор бота, которого вы связали; Вот как мне удалось перевести средства со своего счета на подключенный счет Stripe через Telegram.

Во-первых, вы должны принять платеж, как обычно (например, следовать нормальному sendInvoice течь). Для моих целей я сделал payload Параметр ID пользователя, которому отправляются деньги (позже он сопоставляется с идентификатором счета Stripe в базе данных, но вы можете сделать это, как хотите). Остальное выходит за рамки вопроса, поэтому я не буду подробно описывать этот процесс; У Telegram есть очень хорошее руководство по этому вопросу.

Как только вы получите successful_payment После события Telegram API вы можете затем перевести деньги со своего собственного счета Stripe на связанный счет Stripe с использованием конечной точки переводов Stripe Connect, но будьте осторожны: он не дает сумму, которая была переведена на ваш собственный баланс Stripe (с учетом сборов), поэтому вам нужно будет рассчитать это самостоятельно. В зависимости от вашей учетной записи, для JavaScript это будет выглядеть примерно так: payment.total_amount - Math.round(payment.total_amount * 0.029 + 30),

После того, как вы перевели деньги на их счет, вы можете выполнить выплату в обычном режиме с помощью конечной точки Stripe Connect.

Но обратите внимание, что это только один пример; Вы можете использовать все API Stripe Connect с этим. На самом деле, вы, вероятно, обладаете еще большей гибкостью, поскольку средства поступают на ваш счет Stripe до того, как они достигают подключенного счета, поэтому вы можете делать с ними все, что захотите:)


Итак, TL;DR: Как только вы получили successful_payment из Telegram переведите деньги на подключенный счет Stripe, затем выполните выплату.

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