I working on an e-commerce site where I need to do something like this.
When the users is on payment page, he should be doing the following things:
- pays a fee
- authorize the payment of an amount (which could vary, but not with a big amount...)
Up to here, everything goes find with PayPal Direct payment system.
But I need more. I need that the authorized amount at some point to be directly charged by another seller (or transferred)
Any chance I can do this with PayPal Direct (such the the payment would still be made in site)? Or is there any other method?
If you're receiving the money via DoDirectPayment you could use MassPay or Pay to send funds to a 3rd party. If you want the split to happen within the original payment you can use Pay by itself and set it up as a parallel or chained payment. See the Adaptive Payments documentation for more details on that.
(Disclaimer: I am employee) Balanced will work for your use case
capturing cards directly without sending user to a third party site
paying out to a merchant of your choice via ACH payout at a later point in time.
The caveat is it's US only so if your outside the US let me know and I'll see if I can find any other options for you.
Related
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.
I am working on a WebService that will accept payments from PayPal. There will be two sides (seller and buyer) and I will take commissions. However, I don't want to direct the payment instantly to the seller. The seller will complete the service through some conversations, but I want to guarantee to the buyer that it will receive the service as he wants and at the same time, guarantee the seller that he will receive his money.
Is there a way to reserve/freeze/hold the money from the buyer's PayPal account or do I need to take all the service money instantly to my account and then direct the money afterwards, after taking my commission, when the service is marked as completed by both parties? What is the optimal way to achieve what I am trying to do?
The delayed chained payment using Adaptive payment API would be the optimal way for your business pattern. It allows you to keep the money for 90 days during which you can pay the sellers their portion any time. You can refer to this page https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/integration-guide/APIntro/#id091QF0I30YK to understand the basic function, and see this guide https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/ht_ap-delayedChainedPayment-curl-etc/ for implementation.
I developed a Web Application that accepts payments via the ExpressCheckout API, for users to become a members.
Everything works fine.
I now want to extend my Web Application Services and offer my users with the possibility to buy items which are sold by third parties (my members).
The principle I would like to implement is quite simple: for each order, let the user pay for the item they choose and then transfer a part of the amount I received to the item provider, and keep some money for me. I would like to automate this process so that once I received the payment notification, I compute the amount of money to transfer to the item provider who might or not have a Paypal account (in other words, this means that I could maybe need to transfer the money to a bank account, using the IBAN/SWIFT data) and then proceed with the money transfer.
I tried to find a solution reading your documentation and came across the "chained payment" but the latter does not seem to be used within the ExpressCheckout workflow.
Also, since my implementation of the ExpressCheckout flow works, I would not like to have to find a totally different solution but rather extend it... if possible.
Could you please tell me which is the best solution for me?
In advance, many thanks for your help.
You could do 1 of 2 things. You could use Express Checkout with parallel payments. This means you could split the transaction up between different accounts at the time of purchase. The other option would be to just receive all of the funds into your account, and then when you are wanting to send money to the other accounts you could either use the Adaptive Payments (Pay) API or the MassPayments API to send money to the other accounts. Keep in mind you would have to send it to their PayPal accounts, you would not be able to send it directly to a bank account with either one of these API's.
I had the same issue and I got an answer from PayPal that it is not allowed to use Express Checkout to transfer money to your PayPal account and - at a later point in time - transfer the amount minus your service fee (which stays on your PayPal account) via Adapative Payments API to the seller's PayPal account. PayPal suggested to use Chained Payments API instead. All works fine in the sandbox, but once you need a Live APP ID from PayPal they will review your business case and deny it. At least that what happened to me.
I know that is old question, but anyway, I tried to find solution and was enable to perform the simillar thing like described in question. So, then I asked paypal about this, and they gave me advice to use SellerDetailsType Fields that 's called PayPalAccountID, description for this field is Unique identifier for the merchant. For parallel payments, this field is required and must contain the Payer Id or the email address of the merchant. It wasn't clear for me to use this field for solving my problem. Here is link https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/SetExpressCheckout_API_Operation_SOAP/ I described field for soap request, for NVP it's called PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID, but the idea is the same. I hope it will help someone.
Basically I have a script where user should have Withdraw button on his account so he can automatically withdraw money from my paypal balance
What API should I use in this case and is this available at all for paypal?
You may be interested in the Mass Pay API. You can send them in batches, say daily, weekly, or monthly.
See here for an explination directly from paypal:
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_api_masspay
The MassPay API allows you to send payments to up to 250 recipients with a single API call. The payment amount for each recipient is specified individually, but all payments in a MassPay API request must have the same currency type. You can choose to specify recipients by email address or PayPal customer account number.
And here for PHP examples (if you're using PHP):
https://www.x.com/paypal-apis-masspay-php-5.3/soap
There are additional examples and a large amount of documentation on the first PayPal.com link, regardless of programming language used.
Please keep in mind Mass Pay has it's own fee schedule.
There is also Adaptive payments, which may be more up your alley, as it's designed for more fine-grained control and has a larger API available. Information can be obtained here:
https://www.x.com/content/introducing-adaptive-payments
However, the Adaptive payments will require approval of each Payment by you (the sender) via the PayPal website. If you want 100% automation, the Mass Pay API is the way to go.
Please realize a mistake here could cost you infinate amounts of money, so tread extremely carefully.
If you're attempting to withdraw money from your PayPal account and move it to your bank account that's not something you can do via the API, unfortunately. You have to do that manually through PayPal, or you can call them and request that they enable AutoSweep for you, which will automatically move the balance in PayPal to your bank at the end of each day.
Ya there is preapproval api in AdaptivePayment. You can approve the api caller for the amount he want to withdraw from your account on your behalf.
You can refer api here : https://www.x.com/developers/paypal/documentation-tools/api/preapproval-api-operation
My website allows user to buy stuffs, and the payments will be splitted between a few people (generally 1/4 people).
So far, the processus I use is to receive the payment into one account, and then use the Paypal Adaptive Payment API to send this received payment to all the people, based on their percentage.
The problem with this solution is that the "reception paypal account" will have a lot of input/output money and will be the Achille's talon of my e-commerce (if this account is suspended, my commerce is down).
My question is quite simple: is there a way to do this automatically?
I found that if the buyer have a Paypal account, then I could directly use the Paypal API to dispatch it's payment (based on his paypal email) to the people, and that is perfect, but the problem is : what happens if the buyer doesn't have a paypal account and want to pay with, say, a credit card?
Thanks for your help!
Ok, the solution is quite simple in fact but need a complete change :
I had to forget about Web checkout and use Paypal API, do a PAY request with a Chained Payment (defining multiple receivers, with one (me) setted at primary: true). In that request, set the ipnNotificationUrl to be notified of the evolution of payments and that's it!
The response from paypal, if correct, will contain a paykey.
Then, you have to redirect the buyer to :
https://www.paypal.com/webscr?cmd=_ap-payment&paykey={PAYKEY_HERE}
or
https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey={PAYKEY_HERE}
Then, to be kept updated, all you have to do is send a request to Paypal containing the paykey to know the paymentdetails !
That's it !
I'll answer my question on that, looking into the Paypal Adaptive Payment API, we can see a dedicated section "Guest Payments".
It seems it's possible, but it requires all the people that will receive the money to have a Business Account or Premium account!
Well I'll add a second answer because it's more complete and slightly different from the first one.
The best way to do it quite simply is to use the Express Checkout API (SetExpressCheckout, GetExpressCheckoutDetails, DoExpressCheckoutPayment).
By using it instead of the basic "checkout" bouton with an IPN behind, it is possible to define more than one recipient that will receive the money : the parallel payment.
It's that easy!
(Now I have to rewrite all my code to implement it, yayh!)