#shabutoucan
1 messages ยท Page 1 of 1 (latest)
hello, no direct integration to shipping providers no
How do other Stripe users accomodate for this use case? Are there third party connectors?
Or is it possible to build custom API connections to the Checkout Session?
my understanding is they charge for the raw shipping amount on Checkout andtheir own API integrations with the shipping carriers to calculate the amount
What do you mean by "the raw shipping amount"?
I meant you find out the rough shipping rates for the carrier you have and the rough location, then create a shipping rate for that raw amount to cover shipping. So you'll need to do the pre-calcs for that
So it would still use flat rates based on some assumptions we make?
yeah, like described here: https://stripe.com/docs/payments/checkout/shipping#create-checkout-session-with-options
So a process like this wouldn't work?
Set up the integration: Set up the integration between Stripe Checkout and the UPS API. To do this, you'll need to create an account with UPS and obtain the necessary credentials and API keys.
Create a Shipping Profile: Create a Shipping Profile in the Stripe Dashboard that contains the available shipping options and the associated rates. You can use the Stripe API to retrieve the shipping rates based on the destination address and the weight and dimensions of the items in the order from the UPS API.
Create a Checkout Session: Create a Checkout Session in Stripe when a customer places an order. The Checkout Session will contain information such as the customer's shipping and billing addresses, the items purchased, and the total amount of the purchase.
Calculate Shipping Rates: During checkout, you can use the Shipping features in Stripe Checkout to retrieve the available shipping options and their associated rates dynamically from the UPS API based on the destination address and the weight and dimensions of the items in the order. Stripe Checkout will use the information in the Shipping Profile and the UPS API to retrieve the rates and display them to the customer.
Collect Payment and Update Fulfillment: Once the customer has completed the Checkout process, Stripe will collect the payment and pay the vendor through Stripe Connect. You can then use the Stripe API to update the order fulfillment status and provide customers with tracking information.
there's no integration b/w Checkout and UPS's API so that approach won't work
like it doesn't exist and Checkout is Stripe's hosted page and you can't really "integrate" that part either
Okay, so there is no way to have dynamic shipping rates. Is there a way to show only some shipping rates based on what is being purchased? For instance, if a customer buys one item in this region, then show this rate. If a customer buys 3 items in a different region, then show this other rate.
Is there any other solution like using an order management like Salesforce to integrate with Stripe?
checking
Thanks
While you're checking that, I have another question. Is it possible to build our own checkout page rather than using the Stripe hosted one so that we have more control over integrations?
Hello ๐
Stepping in here
Okay, so there is no way to have dynamic shipping rates. Is there a way to show only some shipping rates based on what is being purchased? For instance, if a customer buys one item in this region, then show this rate. If a customer buys 3 items in a different region, then show this other rate.
This isn't something that API can currently support unfortunately.
Is there any other solution like using an order management like Salesforce to integrate with Stripe?
There may be third-party integrations that would help you with that but our team on discord won't know anything about that
Is it possible to build our own checkout page rather than using the Stripe hosted one so that we have more control over integrations?
Yup definitely possible.
You can use Stripe Elements for that and build your own checkout page
https://stripe.com/docs/payments/elements
If we build our own checkout page using Stripe Elements, could we then pass the shipping rate that we get by directly integrating with our shipping provider API's to Stripe via API?
Assuming you build your own Checkout Page with Elements, you would be using PaymentIntents API with that.
You can't exactly pass a shipping rate to the API unfortunately, but you can calculate the amount and add that to the product amount
https://stripe.com/docs/api/payment_intents/create#create_payment_intent-amount
also you can pass in certain information for shipping
https://stripe.com/docs/api/payment_intents/create#create_payment_intent-shipping
With PaymentIntents API, you'd do all the calculations
If we pass the shipping rate as part of the total amount, then the invoice wouldn't show a separate line item for shipping in Stripe
That's correct. If you're generating invoices first, then don't really interact with the PaymentIntent directly.
The invoice object does have shipping_cost parameter you can use to set the. cost of shipping
https://stripe.com/docs/api/invoices/create#create_invoice-shipping_cost
You mentioned before that we couldn't pass a shipping rate to the API for PaymentIntents. Could we send the shipping rate to the Invoice API?
The reason we need invoices is to send a payment success email to our customers that includes total amount and shipping tracking information.
Yes you can send shipping rate to the invoice API using shipping_cost.shipping_rate parameter
https://stripe.com/docs/api/invoices/create#create_invoice-shipping_cost-shipping_rate
However, the API would expect a Stripe object ID for Shipping Rate
https://stripe.com/docs/api/shipping_rates/object
I don't think we support integration with third-party shipping providers
Is it possible to create a custom field that we can send?
Or we have to use the native shipping rate parameter that expects a Stripe object id?
Invoices do support adding your own custom fields, yes
https://stripe.com/docs/invoicing/customize#custom-fields
Okay, so we could (1) create our own checkout page and directly integrate our site with 3rd party shippers to calculate the shipping cost, (2) calculate the total of the order with shipping and send that amount to Stripe's Payment Intent API with payment information from customer, (3) send the Stripe Invoice API a custom field parameter with the shipping amount tracking # from the third party shipper?
1/ Correct
2/ Yup, that's one option. The other option would be to create an invoice directly (the invoice will automatically generate a PaymentIntent underneath).
3/ When you create an invoice you can either set a pre-created shipping rate object as shipping_rate
https://stripe.com/docs/api/invoices/create#create_invoice-shipping_cost-shipping_rate
OR you can create an ad-hoc shipping rate for the invoice by using shipping_rate_data parameter where you can set the name, type, delivery estimate, fixed_amount etc after you get the information from your 3rd party shipper
https://stripe.com/docs/api/invoices/create#create_invoice-shipping_cost-shipping_rate_data
I see, so your first option under #3 assumes a fixed rate for shipping. The second option for #3 would insert a new shipping rate each time an order is placed with the UPS rate we get via our custom integration.
It's ashame you are discontinuining the work on your Order API. Would make this all much simpler ๐
Yup, definitely understand the friction here ๐
Is my understanding of the two #3 options correct
Yup its correct.
Thank you
Do you know if there are any documents about how Stripe proposes existing users of their Order API fill this gap now that it's being depricated?
Or is that up to each user to figure it out?
Yeah unfortunately, don't think we have any docs as such as integrations are unique in their own way so it would really depend on how folks are using our APIs
okay, sounds good.
Last question here - the above will work with Stripe Connect correct?
Yup should work just fine
I assume Stripe Connect uses the same Stripe functionality and then is just the distribution of funds.
Yup
Here's the doc that goes over Invoicing and Connect
https://stripe.com/docs/invoicing/connect
These invoices will still work with the approach we discussed above where the invoice is created and underneath payment intent?
Yup
So destination charges would allow us to send say 80% of the sales to vendors and keep 20% as a platofrm fee?
Am I understanding destination charges correctly? Versus direct charges would send 100% of sales to vendors
You could still charge an application fee if you use direct charges
The difference between the two is how the funds flow.
Destination charges settle on the Platform account
Direct charges settle on the connected account
Destination Charges
https://stripe.com/docs/connect/destination-charges#flow-of-funds-app-fee
Direct Charges
https://stripe.com/docs/connect/direct-charges#flow-of-funds-with-fees
I see, so any Stripe fees would be charged to platform vs. connected account. and that is where the revenue is technically hitting.
Exactly, settlement merchant is responsible for stripe fees
I see - we would be using direct charges then.
๐ We recommend using Direct Charges with Standard Accounts only.
If you're planning to use express/custom accounts then you should use Destination Charges
We have this article explaining why that is
https://support.stripe.com/questions/can-i-use-direct-charges-with-an-express-or-custom-connect-account
Let's dive into that (haha clearly a newbie here). Can you define 'standard accounts'?
Would recommend reading through this doc as it covers the account types in detail ๐
https://stripe.com/docs/connect/accounts
Thank you for being so helpful, truly a life saver!
NP! ๐ Happy to help
I have an additional follow-up. If we are able to find a way to standardize our shipping rates so that we don't need dynamic real-time rates, can we set different rates based on quantity being purchased?
and based on general regions?
For instance, if a customer buys one item in this region, then show this rate. If a customer buys 3 items in a different region, then show this other rate.
You can, but you would need to know the quantity before presenting the customer with the payment form
Okay, what attribute would store that in the shipping rates object?
There isn't a quantity on the shipping rate, you would put the quantity on the Price object that you use in your payment flow, then reference it when creating a new shipping rate
How are Price and Shipping Rates related?
I don't see an attribute for price or product on shipping rate: https://stripe.com/docs/api/shipping_rates/object
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
There isn't one. Basically, there are a number of different places you can declare a quantity of an item (this will depend on your integration), but if you want to build out a workflow where the quantity affects the shipping rate, then you have to track that on your end and only create the shipping rate once you know the quantity (that way you can create the shipping rate based on the quantity)
Is there documentation you could point me to that describes this more thoroughly?
Not really. This isn't a very common question, so I don't think it's documented. This is a custom solution based off what I've read in this thread already
Yeah, that's why I'm trying to find a simpler way to use shipping rates if we did have a fixed rate rather than dynamic.
I think a fixed rate is always going to be simpler than a dynamic rate. Let me know if you have additional questions about that
Okay, thanks.
Regarding viewing what orders have been placed, can we export Invoices?
Can invoices include all the information about the order, including shipping address & product information (type, quantity)?
Are you looking for an API solution? Or a Dashboard solution?
I would recommend reaching out to support about that. We don't have a lot of context on dashboard reports (though what you're looking for is likely possible): https://support.stripe.com/contact
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
If we pull via API, is this possible?
Great
On another note - is it possible to send notifications from Stripe about shipping updates, say when a tracking # we included on an invoice has been shipped?
Unfortunately not, no.
Okay, thanks
going back to the other topic about fixed shipping rates. You mentioned this could be based on quantity depending how we set up our workflow. How about location of shipping (e.g. region 1 vs. region 2 might cost different rates)?
Again, that's something you would have to custom code on your end
Not that I've seen. I think generally most users integrate a 3rd party to handle a lot of the specifics about shipping, or they have resources to throw at building their own proprietary system (or they get lucky and their CRM does it for them).
The last guy I talked to said we can't integrate a third party to handle shipping because the Stripe API doesn't support it. Is that correct?
Do you have a link to that thread? You can integrate with as many 3rd parties as you want. You could have 5 different connectors that handle shipping if you wanted to (though I wouldn't recommend it)
It's this start of this thread
Is there a list of connectors for Stripe I can reference?
I think this is the part you're referring to, yes?
hello, no direct integration to shipping providers no
That means there are no Stripe-provided solutions/connectors for shipping, though I'm sure we have a number of partners that do just that: https://stripe.com/partners/directory?q=shipping
Thank you
I'll explore this link
Do you know if Stripe Connect works with Wordpress
I'm sure it does, but I wouldn't have context on the specifics
If we use a third party like ShipStation, can we pull our invoices data directly from STripe and push it to their API?
๐ stepping in for my teammate
Potentially, though I recommend checking in with the third party, as it would be up to them to build the functionality that retrieves invoice data from Stripe
Okay, got it. But Stripe has an open API that could be pinged?
Yes, it's possible to retrieve invoice data using Stripe's APIs: https://stripe.com/docs/api