#naveed-web3auth_docs

1 messages ¡ Page 1 of 1 (latest)

empty beaconBOT
#

👋 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/1311587406914519101

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

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.

craggy dagger
#

What happens to the HKD in the platform account? How to handle it if we only support SGD or USD?

#

And if covering stripe fees by platform is not important which kind of integration is most optimal in terms of currency exchange rates.

empty beaconBOT
craggy dagger
#

Are there cross-border fees also being incurred?

drifting sage
#
  • Direct Charges creates the payments directly on the connected account and allows the connected account to manage the payments on their own such as refund and dispute.
  • Destinations Charges with on_behalf_of collects the payments on the platform and transfer the funds to the connected account later with connected account as the merchant of records. However, connected account will not be able to manage the payments.
craggy dagger
#

destination charges without on_behalf_of works like that

#

however with on_behalf_of there are not transfers that take place

drifting sage
#

however with on_behalf_of there are not transfers that take place
Transfer should take place with on_behalf_of on Destination Charges. Could you share the Payment Intent (pi_xxx) that you see otherwise?

craggy dagger
#

ok let me take a look

#

ok lets see

  • using destination charges with on_behalf_of py_1QPzURG0yqe8136a5uxqyDqp
#
  • using direct charges pi_3QQ1ZRG0yqe8136a10g1nabX
#

hmm yeah i see some differences

drifting sage
craggy dagger
#

Ok hold on so what this means is

#

Its charging the platform in the connected accounts settlement currency (HKD)

#

and then transferring the remainder to the connected account?

drifting sage
#

I'd recommend checking how the fund flow for Destination Charges work here: https://docs.stripe.com/connect/charges#destination

Its charging the platform in the connected accounts settlement currency (HKD)
and then transferring the remainder to the connected account?
Yup! The amount after deducting application_fee_amount will be transferred to the connected account from platform

Create a charge and split payments between your platform and your sellers or service providers.

craggy dagger
#

would you say direct charges would be more optimal then

#

this seems to require quite a bit of back and forth

drifting sage
#

What type of connected account do you use? Standard, Express, Custom or using controller config?

craggy dagger
#

thats open to change, it depends on which is most optimal and results in the lowest costs

#

Ideally was hoping to quote a customer a certain percentage e.g. x% that covers everything (including stripe fees)

drifting sage
#

Are you going to let the connected accounts to manage the payments such as refund and dispute on their own?

craggy dagger
#

but our business model is similar to shopify for which docs recommended direct charges

craggy dagger
#

i meant direct not destination

#

the docs recommended direct

#

but that doesnt allow for covering stripe fees on behalf of customer

#

To confirm that I understand the flow correctly for destination charges + on_behalf_of

  1. Customer pays in EUR, charge goes to platform and converts fro EUR to HKD (since HKD is the connected account's settlement currency)
  2. Stripe fees deducted from that and transferred to connected acc
  3. Connected acc transfers the application fee from this amount back to us (no extra charges incurred on this)
#

Are there cross-border charges incurred here?

#

Also, since we are SGD USD based what can we do with this HKD in our acc?

#

For direct charges the HKD is auto-converted to default settlement currency of platform (in our case SGD)

drifting sage
#

If you wish to let the connected account to manage the payments by their own, then Direct Charges should be used.

Destination Charges is commonly used when the platform manages the payments for the connected account.

Instead of using the default account type such as Standard, Express or Custom, you can use controller properties in the connected account creation that allows more configurations on who to pay for the Stripe fee: https://docs.stripe.com/connect/migrate-to-controller-properties#account-controller-properties

More specifically, controller.fees.payer property: https://docs.stripe.com/api/accounts/create#create_account-controller-fees-payer

You can then use Direct Charges after that

Learn how to work with account controller properties instead of specifying account types.

craggy dagger
#

let me try setting that field and trying direct charges to see if it works

#

not sure if ill be able to update an existing account

#

maybe ill have to create a new one

drifting sage
#

You won't be able to update to the existing connected account to use controller properties. This can only be done with new account creation

craggy dagger
#

Ok first error message when creating like so

stripe accounts create --country="HK" --default-currency="hkd" -d "controller[fees][payer]=application" -d "controller[losses][payments]=stripe" -d "controller[stripe_dashboard][type]=full" -d "controller[requirement_collection]=stripe" 
{
  "error": {
    "message": "`fees[payer]=application` is not supported when creating an account with the full dashboard.",
    "request_log_url": "https://dashboard.stripe.com/test/logs/req_J56LMYMrk9VXwj?t=1732780152",
    "type": "invalid_request_error"
  }
}
#

After updating that the next error

{
  "error": {
    "message": "With a dashboard type of `express`, the Connect application must control losses.",
    "request_log_url": "https://dashboard.stripe.com/test/logs/req_tttbAKbSGnK2Ob?t=1732780208",
    "type": "invalid_request_error"
  }
}
#

Seems like my platform has to connect losses

craggy dagger
#

Ok

drifting sage
#

Forcontroller[fees][payer]=application and controller[stripe_dashboard][type]=full, this requires access approval. As per checking, indeed that controller properties don't allow full Dashboard with platform collecting the Stripe fee by default.

With your business requirements that:

  1. Connected account manages the payments
  2. Platform covers the Stripe fee

One way I can think of without additional approval is to create a Standard connected account with Direct Charges. You can then set the application_fee_amount to a certain percentage e.g. x% that covers everything (including Stripe fees).

craggy dagger
#

Ok so I have tried your suggestion, but conceded to the express dashboard requirement and created an account without a type that has controller properties set with payer as my platform and am now trying a direct charge on it

#

this is the charge in question ch_3QQ2Z6Id8No1GnTU2DE4tKPT

#

interestingly now i cannot trace where the stripe fees have been taken

#

is this a bug?