Refunds Using Paypal's Delayed Chained Payments - paypal

I am currently developing a web application which is a booking system for events.
Basically i want to use PayPal's Delayed Chained Payments system to do this:
BUYER makes a purchase through web app
ADMIN is the primary receiver of the funds
SELLER receives the funds 7 days after the event has occurred (less commission for ADMIN)
The reason i am leaving a 7 day period until the SELLER receives the funds is to allow for refunds and cancellations.
My question is:
Does the API allow me to interveen the delayed payment before the 7 days has elapsed, thus cancelling the payment to the SELLER and allow me to directly refund the BUYER the full amount. This is my ideal situation as it means their will not be the problem of the SELLERS account not having sufficient funds for the refund.
If anyone could help it would be great!

With Delayed Chained Payments you'll have the ability to cancel or execute the payment whenever you need to (within 90 days). So if the seller isn't able to supply the product to the buyer (or whatever reason) you can cancel the transaction.
Submitting a refund after a payment has been executed is a little tricky.
So to do a refund for a Chained Payment transaction you'll need to use the Permission Services API calls for the receivers to allow you to process refunds on their behalf. If they don't, you cannot refund the payment sent to another recipient.

After make delayed chained payment if you are not execute payment to secondary receiver then you can refund full amount of payment using refund api Call but you need to grand third party access .using grant api access

Related

Is it possible to create a market place style app with paypal?

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.

Prevent PayPal Payments with payKey (Or refund instead)

I am trying to prevent paypal for allowing a payment I have created.
The scenario:
My App is creating a Payment. I get the payKey from PayPal and the Customer is redirected to PayPal.
When the Customer is not able to finish the Payment after 2 minutes I will delete the Order for him and then - if possible - I will force Paypal that the payment is not active anymore and the customer is not able to pay after these 2 minutes. For this I have to do at least of this:
send Paypal the payKey and tell Paypal: Do not allow to pay with this payKey! Just "Delete" the information for this order
after the customer paid - but after 2 minutes, so the order is deleted - I will tell Paypal the payKey and a refund has to be done right after the customer has paid. This is no problem I thought but because its an AdaptivePayment and chained paypal is not allowing me to refund the money because every receiver in the refund receiverList needs permissions to allow a refund by API Call.
So my question is:
Is it possible to prevent a Payment with an API call ? I did not find any information in the REST API Reference of PayPal.
The payKey cannot be deleted or change the expire duration. You can use delayed chained payment with IPN. You are the API caller and primary receiver, compare the transaction complete time with the paykey generation time to decide refund or pay secondary receivers.

Which PayPal setup is best for marketplace?

Let me first explain how our web site works.
Buyer purchase a service on our marketplace via PayPal, and then wait for approval from service provider
If provider doesn't approve or time lapse, then we (the marketplace) refund to buyer
If provider approves, then we (the marketplace) hold the payment until the service is provided by the provider
If there is no dispute between buyer and seller after 3 days, we will pay the fee (deduct marketplace fee) to the service provider.
Initially I was thinking to perform all the above manually, but after researching more about PayPal, I found that adaptive payments could have automate some of our processes.
Adaptive payment version:
Buyer make a preapproved payment to us (the marketplace)
If provider doesn't approve, then we (the marketplace) just cancel the payment
If provider approved,then we (the marketplace) execute the preapproved payment, and then go through delayed chained payment
3 days after the service is done, and no dispute, execute the delayed chained payment to pay provider
However, there are some limitation in this:
Our buyer may buy the service more than 90 days ahead, but delayed chained payment only hold the payment for 90 days.
While it is possible for us to manually send the fund to provider, but it is possible to write some code to automate the lapsed delayed chained payment?
After googling about preapproved payment, some site owner complained that when they actually execute the payment, many buyer actually don't have sufficient fund or for some other reason that can fail the payment.
Is there any solution to lock in buyer payment first, then proceed it after service provider approves the request. So we (the marketplace) can hands off on the refund part.
You can use Paypal adaptive payment.
First execute pay call with actionType of PAY_PRIMARY and wait for 3 day to pay to your secondary receiver (Provider).
Here is link to paypal documentation

Paypal - Adaptive Payments

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.

Transfer amount to credit card from paypal

I have stuck into the problem of related to transfer amount back to credit card from paypal when user cancel his/her transaction. I don't want to use paypal refund feature in our application. My client requires to send back amount at the same time when user cancel his/her transaction.
Can anyone guide me to complete this feature or is there any API to solve such type of feature.
Thanks in advance.
Dewan
I don't want to use paypal refund feature in our application. My
client requires to send back amount at the same time when user cancel
his/her transaction.
How PayPal Refunds
You don't want to use PayPal's refund feature, but you want to send money back to the buyer? This is called a refund. I am sure you are mistaking how PayPal refunds money. If the user pays with a credit card, they are refunded to their credit card. If they pay with a bank account or PayPal account, they are refunded to their PayPal account.
API calls that refund buyers
DoNonReferencedCredit would refund to a credit card you specify, everytime, and you do not need a transaction ID.
In a scenario where the buyer no longer has a card that was
associated with a transaction, or the time allotted for a refund in
PayPal has passed, you would want to use the DoNonReferencedCredit
API.
RefundTransaction would refund the funding source as described in the "How PayPal Refunds" paragraph.
If your main concern is to issue a refund, via API, you have a transaction ID (you say a payment has been completed so you should have a transaction ID), AND PayPal's refund time has not passed, you should use the RefundTransaction API.
You might be able to use something like DoNonReferencedCredit from the paypal API - but I'm not 100% sure on that.