Paypal payouts from one wallet - paypal

We implemented PayPal payouts - https://developer.paypal.com/docs/payouts/ and we need to make the payout in different currencies. We would like to have only one wallet (I mean one currency wallet for, example USD). But we want to make payments in different currencies (for example GBP, EUR, RUR etc).
Right now if we try to make the payout in GBP we got an error. When we add GBP wallet, add money to them and run the same query, everything works fine. We don't want to have too many wallets in different currencies. This makes it difficult, too many currencies to support.
Is it possible to have only one wallet (in one currency) and make payments in different currencies?
What do we need to use? What do we need to set up? etc?

Related

Best way to split a payment using the Smart Payments Button

I am setting up the Paypal integration for a Clients website. He has a page where users can buy stuff that others users sell and he wants the buyers to pay using Paypal, he also wants the payment to be charged a fee, so that a percentage of the payment goes to the website owner and the remainder goes to the seller. For example:
Tom sells shirts at $20 each and i want to buy two, so i would pay $40 plus the 3% of the transaction, that would sum up to $41.2, $40 would go to Tom and $1.2 to the page owner.
How can i do this using Paypal? I have been reading a lot Smart Payments Button describes how to set a payment but the funds go to a single person, i need to set a chained payment, split payment or something alike and their docs seem very fuzzy.
Any help is appreciated.
Thanks!
platform_fees , documented here , is the analogue to chained payments. However, it is only available to PayPal partners -- i.e., probably not your client.
For separate transaction payments to more than one receiver account, there is multi-seller payments.
After completing the Paypal Integration and after tears and pain i can tell that i couldn't use platform_fees.
The implementation is complete and working but i wrote to customer support and to dev support and they just don't want you to use platform_fees so nothing will work along that path.
The solution they provide and the one they want you to use is getting all the money on your account and then splitting it using Payouts to all the clients.
Really bad solution imo but its convenient for them because they charge more transactions instead of allowing you to do everything on a single transaction.

PayPal/Braintree: Switching ec-vzero checkout flow to use different currency

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.

Setting up paypal so my client gets a percentage from every transaction on her site

I have a client that wants a site that hosts sellers selling items and allows buyers to purchase the items. She wants all the money transactions to be between the buyer and seller and she collects a percentage of the sale. She wants her percentage to be automatically put in her paypal account. Kinda like eBay for example.
I have used paypal standard with buttons but have never done anything like this. Does anyone have any suggestions about how I would get started and/or how this is done?
Thank you for your suggestions,
Greg
Many people would (and probably will) recommend using some sort of split/chained payment solution, but I will just point out that the site you mention, eBay, does not use split payments. eBay sellers register with eBay; eBay faciliates the sales and bills the sellers for their fees. You can do the billing through invoicing, or via preapproved payment/billing agreements (which allow you to collect from sellers without them having to send you each payment).
While this solution requires you to do a little more work (tracking sales & billing) it is a lot more flexible.

PayPal Adaptive Payment - multiple currency issues

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.

Recurring payments with arbitrary amounts and at arbitrary times?

We'd like to find a payment provider that lets us do something similar to Hailo, ie:
Users sign up and give us their credit card details/authorise us to charge their account. They only need to do this once.
In Hailo's case, users might take a cab journey at any time and be billed any amount (within reason). In our case, users might need a job done at any time, again with an invoice for an arbitrary amount.
So ideally we'd be able to charge users accounts at any time, for any amount, without further authorisation. This is possible because Hailo (and I believe Uber) have it implemented. However, I don't know if they use a third-party payment provider or rolled their own.
Something like BrainTree's recurring payments is close to what we want, but not exactly. We want to be able to bill at arbitrary times, not on a fixed schedule.
The best option we currently have is to use recurring billing, ie save invoices and then charge them all at once at the end of the month. This isn't ideal from a cashflow -perspective, though. Another option is to use GoCardless' variable billing, (you ask customers permission to bill up to £X per month), though from speaking to people it seems they'd be leary of that as it seems like an upfront commitment.
Can we do it our way? How do companies like Hailo and Uber do it?
We're in the UK, by the way.
In PayPal world - we call this kind of functionality as Reference Transactions - here are the 2 how-tos that would give you more info on how to implement reference transactions with PayPal accounts and direct credit cards:
Reference Transactions for PayPal users
Reference Transactions for Credit/Debit cards
You can also use our Preapproval functionality - which would give you delegated access to a PayPal account to make payments on behalf of them. Here is it's how-to.
Full disclosure, I work as a developer for Braintree.
Using Braintree you can create transactions at any time, not just on a recurring basis. In fact Uber is a Braintree customer. You would store the card in the Braintree vault and create a new transaction when you are ready to bill the customers credit card.
Braintree has recently announced an international expansion that will support merchants in the UK and other countries in the next few months.
From your description Authorize.net CIM will do the job - http://www.authorize.net/solutions/merchantsolutions/merchantservices/cim/
It's PCI compliant and let you store your customer credit card details with them and return a token for the customer. Then you can use this token to charge customer credit card whenever you need. Also their recurring billing facility would let you charge a fixed recurring charge if needed - http://www.authorize.net/solutions/merchantsolutions/merchantservices/automatedrecurringbilling/
DataCash will let you do this, amongst many, many other things. You just provide their 16-digit reference number in the XML rather than a card number.
(Note: I'm an ex-DataCash employee, and we use DataCash as a payment gateway at my current work.)