I'm trying to integrate Braintree into my website to accept payments and I have a couple of questions regarding the multi-currency support.
First let me say that I have created an account that accepts EUR, since I live in the EU.
Now, let's say that an american guy wants to buy something on my webapp. He obviously has a credit card tied to a USD bank account. Reading the doc I found that in Braintree I cannot specify the currency, hence my amount, in this case 10, is 10 EUR
gateway.transaction.sale({
amount: 10,
paymentMethodNonce: nonceFromTheClient,
options: {
submitForSettlement: true
}
})
Which means that on my website I'll have to display
Would you like to buy this item for 11.16 USD?
where 11.16 is the current conversion rate (at the time of writing).
Is this the right way to do this?? I am skeptical for 2 reasons:
Say I use an online real-time converter >> if the user refreshes the page he may find a different amount (BAD UX)
Say I set a fixed conversion rate, e.g. 1 EUR == 1.1 USD >> the user will find a different amount charged on his card wrt to the one displayed in the website. This is because I actually charge 10 EUR not 11 USD as advertise (BAD UX)
Can you please help me understand the correct way to handle this??
Every time I bought something from a foreign website I got the conversion displayed in EUR and I've been charged with the exact amount, but here on Braintree I don't understand how to do it.
Thanks in advance
Full disclosure, I work at Braintree. If you have any further questions, I recommend reaching out to our awesome Support Team.
You specify the currency of a transaction by passing the merchantAccountId. This prevents you from having to do a ton of conversion for every transaction.
Here's a modified version of the example from Braintree's developer docs:
gateway.transaction.sale({
amount: "10.00",
merchantAccountId: "your_merchant_account",
paymentMethodNonce: nonce_from_the_client,
options: {
submitForSettlement: true
}
})
If you haven't already and you have a production account, you should reach out to Braintree's team to request the currencies you need to process. If you're just testing in sandbox, you can create test merchant accounts by following these steps.
Related
I've got a business.
We use a paypal account to collect cash from our customers.
We currently use the braintree SDK to actually get the user's payment authorization. We use a barely-changed implementation of these instructions
We are currently pricing and settling in Canadian dollars, as we're a Canadian company and we didn't really think we'd get this big.
We'd like to expand to using USD price and settle, since most of our customers and suppliers are in USD and we'd like to avoid the currency conversion. I had been hoping this would be easy: Our code currently creates a Braintree::Transaction::Sale() with merchantAccountId: 'CAD', and I was hoping I could just switch to merchantAccountId: 'USD'. However, this gets me a 2091 decline: "Currency of this transaction must match currency of your PayPal account".
How can we make our PayPal account's currency USD? I have tried (in the sandbox) to switch to it having USD as primary, but no luck.
I have confirmed that USD is selected as a currency in my "Express Checkout via Braintree SDK" settings here.
In the labyrinth of documentation sprayed around PayPal and Braintree's sites, I haven't been able to figure out how exactly to solve this problem that doesn't involve creating entirely new PayPal and/or Braintree accounts. I'm not even certain creating entirely new accounts would solve my issue, because I don't remember setting CAD as any kind of permanent setting while setting up our original PayPal account.
Our solution: We switched to use Stripe. It was an easier signup and far better docs. We missed the desire to keep our old PayPal account, but it's not the end of the world.
I m planning to integrate micropayment in my ASP.NET website. I need to use PayPal to achieve this.
The cost of the service I deliver is low, about $1 per month. I'd like to know more about PayPal service for this kind of cheap transactions.
How much does PayPal hold for each $1 payment ? I found this explaining the PayPal conditions for micropayment. Any feedback on this ?
Plus, how does PayPal handle currency conversion ? My service is worldwide, so I want my users to be able to buy my product not only using dollars, but euros or another currency.
Thanks
In the link you quoted the fees section is expandable and you can see the Micropayments pricing:
5% + $0.05
Signing up for it doesn't require any vetting or contract changes. Contact Customer Service and they file a request to a team that enables Micropayments. Should be done within a few days.
Currency conversion and cross-border transacitons are also in this page:
International Sales: The pricing table above applies to domestic payments in US dollars. There's an additional 2.5% charge for any currency conversion and a 1% charge to receive payments from another country.
If you decide to charge your buyers in USD only, they will be able to choose if they wish he card issuer or PayPal to convert the money. Most won't even notice the conversion took place and it will make your reconciliation much easier.
I'm having a real headache with these damn Adaptive Payments for PayPal! So far, I've got it working - but now I'm trying to resolve some issues with it.
Why on earth don't they just let you request a payment in the sellers currency? I'm acting as a 3rd party system for people- so they list on my site, and then the buyer purchases from our site - but the money gets sent direct to them (via our account, with Adaptive payments - so we can do IPN requests). The problem here, is that not everyone will use the same currency.
To get around this, I've been using the ConvertCurrency feature ( https://developer.paypal.com/docs/classic/api/adaptive-payments/ConvertCurrency_API_Operation/ ). This works OK - as I can then give the prices to the buyer in their desired currency.
However, when I then send to paypal to make the payment - it requires multiple payments (at once) to be done in just 1 currency. So for example, I have:
Seller 1- $50 US
Seller 2- 10 EUR
I convert those into GBP, which gives me say £30 and £8 - so a total of £38. This payment goes through, but the problem arises when the IPN gets run. If the person receiving the funds hasn't already setup the account to accept in that currency, the get a message about "accepting" the funds, as seen here:
https://www.paypal.com/uk/cgi-bin/webscr?cmd=p/sell/mc/mc_receive-outside
Until they have decided on what to do there, I can't do squat with the payment - as it comes back with the status:
'transaction[0].pending_reason' => 'MULTI_CURRENCY',
I know for a fact the buyers are not going to like having to wait for a confirmation of their order. Why can't I just get it to accept in that currency, and convert automatically into their primary currency?
The other bad thing about this, is that I doubt the seller is going to be the amount they expect. PayPal are going to take their commission when doing the conversion 1 way, and then again when the person receiving it goes to convert it into their own currency.
How does eBay, etsy and other large sites that offer multiple purchases handle this? Its driving me up the wall!
Ok, well its not really a "solution", but its the route I'm going to have to go down - as I can't see any other option.
Now, I'm storing the converted amounts into my DB, and then showing those to the buyers (these numbers are updated via a cron, 2 times a day).
The buyer then gets shown the prices in their own currency, but when they go to paypal it actually asks for the money in the sellers currency. This means that the artist will always have the correct incoming currency, and I will not get that annoying issue.
If all goes to plan, the price the buyer see's on our site, should be the same as the amount they get charged,as I'm using the ConvertCurrency API to convert the amounts into the most up to date prices.
Hopefully this helps someone else, if they come across this post.
Currently, I use PayPal for payment processing. Almost 90% of the items are sold for $.99 and would like to use Paypals's Micropayment account, but PayPal states "support for Micropayments to merchants for US to US, GB to GB, AU to AU, and EU to EU transactions". My company is located in the US but the customers are very global. Does this mean using Micropayment option, I can't take payment from someone who lives in Europe or outside the US? Currently I am using the regular account and I am paying $.34 for each sale, which is very unprofitable. Are there other payment processing service I can use with lower fee?
Thank you.
Unless you have insanely high volume like fast-food chains do, it is very difficult to obtain a merchant account where the transaction pricing is feasible for micro-payments. Most providers will suggest an aggregation model where you sell your content but only bill your customers periodically, i.e. bill them once a month so that several purchases are bundled together, making the transaction fees less of an impact.
Here is one provider offering such a model:
http://www.allcharge.com/services-billing-micro-payments.asp
I do not work for the above company (in fact, I work for a payments company that does not offer micropayments).
Not the answer you were hoping for, I'm sure, but hopefully it helps.
Take a look at www.carrot.org which runs a micropayment system. Customers using carrotPay load funds into an electronic purse - WebPurse - and can make payments with 2 clicks if you have a Carrot buy button installed on your site. The buy button can be set up along side other payment methods on your site. The webpurse automatically converts the currency so if your client has GBP in their purse, they will be presented with a GBP price for authorisation but the merchant receives USD if this is the currency they used to price the product. Charges work out at 6% - 10% maximum. The Webpurses can also used for some kind of loyalty schemes as they will store many different currencies, real and virtual. If you would like more information please contact andy#carrot.org
Take a look at Google's In-App Payments. The fee is a flat 5% which is great for transactions
http://code.google.com/apis/inapppayments/
I do work for Google, but I've taken a look at other similar products and can honestly say that In-App Payments is a very competitive product.
You can use Randpay - scalable micro-payment system, based on blockchain: https://medium.com/#emer.tech/randpay-6a028f16c82a
Does anyone know a way to get the currency exchange rates for paypal?
We have custom shopping cart and use Paypal (Website Payments Standard) to handle payments.
Our 'home' currency is Euro, but we would like to present our customers the option to pay in different currencies (USD, CAD, AUD and GBP).
PayPal offers the option to:
a) automatically convert our Euro quoted prices to, for example, USD upon checkout
b) checkout in USD directly
With option a):
We get paid in Euro, the customer pays for the currency exchange (good).
The customer does not know what he/she is going to be charged in USD until checkout. (bad)
With option b)
The customer pays in USD, then the currency is converted into EUR and we pay the the currency exchange.
The customer never has to worry about the different currencies (excellent)
We do not know the exchange rate PayPal is going to use so we cannot quote the correct prices to our customer (showstopper)
So my question is:
Does anybody know a way to get the PayPal exchange rates?
or
Does anybody know how to make a good estimate?
Update:
PayPal updates it's exchange rate 2 times a day. (at least, that is what they state). They use the Interbank Exchange Rate provided by ??? and add a 2.5% spread above this rate to determine their retail foreign exchange rates.
Unforunately, there the Interbank Exchange Rates vary from source to source and from minute to minute.
We have been monitoring the PayPal exchange rates and cross referenced them with the Official reference rates provides by the European Central Bank. the results vary widely, somewhere from 1 to 6 ! percent...
https://www.paypal.com/us/cgi-bin/webscr?cmd=_convert-currency-withdrawal is a (needs login) page on Paypal where you can perform currency conversions at Paypal's rates.
I just found this:
https://www.x.com/thread/38451 (This link is now broken)
so it look like there is something you could use
https://www.x.com/docs/DOC-1400 (This link is now broken)
https://www.x.com/docs/DOC-1401 (This link is now broken)
I also found this
http://apipay.net/easyapi/index.php?sid=paypal&id=nvp_adpay&ac=convertcurrency (This link is now appears to be broken also)
and there is someone that already posted a question about that
PHP example for PayPal Adaptive Payments ConvertCurrency API
Regarding getting a good estimate; PayPal says here that they base their rate on the "Interbank Exchange Rate" and that "Customers may use these rates as a reference".
However they of course go on to say that these rates are not guaranteed, and if you want the precise rate you need to see what rate they apply in the transaction.
I am not aware of any way of obtaining the precise rate programmatically.
I suppose you could make your own payment of $0.01 every day and observe the exchange rate applied - but even that assumes they only update their rate every day.
I contacted their customer service and they explained, that at least in my region, they added 3.5% over the XE.com exchange rates. I was able to hand this to my accountant and use it as evidence of a tax-deductible business expense.
Their exchange rates are ~10% off the daily spot rates in the currencies I use (THB/USD). And although I have USD bank accounts they refuse to transfer USD to my USD accounts. Not sure if that is their policy for all countries / all currencies though, but for THB/USD they are inflexible.
Another thing to be aware of when using paypal - their "seller protection" is limited depending on what you sell and through what channels. In other words, you need to do a certain amount of fraud checking yourself to avoid shipping to customers who have used stolen credit card #s.
As you say, they base the "PayPal exchange rate" on the "recent currency conversion rate". In my experience, they add 3-4%.
The only place I found to get the PayPal exchange rate is here but it needs you to be logged in.
I've created a publicly visible Google doc that lists the historical rates.
This allows you to track the PayPal exchange rates so that you know when best to withdraw or transfer your money. Please contribute to the data by adding today's rates into this form.
If you are strictly interested in conversion from and to Euro, the European Central Bank has a public (and free) xml document that is updated daily:
http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
Parsing it is easy:
$XML=simplexml_load_file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
foreach($XML->Cube->Cube->Cube as $rates){
if($rates["currency"] == 'USD'){
$rate = ''.$rates["rate"];
// do your thing with it here
}
}
I found paypal adaptive payment service to integrate currency exchange rates on website but it is not working correctly on live account. You can go through the details from the link https://developer.paypal.com/webapps/developer/docs/classic/products/adaptive-payments/
Well, the following service should be useful for the conversion: http://rate-exchange.herokuapp.com/. Our company uses this for many live projects including an Chrome extension which seems running so far.