2016-12-27 1 views
1

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

После изучения API-интерфейса Stripe я обнаружил, что существует два API (Stripe::Transfer и Stripe::BalanceTransaction), они могут использоваться для fullfil мое требование.

Так, согласно документации 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" 
} 
плат

I приложение настройки (2%), и это показывает правильно на полоску Dashboard, но в приведенном выше ответ я получаю fee является 0

Так может кто-нибудь помочь/предложить мне, как я могу получить fee и total_count значения в ответ

Благодарим вас за помощь и предложение.

+0

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

ответ

0

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

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

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

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

:include => ['total_count'] 

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