#bennett_best-practices
1 messages ¡ Page 1 of 1 (latest)
đ 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/1222999397378428970
đ Have more to share? Add more details, code, screenshots, videos, etc. below.
const paymentLink = await stripe.paymentLinks.create(
{
line_items: cart,
application_fee_amount: platformCharge,
shipping_address_collection: collectShipping ? {
allowed_countries: ["US", "CA"],
} : undefined,
phone_number_collection: {
enabled: true,
},
automatic_tax: { enabled: true },
metadata
},
{
stripeAccount: accountId,
}
);
This is my current payment link creation, but I am thinking I will need to move the products to the platform account and then somehow send any leftover funds to the Custom Connect Account after a sale is completed.
Essentially, there is a supplier cost, a platform cost, and a organization cost per item. The item gets sold, we forward the supplier cost to the supplier, and pocket the difference. Usually the platform cost and organization cost will be the same. If an organization wants to fundraise through a sale of an item, they would increase their prices. The organization would the receieve the difference between org cost and platform cost. For tax purposes, the platform is responsible for sales tax and not the organization.
I would prefer to use Stripe payment links, but I may be going about this incorrectly. Stripe wants the organization to have sales tax registrations in all states. There are data scope limitations otherwise.
You can't using that pattern. What you're currently using is for "direct charges" which are not recommended for custom accounts. The products, payment, settlement etc all reside on the connected account. This is only recommended with Standard accounts.
https://docs.stripe.com/connect/charges#types
It sounds like you should instead be using destination charges (if you know the amount to send to the connected account up front) or separate charge & transfer (if you don't know until later)
And yes all the products and payment links and payments and tax registration happens at the platform level in that case
Do you know the amount to transfer up front?
Either as an amount for you to take as a fee, or the amount to end up with the connected account?
When a user creates a cart, we know the total, and we know how much we need to take from the total for the platform. Total - how much we take = amount goes to organization (if there is any left over)
It could be possible the organization does not increase the prices and therefore does not receive any extra amount.
Gotcha, so take a look at the flows here then:
Amount to keep: https://docs.stripe.com/connect/destination-charges#application-fee
vs Amount to send: https://docs.stripe.com/connect/destination-charges#flow-of-funds-amount
And then set the analogous params when creating your payment links:
Platform fee: https://docs.stripe.com/api/payment_links/payment_links/create#create_payment_link-application_fee_amount
or amount to send: https://docs.stripe.com/api/payment_links/payment_links/create#create_payment_link-transfer_data-amount
You're awesome thank you
In this case I ended up using transfer_data[amount], since using an application_fee cannot account for taxes