I've using the Stripe checkout session to create a checkout page for my app using.
All products price default currency is 'USD'. But I want to transfer to multi-currencies depend on the locale browser for customers in the overseas USA.
Example: Product price is 50 'USD'
If I living in Germany so the checkout should be generation all banking in Germany with Stripe supported and the amount should be converted to 42.33 'EUR'
stripeServer.checkout.sessions.create({
customer_email: email,
line_items: [
{
price: 'price_id'
}
],
payment_method_types: mode === STRIPE.PAYMENT_TYPE.SUBSCRIPTION ? ['card'] : ['card', 'alipay'],
mode,
billing_address_collection: 'auto',
locale: location || 'auto',
But now, it just transfers the language depend on location, the price is still just 'USD' instead of 'EUR'
Stripe checkout session images
I've read the docs of Stripe but only support the payouts to get profit billing to your account banking https://stripe.com/docs/payouts
So now if an Indian Customer or Singapore customer wants to payment, I need to create a new price ID with their country currency. Do we have another solution for this?
Thank for your advice and support for me
Stripe doesn't support that kind of automatic currency conversion today, no.
If you want to charge customers in different locations in different currencies, then you have to tell Stripe to charge an amount X in currency Y based on your own specific business logic.
If using Checkout, the idea is you would create a Product and can define various Prices in different currencies , https://stripe.com/docs/billing/prices-guide .
The amount you use for the local currency is something you as the merchant decide when setting this up. So yes, as you describe, you want to create a new Price for their country/currency combo.
More generally I want to point out that you probably don’t want to just do a straight conversion, you want to actually consciously price your product according to local competitors and purchase power like the Big Mac Index. If you Google “price localisation” there’s lots of blogs about this kind of thing. For example $50 is about 3,600INR, but the average monthly salary in India is (taking a random example from Google), 16,000INR. So that "$50" item is a much more expensive proposition to your Indian customer in that country if you just do straight conversions instead of consciously pricing your product.
Stripe has announced they are working on automatic currency conversion API. So, it's better to register your email on the below page, so that they can inform you once the feature is added.
https://stripe.com/docs/payments/checkout/present-local-currencies
Related
I'm using the EasyPost API and I'm having a few blockers along the way. I want to create a Shipment and buy insurance at the same time, but it seems that the API wants you to first purchase the Shipment (the postage), then to buy the insurance, as per this doc: https://www.easypost.com/docs/api/java#shipping-insurance
But the doc of Create Shipment says differently, it takes an insurance amount: https://www.easypost.com/docs/api/java#shipment-object
I came to the conclusion that that the API cannot process them together, even though the Create Shipment says differently, you have to buy the label first and then buy the insurance. But this is counterintuitive for my workflow, I want to use one form to allow the user to set the addresses, the parcel, select if the shipment is insured or not, and buy the label + the insurance in one transaction au lieu of doing two transactions (the postage and the insurance).
Purchasing a shipment is typically a 2 step process:
Create shipment (rates are returned)
Buy shipment (with selected rate)
You can see that insurance amount can be declared when making the buy call. After you have purchased a production shipment, you can confirm that insurance was successfully charged by looking at the objects returned in the "fees" array of the shipment.
We have a web-app (react based).
There are two sides to the app.
Can be thought of as an app where companies give tasks to individual talents, approve the payments and at the end of the month, the company gets a single monthly invoice and we take care of paying the talent in their preferred currency/payment method.
Apart from this service we provide these companies a lot of additional features (and hence charge a 3-5% markup on this transaction).
I'd want to discuss what will be the most optimum method since the margin is already really thin for us.
Example: Company has 5 talents and each talent is supposed to get $20 for this month corresponding to the task that they completed
Hence the total bill (invoice) that the company will get from us is $100 + markup fees of let's say 3% = $103
Our commission is $3 and remaining $100 will be split amongst the talents, who will get $20 each.
What we thought of presently is to use Stripe Connect for individual payouts and use the split payment functionality.
But the problem is to receive payments Stripe charges us an additional 2.9% + 30 cents, which will make this thing non-profitable for us.
Hence wanted to get some expertise because there are already softwares that have solved this and I was wondering how ?
I wonder to find a solution for payment using Stripe. My clients create an event and we split the bill all members who joins the event. Let's say a football game $100 / 10 players, we hold a place until cancellation term is expired, or the game is canceled. What I am looking for solution and if it is possible to make, for the same event, instead of 10 players, 15 joined or 5 only, which means the bill from each varies from $6.60 to $20. I want these players to see that range of the pricing from $6.60 to $20 and book their spot and agree that when event occurs, they will be charged anything between. I remember that was the same solution with Uber at the beginning. Can anyone share any ideas if it is still possible to create this way, maybe they are new legislation and we need to show the total amount. Thank you for any suggestions.
You can use Stripe to save payment info and then charge your customers later:
The Setup Intents API lets you save a customer’s card without an initial payment. This is helpful if you want to onboard customers now, set them up for payments, and charge them in the future—when they’re offline.
You may also be interested in placing a hold on a card and capturing funds later, assuming the time limits work for your use case.
I'm using Stripe Checkout to create a subscription in Stripe Billing. Checkout also auto creates the Stripe customer object.
How can I add right right VAT rate based on where the customer is based? The customer should be able to see the price both including and excluding VAT/GST both in the checkout session itself and on the invoice.
The "create subscription" API call allows you to set the field "default_tax_rates" which sounds like what I need, but the problem is that with Stripe Checkout the subscription (and the customer object) are created automatically by Stripe Checkout so I cannot explicitly pass parameters to these creation calls.
I know how to calculate the VAT rate and I don't want to integrate with another third party vendor just for tax, so I'm not looking for something like Quaderno or Taxamo.
How do people solve this problem? I'm starting to think that maybe I should have integrated with Chargebee instead of Stripe :-(
I'm having that same issue.
Stripe support informed me that Checkout does not support the legacy tax percentage or the new Tax Rates object.
Checkout charges only the exact amount.
On recommendation from stripe I will calculate the tax and charge that as a separate line item.
That way the correct amount is charged and the VAT is clearly visible to the customer.
I'm also creating subscriptions and there I will show the amount incl. VAT. and post fix the plan name with 'incl. VAT' to make it clear to the customer.
After the checkout flow completes I will try to add the Tax Rate to the invoice and subscription as 'Inclusive' using the API. I'm not sure that will work as I think, but we will see.
Check this out https://stripe.com/docs/payments/checkout/taxes
Seems like you're right about the Stripe checkout. Can't be added there.
Adding VAT as Inclusive won't help you, because Inclusive means it's already calculated into the price. Although this can be used to add the VAT to the price (in most cases it's 20%) and set the VAT as Inclusive. But this hack won't work for everybody, though.
I found this to be helpful and it works with Checkout.
https://dominik.sumer.dev/blog/stripe-checkout-eu-vat
You collect the Country and VAT number before creating the customer and checkout, and you add dynamic tax rates prepared via the API in advance.
In the docs, when building the MaskedWalletRequest they say:
At this point, you won't have the user's chosen shipping address, so
you'll need to create an estimate of the shipping costs and tax. If
you set the shopping cart as shown below (highly recommended), make
sure the cart total matches the sum of the line items added to the
cart.
link
Later when I create my FullWalletRequest I have to pass in a Cart*. So why would I want to add a Cart to my MaskedWalletRequest? Why is it "highly recommended"?
*If I don't pass in a Cart I'll get WalletConstants.ERROR_CODE_INVALID_PARAMETERS
As Android Pay documentation states, Google highly recommends setting the shopping cart in the Masked Wallet request. Having additional line item information at this point of the transaction greatly increases Google's fraud detection capabilities, and also lets you provide more detailed purchase information to your users.
At this point, you won't have the user's chosen shipping address from Android Pay, so you must create an estimate of the shipping costs and tax.