Я читал api-документацию Stripe (v3), и мне неясно, когда следует использовать объекты Stripe Invoice vs PaymentIntent. Из прочтения документации я понимаю следующее:
В Stripe платежные намерения являются основным способом облегчения платежей через их API, и в какой-то момент начисления будут исключены.
Обработка счета-фактуры создает PaymentIntent
под капотом и сразу же инициирует платеж. Я не понимаю, почему для Invoice
нет поля учетной записи назначения? Если счет-фактура по умолчанию отправляется на учетную запись Stripe платформы (это предположение, которое я делаю, так как поле назначения отсутствует), почему существует поле application_fee_amount
, которое по сути является «отсечкой» транзакции от платформы?
A PaymentIntent
позволяет указать учетную запись назначения при получении платы за "приложение" или "платформу", поэтому вам не нужно создавать перевод самостоятельно.
- A
PaymentIntent
и Invoice
могут быть обработаны во время создания или отложены до более позднего периода вашего платежного жизненного цикла.
Мой вариант использования требует от меня выполнения платежи между двумя сторонами и взимать «платформу» за каждую транзакцию. Я успешно сделал это путем создания PaymentIntent и использования кредитной карты подключенной учетной записи клиента и заполнения поля transfer_data
суммой, которую необходимо отправить второй стороне, участвующей в транзакции.
Я начал изучать API-интерфейс Stripe для выставления счетов-фактур, поскольку я планирую создать решение для выставления счетов-фактур для своей платформы и подумал, что будет лучше использовать то, что может предложить Stripe, но я не вижу выгоды для меня, чтобы использовать его, поскольку мне также нужно сохранить отслеживать идентификаторы транзакций для целей платежа и налогов на основе почтового индекса (похоже, что Stripe не делает этого автоматически, поэтому мне может не повезти).
Я не смог найти способ получить transactionId
для обработки счета, но я вижу, что chargeId
возвращается как часть ответа, когда вы подтверждаете PaymentIntent
(https://stripe.com/docs/api/payment_intents/confirm).
Итак, у меня есть следующие вопросы:
- Почему для
Invoice
нет поля целевой учетной записи? Получается ли автоматическая отправка на учетную запись Stripe платформы и требуется ли вам создавать перевод вручную? - Существует ли простой способ получить
transactionId
из Invoice
? - способ получить
transactionId
при создании PaymentIntent
и установке confirm=true
, чтобы PaymentIntent
обрабатывался немедленно? - Для платформы, которая будет иметь процесс выставления счетов и будет упрощать транзакции от имени две стороны, рекомендуется ли использовать способы оплаты, выставление счетов или оба?
- В чем разница между комиссией и транзакцией? При оплате счета-фактуры в ответе возвращается идентификатор платежа, но при оплате платежного намерения возвращается идентификатор транзакции.
Заранее спасибо!