Is it able to change the secondary receiver for delayed adaptive payment? - paypal

As title,
Is it able to change the secondary receiver? I am the primary receiver, i am intend to use delayed adaptive payment for my system, the thing is , before i want to release the payment, the secondary receiver might be happen doesn't complete the job i specified, another secondary receiver might completed the job, but i am intend to change the secondary receiver so the secondary receiver which doesn't complete the job cannot receive the money. Am i able to change the secondary receiver?

Nope. It is not allowed to change it.
Within 90 days, you are able to release the money until all the receivers have performed some actions, the money will be credited to all the secondary receivers together.

You will not be able to change the secondary receiver email in ExecutePaymentAPI as it takes only payKey as parameter.
The delayed chain payment expires after 90 days, if you fail to call the ExecutePayment API the transaction expires.

As a side note from personal experience: If you try using Express Checkout and then MassPay, PayPal will not approve your business application because, and I quote, "They don't have visibility of initial payments". The only option is to use Chained Payments or Parallel Payments.
I had Express Checkout and Implicit Adaptive Payments set and my business application was denied. So I suggest you stick to using chained payments.
https://developer.paypal.com/docs/classic/adaptive-payments/integration-guide/APIntro/

Once the secondary receiver is set in the PAY API, it is not possible to be changed later. To fulfill your requirement , I hereby suggest you firstly collecting the full funds from the payer, via PayPal's Adaptive Payment or Express Checkout. And then call MassPay API to send funds to your secondary receivers. Please refer to below page for more details about MassPay API.
https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/MassPay_API_Operation_NVP/
Please also be noted that MassPay is a feature that needs to be requested access to and approved. Please use below links to contact PayPal's Customer Service teams to request this feature.
http://www.paypal.com/cgi-bin/webscr?cmd=_contact-general
http://www.paypal.com/cgi-bin/webscr?cmd=_contact-phone

Related

Primary receiver refunds a chained payment from their PayPal account; what happens?

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

Executing delayed chained payment, partially to one of the many secondary receivers

We have a situation, where sender will do digital goods(services) from multiple provider, but sender do the payment in one transaction in delayed chained payment mode, so initially primary receiver will receive all money.
Now the primary receiver will have to execute payment to send money to the secondary receivers. However in our case, we have to pay only one receiver at a time. But Execute API, will pay to all the receivers at once.
Is there any other way, so that we can execute part of the payment of that transaction to particular receiver.
Thanks
With a delayed chained payment there is no way to pay secondary receiver(s) individually at different intervals.
You could do what you're saying, though, by ditching the delayed chained payment method altogether and using another method. For example, if you just use a regular checkout method (Payments Standard, Express Checkout, etc.) and let the money go to a primary account, then you could use build separate Pay requests from the primary to a secondary receiver at any time you want to. You could do the same thing using MassPay, too.

PayPal PreApproved Payments

I am using PayPal PreApproved payments for my crowd funding website, where project backers are only charged if the project is successfully backed.
I am worried that high rate of payments will fail when the PayPal API tries to collect the funds when a project is successful:
a backer might not have any funds in their PayPal account
a backer might close their account once the project is successful (to intentionally stop payment)
a backer might remove/cancel their preapproved payment
etc...
There are a number of ways that the payment could fail which would mean that the project owner would not get their funds.
Can anyone suggest a way of tightening or securing payments. Please note, that PayPal will only allow you to use PreApproved payments for crowdfunding. Please also note that project owners need to be able to receive the funds from my site. Sometimes, these funds can be as small as $10 or up to $10,000 so we need to use PayPal to pay them as there is not other method of getting the funds to the project owner
I've implemented Paypal Adaptive payments and used them for payments at http://www.wethetrees.com and we had the exact problems you are describing. The capture rate is almost random, we were down to 35% with one campaign and had to manually send all backers invoices.
When capturing we had backers with closed/unauthorized accounts, insufficient funds, unavailable payment methods etc. We switched to just doing direct capture for a while, which is great since we get 100% of all pledges, but Paypal closed our account without notice when one of our campaigns mentioned the word "Cuba".
The solution in the end was to scrap Paypal so now we're using Wepay and Dwolla, and we're considering Bitpay (Bitcoin) as well. Seems to like Paypal wants to kill crowdfunding or doesn't understand it. Anything less than a 90% capture rate is totally unacceptable and will cause projects to fail.
Preapproval isn't the only thing they'll allow you to use. That's just one part of the Adaptive Payments API, but you could go with a delayed chained payment, too.
This way your account can be treated sort of like an Escrow. You can use the Pay API to create payments in the system that are split between receivers accordingly. Only the primary receiver would get paid at first, though, and then you can call ExecutePayment to submit the secondary payments from the primary account within 90 days.
This way the primary account holds all of the funds so they're available to pay out when the goal is reached. If the goal is not reached the payments could be refunded.

PayPal adaptive payment delayed chained payment's receiver configurations

I am using PayPal adaptive payment delayed chained payment. The process is unintuitive.
Q1: How to process the payment to the secondary receiver?
API calls are made as below:
1. Make Pay API call with actionType=PAY_PRIMARY which will only process the payment to the primary receiver
2. Explicitly process the payment to secondary receiver.
How do I process step 2 above? Do I use ExecutePayment API operation? (This does not look correct since in the documentation it says to use payKey however payKey would be expired by the time I need to process the payment to the secondary receiver.)
Q2: Is it ok to use SECONDARYONLY as feesPayer in delayed chained payment?
A1: You would make a call to ExecutePayment passing the PayKey as a parameter. To clear up your doubts, the PayKey has a shelf life of 3 hours before the payment is initiated.
Once the payment has been approved by the customer (i.e. the first leg of the chained payment is completed) the PayKey becomes permanent and does not expire.
For a delayed chained payment, PayPal gives you 90 days to explicitly complete the second leg. After that, it will not allow you to do so, and the primary would need to manually send the money to the secondary receiver.
A2: Yes, but you can only use this variable when you have a single secondary receiver.

Delayed Chained Payments in PayPal with initially-unknown Secondary Receiver

Reading through PayPal's API documents I don't see a clear way to do this, but I don't want to assume that it's impossible because I don't know how to do it.
Use case: I'm building a marketplace for a client that allows a consumer to purchase a commodity service, then we find a provider to fulfill that service. (specifics are omitted for confidentiality and irrelevancy)
The problem: At the time of purchase the provider is unknown, but we want to authorize payment when the consumer buys the service (and trigger payment after fulfilled).
From PayPal's Adaptive Payments API I see it's possible to create a Delayed Chained Payment (which is great), but the secondary receiver must be declared when created. That's not possible because we don't yet know who's going to fulfill the consumer's request.
One somewhat naive solution is to have the consumer pay us directly, then we trigger a secondary transaction between us and the provider. This isn't great because it incurs double the transaction fees.
Is there another way to accomplish this with PayPal? Is there another payment provider that might be a better fit?
Thanks!!
The Permissions API should allow you to setup the payment on behalf of the buyer at a later time, when all parties are known.
If the secondary receiver is unknown - probably the best way to implement this is to obtain a Preapproval from the user and then use it to pay the secondary receiver in the future. Here is how you can do it:
https://developer.paypal.com/docs/classic/adaptive-payments/ht_ap-basicPreapproval-curl-etc/