Stripe API v3: когда использовать Invoice vs PaymentIntent (Node SDK) - PullRequest
0 голосов
/ 04 апреля 2020

Я читал 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).

Итак, у меня есть следующие вопросы:

  1. Почему для Invoice нет поля целевой учетной записи? Получается ли автоматическая отправка на учетную запись Stripe платформы и требуется ли вам создавать перевод вручную?
  2. Существует ли простой способ получить transactionId из Invoice?
  3. способ получить transactionId при создании PaymentIntent и установке confirm=true, чтобы PaymentIntent обрабатывался немедленно?
  4. Для платформы, которая будет иметь процесс выставления счетов и будет упрощать транзакции от имени две стороны, рекомендуется ли использовать способы оплаты, выставление счетов или оба?
  5. В чем разница между комиссией и транзакцией? При оплате счета-фактуры в ответе возвращается идентификатор платежа, но при оплате платежного намерения возвращается идентификатор транзакции.

Заранее спасибо!

...