I want to develop 2 subscription plans for a client. Plan A they will pay CAD $5/month. Plan B they will pay USD $10 / month. Because this is a special client so we have to design a new plan they will pay in CAD. How do I design in Stripe? since when I use API stripe.subscriptions.create, it shows this issue when they want to switch between plans
Error: The specified price uses `usd` which doesn't match the expected currency of `cad`. Use `cad` instead.
Customers are single currency, meaning that you can only have subscriptions (and invoices, balances etc) in one currency. Once the default currency for the customer is set, it cannot be changed. If you need Subscriptions in two currencies, you will need to manage two Stripe Customers for your real-world customer.
This does not restrict your ability to create one-time payments for that Customer (such as with the Payment Intents API) in any supported currency.
Related
I am integrating my service with Stripe for subscription payment processing.
I want the service to be available in different countries. Therefore I would like to offer my subscription in different currencies in different countries.
For example, say my subscription costs 10 USD / month for American users.
What is the best practice with Stripe when it comes to offering the same product in different currencies depending on the user's location? (for example 12 EUR for Germans, 15 GBP for UK etc.).
One thing that comes to my mind is to have a single Stripe product, with multiple prices defined in different currencies, use some 3rd party IP location service to find out where the request comes from and display different pricing options depending on the user location. So I would have the price_ids mapped to countries on the server side, determine the location on the client side and pass it on to the server when fetching available products.
Is this the best practice or is it normally done differently?
Has this been solved?
I'm using Stripe Checkout (checkout system made by Stripe), which picks up prices for my products and CONVERTS them to user's local currency.
The problem, though, is that €99 gets converted to ~$118.02, but I'd like to specify the price for USD myself (would be $119). Can we do that?
Pretty sure you're right, it should also just convert the currencies through Stripe itself
Once you have created a Product, you can specify the currency when creating Prices. The amount will be converted to your default currency if you don't have a bank account in the specified currency.
I am creating a Stripe Connect marketplace which charges a fixed fee based on value of sales, e.g. up to £2500 of revenue (for a connected account in a calendar month) will incur a flat fee of £200 per month to the platform.
I have read the Stripe documentation but still quite unclear how I can achieve this using a Standard Connect account. I understand the concept behind adding a flat fee per transaction but my use case is based around the amount of revenue over a time period.
Any help is always appreciated.
it sounds like you want to keep track of the payments processed by your connected accounts in order to figure out what to charge them.
The best way to do this is probably to set up a Connect webhook and listen for events like charge.succeeded and keep a running total each month for each account.
You have a number of options for charging your accounts, but using Billing to create a subscription that you update as their revenue grows is probably the best experience. You could also use metered billing with pricing tiers based on the payments you track.
If you need to calculate historic revenue, you'd need to manually retrieve the payments and calculate the total for the month(s) you're interested in.
NOTE: For both the webhook events and the retrieval approaches you'd need to be aware of several different objects other than Charges that may affect revenue up or down, like PaymentIntents, Refunds, Disputes etc depending on the details of the connect account's integration.
Hope that helps!
I have implemented a marketplace with a cart, where users can add multiple services and can process payments in their local currency.
Currently each service is linked with a seller on stripe so when a user pays for the service a part of payment goes to the linked seller.
We have taken the following approach as we can have multiple sellers in one payment
Stripe separate charges and transfer
I am facing issue if the user's currency (USD) is not matching with the Platform Currency (EUR) the payment is processed but when we try to process transfer to the seller after the full payment its failing as Currency are not matching.
User makes a charge in USD (local currency) which is successful and stripe then internally process it to EUR as our base currency is EUR. After this we initiate a transfer in USD to the appropriate seller, which fails due to currency issue.
Possible solutions i have tried:
1) I have converted amount from the USD to EUR before making a transfer which succeeds but the exchange rate is not matching with the stripe exchange rate. As stripe also does an internal currency conversion after a full payment, so total after all payment and transfer doesn't match.
Stripe's API error message when you attempt this is pretty straightforward:
The currency of source_transaction's balance transaction must be the same as the transfer currency.
I'd recommend contacting Stripe's Support Team if you have additional questions about currencies and transfers, as they have full information about what may be possible.
Thanks all i have already contacted stripe support team. One possible solution which i came across is to maintain multiple currency balance which i am now looking to implement.
I would like to use Stripe for a physical subscription site.
Small number of SKUs
Some customers pick up instead of ship
Customers whose addresses are in one state are charged state and local sales tax
I'd like to use Stripe Subscriptions to do this but shipping costs and state/local taxes will be slightly different for every single customer and but unlike in the Stripe Orders API, it does not look like Subscriptions allows for me to dynamically calculate shipping and taxes. Is my reading of this correct, or is there a way for me to programatically edit recurring shipping and taxes on a per-subscription basis?
Thank you!
Answer via #mattwc in #stripe freenode: An invoice is created by the subscription each period 1 hour before it is charged. You can subscribe to this event via webhook and edit the invoice to add shipping and tax information.
According to the documentation Google Wallet seems to only support monthly recurring subscriptions.
I'd to charge users annually for the use of an application hosted on AppEngine (purely to be able to offer the user a better price and reduce administrative costs). Are there any plans to support annually recurring subscriptions?
Or is there a way to configure the current subscription system to behave as an annual subscription system?
Technically there's no way to configure an annual subscription. But I suppose you can work around it: Request an initial payment for the entire first year and then a monthly-recurring payment at a discount.
For example, suppose you offer a monthly plan that costs $100. And you want to offer an annual plan for $900 (25% discount). Instead, you may offer an initial payment of $900 followed by 36 monthly-recurring payments of $75.
What this means for your business is that once a user has paid for and used your service for an entire year then you start treating her as a "loyal customer" and let her keep paying the discount price without committing for another year.
Wallet for Digital Goods currently only supports a monthly frequency for subscriptions.
https://developers.google.com/commerce/wallet/digital/docs/jsreference#jwt
there is no official solution for an annual subscription, but you could implement a solution similar to what #oferei or #EdSF suggested in their posts.