Вы правы насчет 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