I'm using Delayed Chained Payment in this project: https://github.com/paypal/adaptivepayments-sdk-dotnet in sandbox environment.
When I use default fee settings (feesPayer.field = null) fees work according to documentation https://developer.paypal.com/docs/classic/adaptive-payments/integration-guide/APIntro/ scenario "Each Receiver Pays the Fee in a Chained Payment". This works all right. However, when I set feesPayer.field = "PRIMARYRECEIVER" it should work accoring to scenario "Primary Receiver Pays the Fee in a Chained Payment" from the same documentation, but it does not match.
My use case: normal user sends the payment and 1st fee is paid by primary receiver like in documentation. However, when I call ExecutePayment request to send payment to a secondary receiver, 2nd fee does not occur like in documentation.
I should be paying both fees, but the 2nd fee does not exist - where is the issue? Is the documentation correct?
There is no "second fee" if you have the primary receiver paying the whole fee. When the primary receivers the initial payment they pay the entire fee right then, so when you release secondary funds, that fee has already been paid. You won't see it again (in that case PayPal would be double dipping, which they don't do).
Related
I am working on a web application for a client and he wants the payflow to work sorta like this:
Seller makes an offer for an item
Customer purchases the item
The seller sees the item is paid for but won't get the payment
When the item has been marked shipped the payment minus app fee and paypal fees will be sent to seller
App Fee is deposited into the application's paypal account
I have implemented it using paypal's express payment api and do the payouts manually. But this has caused double paypal fee's which are incorrect. My client wants to use adaptive payments but that isn't going to work since they require the seller to be the primary receiver and the merchant service be the secondary but for out desired flow that won't work. What other option do I have?
From the description you provide, the best approach is to use Adaptive Payment Delayed Chained Payment. The buyer will make a payment for the item and the seller will directly receive the amount. You can specify the merchant services to be the secondary receiver but when using the Delayed Chained Payment, primary receiver (seller) will always get the payment first and using the Pay API, secondary receiver (merchant services) will get their portion. If you required the seller to be the last person to receive the money then they (seller) should be the secondary receiver.
I'm developing a PayPal chained payment app where
Primary receiver = the service provider, gets 90% of payment
Secondary receiver = marketplace, gets 10% of payment
It's all working in the Sandbox environment, but there's a snag - when the primary receiver logs into their PayPal account, and manually refunds a payment they received, the secondary receiver doesn't appear to return their 10% automatically.
E.g.:
Primary receiver was paid $100, passed $10 automatically to
secondary receiver.
Primary receiver decides to refund using PayPal
account interface.
Refund for $100 issued; but secondary receiver
keeps their $10. Primary receiver now out of pocket by $10.
I would like it so that the secondary receiver automatically refunds their portion of a payment if the primary receiver issues a refund.
From reading the documentation from the Refund API (https://developer.paypal.com/docs/classic/api/adaptive-payments/Refund_API_Operation/), I thought this was the default behaviour, no matter if the refund was initiated through an API call or manually through the PayPal account interface.
Do I have this wrong, or is it just a bug with the Sandbox environment?
Would be useful to have this cleared up, as couldn't find any existing threads on the matter.
Update
PayPal Technical Support have told me the following:
Thank you for contacting Merchant Technical Services.
From my understanding you would like to have when a primary receiver perform a refund, the secondary receiver will automatically issued a refund.
If you would like all the receiver to refund the amount, you have to pass the paykey. May I know how the payment was made? If it is using Pay API operation, you have to use Refund API in order to refund the transaction. The refund can't be done by using PayPal account.
Use the payKey of the original transaction in the refund API, it will solve your problem.
And in case if you wish to partially refund the amount, specify the amount to be deducted from primary and secondary receivers in the "receiverList" field.
For more, refer: https://developer.paypal.com/docs/classic/api/adaptive-payments/Refund_API_Operation/#table-3-additional-fields-for-refunds-of-specific-amounts-to-specific-receivers
I'm using Adaptive Payments - Delayed Chained Payment. For the payment solution without PayPal account the buyer uses Guest Payment and in documentation they say:
Each receiver of a guest payment must be a verified PayPal business
or premier account holder.
https://developer.paypal.com/docs/classic/api/adaptive-payments/Pay_API_Operation/
What does the "each receiver" actually means? Does it mean that even the secondary receiver in Delayed Chained Payment must be veryfied business or premier account holder? There is no way to test this in sandbox environment, because it works even if the primary receiver is personal account.
I understand it in a way that my application is business account holder so that the Guest Payment should work. For the 2nd transaction to send the money to the secondary receiver I'm not using Guest Payment, I simply call ExecutePayment method from Adaptive Payments API. Will it work if the secondary receiver in this case is normal personal account?
PayPal MTS answer:
Does it mean that even the secondary receiver in Delayed Chained Payment must be verified business or premier account holder?
The answer is YES, in all cases.
Given a market place that has buyers and sellers exchanging goods. What is the best way to allow a buyer to make a purchase and with hold the money from the seller until the shipment has been received?
Chain payments force the primary recipient to be receive the majority payout. But if that is the case, we end up being force to pay the seller at point of sale instead of what the shipment is complete.
Buyer - pays the total amount
MarketPlace - receives percentage
Seller - receives majority of sale (after delivery confirmed)
Any thoughts on how to accomplish our goal with Paypal?
Thanks!
There are lots of things you can do and any of them could be the best solution. It seems like you are already on the right track with is adaptive payments. The type of adaptive payment I would go for would be a delayed chained payment. A delayed chained payment as described by paypal is
Delayed Chained Payments
By default, payments to all receivers in a chained payment are
immediate. However, you can choose to delay a payment to a secondary
receiver. For example, as primary receiver, you may require secondary
receivers to perform some action, such as shipping goods or waiting
for expiration of a return period, before making payment. To complete
the payment, you must explicitly execute a payment to secondary
receivers after the sender pays you. The payment must occur within 90
days, after which you cannot complete the payment as part of the
original chained payment.
You can find more info about this about a quarter of the way down the page here.
Hope this helps!
p.s. checkout their samples included with their sdk for the classic api here.
I am implementing the Paypal checkout system onto my site. Basically there is a seller, buyer, and my business. When the seller puts up something to sell and the buyer buys something, I (the business) get 10% of what the buyer pays. Is there a option in the Paypal api, or do I have to do it another way?
You can use Chained Payments in the Adaptive Payments API:
https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/gs_AdaptivePayments/
Chained payments enable a sender to send a single payment to a primary receiver. The primary receiver keeps part of the payment and pays secondary receivers the remainder. For example, your application could be an online travel agency that handles bookings for airfare, hotel reservations, and car rentals. The sender sees only you as the primary receiver. You allocate the payment for your commission and the actual cost of services provided by other receivers. PayPal then deducts money from the sender's account and deposits it in both your account and the secondary receivers' accounts.