Nano Hash - криптовалюты, майнинг, программирование

Получение нулевой комиссии в ответе API транзакции Stripe Balance

Я использую Stripe API для получения вклада от нескольких пользователей. Поэтому я хочу создать выписку для нашего клиента, чтобы они могли видеть точную сумму, вычет комиссии, количество транзакций и т. д.

Изучив Stripe API, я обнаружил, что есть два API (Stripe::Transfer и Stripe::BalanceTransaction), которые можно использовать для выполнения моих требований.

Итак, согласно документации Stripe API, я вызываю Stripe::Transfer API, и этот API возвращает правильный ответ, как показано ниже.

transfer = #<Stripe::Transfer:0x3f997455ac88 id=tr_1xxxxxxxxxxxxxx>    JSON: {
"id": "tr_1xxxxxxxxxxxxxxxxx",
"object": "transfer",
"amount": 9510,
"amount_reversed": 0,
"application_fee": null,
"balance_transaction": "txn_123",
"created": 1477485158,
"currency": "usd",
"date": 1477485158,
"description": null,
"destination": "acct_xxxxxxxxxxxxxx",
"destination_payment": "py_xxxxxxxxxxx",
"failure_code": null,
"failure_message": null,
"livemode": false,
"metadata": {},
"method": "standard",
"recipient": null,
"reversals": {"object":"list","data":[],"has_more":false,"total_count":0,"url":"/v1/transfers/tr_xx/reversals"},
"reversed": false,
"source_transaction": "ch_xxxxxxxxx",
"source_type": "card",
"statement_descriptor": null,
"status": "paid",
"type": "stripe_account"
}

Я вызываю Stripe::BalanceTransaction API, чтобы получить подробную информацию о транзакциях конкретных переводов.

balance_transaction_id = transfer.balance_transaction
Stripe::BalanceTransaction.retrieve(balance_transaction_id)

Получение ответа ниже

#<Stripe::BalanceTransaction:0x3f9974f2f1c8 id=txn_123> JSON: {
"id": "txn_123",
"object": "balance_transaction",
"amount": -9510,
"available_on": 1478044800,
"created": 1477485158,
"currency": "usd",
"description": null,
"fee": 0,
"fee_details": [

],
"net": -9510,
"source": "tr_xxxxxxxx",
"sourced_transfers": {"object":"list","data":  [],"has_more":false,"total_count":0,"url":"/v1/transfers?  source_transaction=tr_xxxx"},
"status": "available",
"type": "transfer"
}

Я устанавливаю плату за приложение (2%), и это отображается правильно на панели инструментов Stripe, но в приведенном выше ответе я получаю fee is 0

Итак, как я могу получить значения fee и total_count в этом ответе?


  • Может ли кто-нибудь помочь мне, что я должен сделать, чтобы выполнить мое требование? 28.12.2016

Ответы:


1

Вы не хотите смотреть на перевод и его балансовую транзакцию здесь, чтобы получить комиссию. Это автоматический перевод между счетами из целевого платежа, поэтому комиссия за него не взимается.

Вам нужно получить исходный заряд в source_transaction, а затем просмотреть собственные объекты balance_transaction и application_fee этого заряда.

Вы даже можете использовать функцию расширения, чтобы сделать это в одном вызове API: https://stripe.com/docs/api#expanding_objects

Что касается общего количества, я подозреваю, что вам нужно количество транзакций для этого пользователя, тогда вам нужно посмотреть на это при перечислении всех переводов на эту учетную запись и добавить в запрос следующий необязательный параметр:

:include => ['total_count']

Это будет работать только в том случае, если вы не создаете ручные переводы на подключенную учетную запись помимо сборов за назначение.

28.12.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..