#stripe-payments
#stripe-платежи
Вопрос:
Наша цель
У нас есть платформа, где мы управляем всеми клиентами, продуктами и ценами. Возможно ли, чтобы подключенные учетные записи получали выплаты от подписок, взимаемых с учетной записи платформы? (Подключенные учетные записи могут быть во всех регионах).
Мы хотим добавить подключенные учетные записи, которые могут получать платежи по подписке. Идеальный сценарий — чтобы все платежи были списаны на учетную запись платформы, а затем переведены на подключенные учетные записи.
Вариант 1
Из документов проще всего использовать transfer_data[destination]
.
Однако, оказывается, это невозможно, если ваши подключенные учетные записи из разных регионов. Например, подключенная учетная запись в США, где, поскольку платформа находится в Австралии.
Вариант 2
stripe_account
Заголовок передачи, но проблема здесь в том, что клиенты и цены должны принадлежать подключенной учетной записи, а это не вариант.
Вариант 3 (единственное решение?)
Следовательно, решение состоит в использовании on_behalf_of=connected_account_id
параметра, который описан в документации. Проблема в том, что stripe.Subscription.create()
API не имеет такого параметра.
Кому-нибудь удалось успешно создать подписки, используя on_behalf_of
?
Комментарии:
1. В какой-то момент мне пришлось использовать задания cron с намерением оплаты, чтобы обойти эту проблему, но это не идеально. Нашли ли вы какое-нибудь решение этой проблемы? Я обратился в службу поддержки, и они сказали, что это не часть какой-либо бета-версии, так что я немного сбит с толку. Спасибо!
2. @legacycode Я в такой же ситуации…. Вы нашли что-нибудь с тех пор?
3. @KevinB существует 1 решение, оно называется Stripe трансграничные выплаты. Для этого вам нужен счет в американском банке
Ответ №1:
На данный момент Stripe официально не поддерживает on_behalf_of
on Subscription
, и единственными доступными официальными опциями являются первые 2, которые вы упомянули.
Для варианта # 3 это часть частной бета-версии, к которой вы можете получить доступ. Я бы рекомендовал обратиться к их службе поддержки по этому поводу
Ответ №2:
Вызов Subscription create не поддерживает это, но вы можете сделать это, напрямую установив атрибут on_behalf_of в счете, созданном подпиской. Вы можете обновить уже созданный счет-фактуру, прослушав событие webhook «invoice.created».
На вашем веб-крючке :
if 'invoice.created' == event.type
stripe_invoice = event.data.object # Stripe::Invoice
Stripe::Invoice.update(
stripe_invoice.id,
{
transfer_data: {
destination: stripe_account #connected account ID
},
on_behalf_of: stripe_account #connected account ID
},
{
api_key: ENV.fetch('STRIPE_SECRET_KEY'),
stripe_version: ENV.fetch('STRIPE_API_VERSION')
}
)
end
Вы также можете убедиться, что счет-фактура относится к подписке, проверив тип счета, и вы также найдете свой идентификатор подписки в объекте счета, который можно использовать для извлечения исходного объекта подписки.
Пожалуйста, прочитайте: https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts
Комментарии:
1. По факту, когда я пытаюсь это сделать — он выдает мне ошибку «Вы не можете указать
on_behalf_of
параметр при обновлении счета, созданного по подписке».
Ответ №3:
На данный момент, февраль 2023 года, документы Stripe утверждают, что официально поддерживают подписки on_behalf_of
на момент создания.