#cargodev_unexpected

1 messages ¡ Page 1 of 1 (latest)

drowsy flickerBOT
#

👋 Welcome to your new thread!

⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1506449863011864696

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

plain spear
#

Is there any other info required to understand & resolve this confusion?

dark pilot
#

Hi there, looking into this. But generally from the Payment Intent Id pi_xxx you can look at the Charge ch_xxx, then the Balance Transaction txn_xxx

#

There is fee break down under it

plain spear
#

Like this?

dark pilot
#

Yes! I see the Stripe processing fee is $4.1. Let me see if we have further breakdonw

plain spear
#

amazing thank you - we're primarily looking to understand what happened bc this is the first time we've noticed this abnormal fee behavior, and want to be aware of what situations cause it so we can better prepare for future

dark pilot
#

Inside $4.1 there is $2.8 for the "regular" Stripe fee and $1.29 for "Cross Border"

#

Support team would explain better than me, but let me try

#

I think this is a cross border transaction

plain spear
#

Thank you for looking into the situation - is ther a way to disable cross border transactions?

dark pilot
#

Looks like the card used was issued in HN (Honduras)

#

Yes you can block transactions from certain card country. Easiest is using Radar, otherwise build a 2-step integration and intercept once you have the card and before sending the transaction, and stop it.

I would recommend Radar

And hold on, let me look closer on the transaction to confirm a bit more

plain spear
#

Thank you for additional context! Any additional advice + links are also greatly appreciated

dark pilot
#

Yep so the "cross border fee" is $1.2954 (exactly 1.5% of $86.36)
and original fee is $2.80444 (exactly 2.9% + $0.30 of $86.36)

#

You would want to think of the balance: block global transactions could loss you transactions, where the buyer only has non-US cards, or only willing to pay by non-US cards

plain spear
#

amazing - thank you for all the help!

#

Do you know if there's a way to pass along the additional fee after we identify it's a cross-border card?

#

That is ideal implementation - we want to pass along the fee to the end user

#

And we have algebra that calculates stripe fee currently to do that - but missing edge case for cross border rn

#

is it even possible to incorporate cross border fee changes in that algebraic expression? Any thoughts on the best way to approach?

#

You're right about losing sales to non-US cards being an issue...but we also would prefer for our fee calculation algebra to be exact

#

if we could do both, that would be amazing

#

Question is:

Can we change a total charge programmatically (after detecting all aspects of end-user's payment choices), to reflect an EXACT passthrough of Stripe fees to the end user (by increasing total charge, by the amount Stripe takes)?

We would require the ability to adjust total charge AFTER receiving payment details from customer

Does stripe provide that level of granularity in webhooks?

^to update the total payment amount charged, on-payment-details-received event?

#

Any advice you have surrounding best way to implement passthrough fee logic is greatly appreciated, thank you!

dark pilot
#

Yes that would require breaking your integration in to 2 parts essentially

  1. Retrieving the customer card.
  2. Adjust the price and create the Payment Intent

You can do this as Checkout Session + SetupIntent (Step 1) + Standalone Payment Intent (Step 2). Or completely switch over from Checkout Session to this Defered Payment Intent flow (https://docs.stripe.com/payments/accept-a-payment-deferred)

Build an integration where you can render the Payment Element prior to creating a PaymentIntent or SetupIntent.

#

I would imagine your algebra runs between Step 1 and Step 2

#

It's more of knowing the card source first, then create the PI, rather than creating PI - knowing card source - adjusting PI