#chrisvr_81746

1 messages ยท Page 1 of 1 (latest)

tranquil karmaBOT
ornate stump
#

Good question, checking in to how a currency exchange would show up here

#

Do you have the ID of a test payment on hand that I can look at for reference?

#

I actually think it would be on the balance transaction with a type of stripe_fx_fee

#

If you list balance transactions of that type in your test mode account, do you see the fx fee amount in the amount or fee property on the object?

vale cobalt
#

This payment intent id for example pi_3OH6SzH2wLHuCKJp1Syj0ZU3

#

from EUR setting in USD account

#

let me double check that

#

I believe this is the one

hoary wind
vale cobalt
#

ok I will try it now give me one sec

hoary wind
#

I don't think you're expanding balance transaction correctly
look at the example in the doc I shared above for the code, you should have an object under charge.balance_transaction

vale cobalt
#

okay, I tried the other example and got this ^

#

I see balance_transaction under charges

hoary wind
vale cobalt
#

hmm. The balance transaction on the charge is a dictionary not a list. But maybe

#

I see fee: 0 in the balance transaction though. Why is that? is it because is a testing account?

hoary wind
#

Ah okay, so here's whats happening

vale cobalt
#

I see this from a production case

    "balance_transaction": {
      "id": "txn_3OH5M3H2wLHuCKJp0XUQq2eG",
      "object": "balance_transaction",
      "amount": 5745,
      "available_on": 1701216000,
      "created": 1701093664,
      "currency": "usd",
      "description": null,
      "exchange_rate": 1.08436,
      "fee": 0,
      "fee_details": [],
      "net": 5745,
      "reporting_category": "charge",
      "source": "ch_3OH5M3H2wLHuCKJp03KEOLoG",
      "status": "pending",
      "type": "charge"
    },
#

no fee

hoary wind
#

Each operation with the payment generates its own balance transaction,

i.e.

  1. actual charge processing has its own balance transaction object
  2. transfer to connected account has its own balance transaction object
  3. payment object getting created on the connected account has its own balance transaction object
#

fx fees are charged on step 3

#

so they'll be reflected on the balance transaction object linked to py_1OH6TUH0sGnEzV4arG32rp4Y payment object on the connected account

vale cobalt
#

ok trying that now

#

{
"object": "list",
"data": [],
"has_more": false,
"url": "/v1/balance_transactions"
}

hoary wind
#

oh you might need to set stripe_account header since this object gets created on the connected account

vale cobalt
#

ok let me try that

#

{
"object": "list",
"data": [],
"has_more": false,
"url": "/v1/balance_transactions"
}

#

hmm

hoary wind
#

thinking..

vale cobalt
#

I would assume we should be able to see it in the dashboard

hoary wind
#

Let's try a different route

Each transfer object would have a destination_payment parameter
https://stripe.com/docs/api/transfers/object#transfer_object-destination_payment

can you try retrieving the transfer object tr_3OH6SzH2wLHuCKJp1oBJQ9NM and expand destination_payment parameteR?

vale cobalt
#

since it is a connected account, would that fee be charged to the connected account or the parent account?

#

sure I can try that

hoary wind
#

cool, now try expanding destination_payment.balance_transaction ๐Ÿคž

vale cobalt
#

no exchange rate shown from this

#

hmm

#

on the previous calls I did see an exchange rate, but no fee

#

"balance_transaction": {
"id": "txn_3OH6SzH2wLHuCKJp1wPcjVwj",
"object": "balance_transaction",
"amount": 14527,
"available_on": 1701216000,
"created": 1701097911,
"currency": "usd",
"description": null,
"exchange_rate": 1.08436,
"fee": 0,
"fee_details": [],
"net": 14527,
"reporting_category": "charge",
"source": "ch_3OH6SzH2wLHuCKJp11WpvemX",
"status": "pending",
"type": "charge"
},

hoary wind
#

hmm, taking a step back actually I don't see a separate fee for FX on this payment

Are you seeing it anywhere?

vale cobalt
#

no not at all

#

but its a different currency for sure

#

customer paying in EUR and connected account is USD

hoary wind
#

Sorry we went down this rabbit hole without zooming out first.
Part of the reason is our team on discord only knows a fraction about fees related stuff.

Zooming out, you seem to be using Destination charges flow.
With Destination Charges, the platform is responsible for fees. However, I don't see any fee on the balance transaction for the PaymentIntent.

This could either be due to test mode or your account having a special fees structure. I'm not 100% certain.

#

Hate to do this but I'd recommend writing into our support as they're more familiar with fees and can help understand why you're not seeing any on the PaymentIntent

vale cobalt
#

awesome, no worries. Thanks for all the help!