Подключить Stripe Подключиться к Telegram Payment API

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

API Telegram, по-видимому, допускает только "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/

Он использует экспресс-аккаунты, но основная проблема, заключающаяся в том, что он не может напрямую общаться со стрипами, кажется, та же самая.

Спасибо :)


person Roman    schedule 13.10.2017    source источник


Ответы (1)


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

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

Получив событие successful_payment от Telegram API, вы можете перевести деньги со своей собственной учетной записи Stripe на связанную учетную запись Stripe, используя Stripe Connect transfers конечная точка, но будьте осторожны: она не дает вам сумму, которая была переведена на ваш собственный баланс 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, а затем выполните выплату по ней.

person tjhorner    schedule 14.10.2017