Avoiding dual conversion of currency in Stripe - stripe-payments

We are using Stripe to charge our customers with monthly subscriptions. We are based in the UK and we have a GBP bank. We publish prices in USD so our plans in Stripe have dollar amounts.
When charging a British customer, how do I avoid going from the GBP of the customer credit card to the USD of my price to the GBP of my bank account? I'd rathe do GBP -> GBP with no conversion.
More or less the same would apply for other currencies, I'd rather do EUR -> GBP than EUR -> USD -> GBP.

From Fred from Stripe support:
Conversion between currencies only happens once when funds are
transferred to your Stripe account. If your account is in GBP, and
your customer is in GBP, you won't be charged the 2% conversion fee.
When you charge in USD, and have a GBP bank account, Stripe does a
quick exchange rate calculation to convert the USD amount into the
equivalent GBP amount. Conversion fees are only charged when your
customer's currency doesn't match your bank's currency.
More documentation on this here:
https://support.stripe.com/questions/which-currencies-does-stripe-support
So, what I want happens automatically.

You'd need to have different plans set in GBP, and subscribe your UK customers to one of those plans rather than one of the USD plans.
One possible way to do this would be something like this:
Collect the customer's card information using Stripe.js or Checkout.
On your backend, retrieve the full token object using the token ID, and check the card's issuing country via the card.country attribute.
Depending on the country ("GB" or not), display the correct amount and currency to your customer (in GBP or USD).
Once the customer has confirmed, create a customer object with the token and subscribe them to the correct plan.

Related

How to charge less than 0.5 USD using Stripe

I'm using Stripe for my Laravel based project. Stripe allows only 0.5 USD as the minimum value when charge or checkout. But I want to charge 0.2 USD in one-time payment in my project. I know stripe allowed only 0.5 USD as the default minimum value for payments. So I want to know is there any way or any method to charge less amount than 0.5 USD using Stripe. If anyone knows, please help me...
The minimum charge amount for USD is 0.5. If your bank account support foreign currencies for settlement, you can charge an amount with a different currency that's equivalent to < 0.5 USD.
You can view the minimum amount for each settlement currency in this table. https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts

Two strings are not exact in Excel until F2-Enter

I have two strings below.
|-
"For PayPal payments, %{service_name} charges a commission of %{paypal_commission}%. PayPal's fees are not included in this commission, so in addition to %{service_name} commission, you also need to pay PayPal's fees from each payment processed by PayPal. PayPal's fee is between 2% and 5% of the total sales price, depending on your monthly sales volume and the country of residence of the buyer. In general, domestic purchases have lower fees than international ones, and higher monthly sales give you a discount on fees.
You can see the exact fees by logging in to your PayPal account and going %{link_to_paypal}. After each purchase you will get a receipt displaying the exact fee."
|-
"For PayPal payments, %{service_name} charges a commission of %{paypal_commission}%. PayPal's fees are not included in this commission, so in addition to %{service_name} commission, you also need to pay PayPal's fees from each payment processed by PayPal. PayPal's fee is between 2% and 5% of the total sales price, depending on your monthly sales volume and the country of residence of the buyer. In general, domestic purchases have lower fees than international ones, and higher monthly sales give you a discount on fees.
You can see the exact fees by logging in to your PayPal account and going %{link_to_paypal}. After each purchase you will get a receipt displaying the exact fee."
Using Exact() function in Excel shows that the 2 strings are not the same.
However if I click F2-Enter on the first string, then the Exact() function returns TRUE.
If I undo and click F2-Enter on the second string, the Exact() function remains FALSE.
If I F2 and copy the content of the cells to two other cells, the Exact() function evaluates to TRUE.
The first string is generated using VBA pulling data from a .yml text file (ADODB command). The second string is generated using Power Query pulling from a .csv file
I need these strings to be the same without any intervention. First, I need to check why are the content different?

Stripe negative invoice amount

I am using stripe for subscribing customers to a monthly plan. Halfway through the customer may decrease the plan quantity. So, in the upcoming invoice will sometimes be negative.
Does invoice line with negative amount means the customer will be refunded those amount into their card?
Thanks
Yes, negative invoice amounts act as credits to the customer which are offset against the customers balance for subsequent invoices
https://support.stripe.com/questions/handling-subscription-changes
https://stripe.com/docs/subscriptions/guide#upgrading-or-downgrading-plans

Stripe Currency - Are all amounts in cents / 100ths, or does it depend on currency?

I am currently writing the code to migrate to Stripe from a different payment processor.
I know that when the currency is USD, stripe uses cents. So stripe(1000 USD) == $10.00. Same for Euros I assume stripe(1000 EUR) == € 10.00.
But what about JPY? 100 JPY is roughly $1. So do I send Stripe 10000 JPY to get 100 Yen ~= $1. Do I send Stripe 100 JPY to get 100 Yen ~= $1?
Is there a special divisor? Is everything denominated in 100/ths for any currency? I can't find an answer in the documentation, and I don't want to charge Japanese people $0.1 or $1000 for a $10 USD service.
How is AED denominated. They use 1/10ths as the smallest unit / coinage. Should I multiply by 10?
All amounts are in the "smallest common currency unit". While in most places this would be cents, in Japan there is no decimal for their currency so amount=1 (1 JPY), since ¥1 is the smallest currency unit.
Additional info can be found at this doc.

How to plan Currency Symbol in Stripe?

How to change plan Currency in Stripe Account,Am Create plan using Currency USD But now want to change GBP Currency in plan edit details in stripe account cant find to edit currency option having to edit name and description only.
You can't do this, you'll need to create a new plan.
There's only a few options you can change on a plan. See here - https://stripe.com/docs/api#update_plan
Think about this -
A customer signs up to your plan at $10 / month.
You now change this to £10 / month. This is 1.4(aprox) the value (current exchange rate) The customers who signed up to the plan when it was in USD would now be out of pocket

Resources