#its_oppong

1 messages · Page 1 of 1 (latest)

crystal crownBOT
#

Hello! We'll be with you shortly. Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

inland mortar
lusty hare
#

yea, so I am able to transfer perfectly fine, and everything is good there, I am just wondering about the parameters of this, Lets say my business in in canada merchantCountryCode: 'CA' but the account I am transfering 90% of the money to is an american company merchantCountryCode: 'US', im not sure which one to use

inland mortar
#

it should be your business's country

#

you shouldn't be able to create a Transfer to a CA business though

lusty hare
#

this is how my processing payment looks, const paymentIntent = await stripe.paymentIntents.create({ amount: amount, currency: paymentObj.currency, payment_method_types: ['card', 'klarna'], receipt_email: paymentObj.email, customer: customer.id, application_fee_amount: totalFeeAmount, // Set the total fee amount transfer_data: { destination: stripeAccountId, }, description: paymentObj.description, metadata: { ...paymentObj, }, });

#
      customerId: customer,
      customerEphemeralKeySecret: ephemeralKey,
      paymentIntentClientSecret: paymentIntent,
      merchantDisplayName: 'Lifestyle',
      allowsDelayedPaymentMethods: true,
      // returnURL: 'stripe-example://stripe-redirect',
      style: {
        backgroundColor: myColors.primary,
      },
      applePay: {
        merchantCountryCode: 'CA',
      },
      googlePay: {
        merchantCountryCode: 'CA',
        currencyCode: 'cad',
        testEnv: true, // use test environment
      },
    });```
#

the second is the client side

#

everything works perfectly though

inland mortar
#

are you using on_behalf_of?

lusty hare
#

naw, do i need to?

#

If they are transacting on my platform would i need to?

#

like a marketplace type application

inland mortar
#

can you share an example PaymentIntent id?

lusty hare
#

ahh yea

#

does it matter if dev or prod?

inland mortar
#

whichever one that you've done a transaction crossborder e.g. US -> CA

#

no matter if it's dev or prod

lusty hare
#

ah naw i havent done that yet,

inland mortar
#

ah, i had the mistaken impression that you did that and it was working

#

just so you're aware you can't perform a crossborder destination charge unless you use the on_behalf_of parameter

lusty hare
#

ah interesting i didnt know that, ok so quick scenario, my company is in canada, if someone in the US was to use my platform, where they can select to receive in usd, and customers can pay in usd, once customers pay, with my current code, the payments wouldnt go through?

inland mortar
#

yep, correct. You should try it out with a US connected account to see what i mean

lusty hare
#

gotcha,

#

would it work if it was in cad though? or just because a connected account is in the US it wont work

inland mortar
#

it's a crossborder thing, the currency doesn't matter

#

example error message you'll get

"Cannot create a destination charge for connected accounts in XX because funds would be settled on the platform and the connected account is outside the platform's region. You may use the `on_behalf_of` parameter to have the charge settle in the connected account's country. For more information on `on_behalf_of`, see https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of. If using capabilities (e.g. `card_payments`, `transfers`), note that they affect settlement as well. For more information on capabilities, see https://stripe.com/docs/connect/account-capabilities. If you still need assistance, please contact us via https://support.stripe.com/contact."```
lusty hare
#

ah interesting

#

so would i need to keep using the on_behalf_of, all the time, or only when its a cross border

#

thanks for helping by the way, I appreciate it a lot!

inland mortar
#

you could use it all the time, but i think very importantly, you need to be aware that the merchant displayed on the customer's credit card statement will be that of the connected account. The other thing is that you'll receive the application fee in the settlement currency in the connected account's settlement currency so the FX there can get a bit complicated

#

it's difficult to envison, especially the application fee bit - you should really create a US connected account, create a CAD payment and look at the application fee and how much you get back in your balance, and the corresponding currency you receive it in

#

the ApplicationFee object : https://docs.stripe.com/api/application_fees/object#application_fee_object-balance_transaction will have a BalanceTransaction object linked to it : https://docs.stripe.com/api/balance_transactions/object#balance_transaction_object-fee_details - you can get the details of the FX, currency, amount etc from it

#

another thing that I've sometimes seen come up, is that because the settlement merchant is in US, but you're charging in CAD, the customer in CA sometimes isn't aware that they're doing a crossborder transaction. Most credit cards charge an additional fee for crossborder transactions. Customers aren't aware of that and they write in to ask why they're charged more

lusty hare
#

ahhh interesting ok ok good to know,

#

lool yea you're right i just got the Cannot create a destination charge for connected accounts in US because funds would be settled on the platform and t error

#

thank God I figured this out before

#

ok, so you would recommend I have 2 accounts, one for the us and one for canada?

inland mortar
#

do you have a business in the US? i.e. you have the corresponding US tax id?

lusty hare
#

ah nawww

#

so that would mean I cant im guessing

inland mortar
#

you're using either Custom or Express connected accounts right?

lusty hare
#

naw,, standard

#

i was using express before, but didnt like the fees, as im just starting out

inland mortar
#

you really shouldn't be using destination charges on standard accounts

#

you'll want to use direct charges instead

#

direct charges would allow you to bypass the crossborder restriction also

#

you'll run into issues when using destination charges on standard accounts especially when you're trying to refund. To give you an example, imagine a connected account is currently at $0 balance, a customer wants a refund. You try to initiate a refund with reverse_transfer=true [0]. The refund will fail because the connected account has no funds. Now there's two options here, you could still create the refund without reversing the transfer, but how you recover those funds back from the connected account is entirely on you, the platform. Alternatively, if you choose to wait, maybe the customer gets frustrated and chooses to dispute, you as the platform are now out of the original transaction amount + $15 dispute fee

[0] https://docs.stripe.com/api/refunds/create#create_refund-reverse_transfer

#

Destination charges with standard accounts are not the recommended flow and there're probably other edge cases which i can't recall off the top of my head right now

lusty hare
#

ahhh woow yea thats definitely important

#

im trying to find the documentation for that, but I am only directed to charts that explain it

inland mortar
#

which bit?

#

direct charges?

lusty hare
#

ahh thanks

#

So theoretically what is the difference b/w the two

#

would direct charge be the best in majority of situations?

inland mortar
#

The easy to understand simple summary : destination charges - the charge is created on the platform, direct charge - the charge is created on the connected account

#

which charge type you use depends on who you want to be the settlement merchant and the connected account type you're using

#

for standard accounts, the only charge type we recommend for it is Direct Charges

lusty hare
#

ahh that makes sense

inland mortar
lusty hare
#

ok so with this i wont have the cross border issue?

inland mortar
#

yep you won't, go ahead and try it since you have a US connected account already

lusty hare
#

ahh looks like im having issues, dosent seem to be the onbehalf anything anymore tho, Ill try this again tomorrow

#

thanks for your help G

inland mortar
#

happy to help, feel free to reach out again on the main channel since this thread will be closed

lusty hare
#

gotchu!