2
votes

My application uses the Adaptive Payment Service to send payments to users. If the user has no bank account attached to their PayPal account and their account is not verified, PayPal sends them an email and they need to click on a Claim button in that email to receive their payment.

The problem is that this process seems to change the Fees Payer initially set by the transaction. My app sets the fees payer to "SENDER" and in the example above, PayPal seemingly changes this to "RECEIVER".

Does anyone know why this would happen? Here is an excerpt from the code ... seems pretty straightforward to me ...

$payRequest = new PayRequest(new RequestEnvelope("en_US"), 'PAY', $cancelURL, 'USD',     $receiverList, $returnURL);
$payRequest->feesPayer = 'SENDER';
$payRequest->senderEmail = $senderAccount;
$service = new AdaptivePaymentsService();
$response = $service->Pay($payRequest);
1

1 Answers

2
votes

I finally submitted this question directly to PayPal support and eventually got back the following:

As per the Pay API reference; https://www.x.com/developers/paypal/documentation-tools/api/pay-api-operation, the 'Sender' cannot be the feesPayer for unilateral payments (payments made to users who have not yet registered with PayPal). This is probably why you are seeing it change to 'Receiver' instead.

So, apparently this is by design and there is no way around it.