Подключите "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, затем выполните выплату.