Reputation: 1304
I'm generating the following chained payment call using php. the primary is my company which receives the full amount whilst the secondary is another recipient. the call is:
currencyCode=USD
actionType=PAY
returnUrl=http%3A%2F%2Felb-dev-xx.com%2FpaymentSuccess.php
cancelUrl=http%3A%2F%2Felb-dev-xx.com%2FpaymentCancel.php
receiverList.receiver(0).amount=12.00
receiverList.receiver(0).email=xx%40gmail.com
receiverList.receiver(0).primary=1
receiverList.receiver(0).invoiceId=MC2015022346_125
receiverList.receiver(1).amount=13.50
receiverList.receiver(1).email=xx2%40gmail.com
receiverList.receiver(1).invoiceId=MC2015022346_125
feesPayer=EACHRECEIVER
ipnNotificationUrl=http%3A%2F%2Felb-dev-xx.com%2Fpaypal%2Fipn_handler.php
memo=my+memo+and+stuff
The error I'm seeing is:
23/Feb/2015:21:32:47] (chained_payment) [436-dl4i3jsu2gbblo1fvk5evpvjl6] : array (
'responseEnvelope.timestamp' => '2015-02-23T02:32:47.511-08:00',
'responseEnvelope.ack' => 'Failure',
'responseEnvelope.correlationId' => 'b4d7182a1a689',
'responseEnvelope.build' => '15089777',
'error(0).errorId' => '579017',
'error(0).domain' => 'PLATFORM',
'error(0).subdomain' => 'Application',
'error(0).severity' => 'Error',
'error(0).category' => 'Application',
'error(0).message' => 'The amount for the primary receiver must be greater than or equal to the total of other chained receiver amounts',
)
[23/Feb/2015:21:32:47] (chained_payment) [436-dl4i3jsu2gbblo1fvk5evpvjl6] : array (
0 =>
array (
'ErrorCode' => '579017',
'ErrorMsg' => 'The amount for the primary receiver must be greater than or equal to the total of other chained receiver amounts',
'ErrorDomain' => 'PLATFORM',
'ErrorSeverity' => 'Error',
'ErrorCategory' => 'Application',
),
)
[23/Feb/2015:21:32:47] (chained_payment) [436-dl4i3jsu2gbblo1fvk5evpvjl6] : Calling PayPal pay() failed
[23/Feb/2015:21:32:47] (chained_payment) [436-dl4i3jsu2gbblo1fvk5evpvjl6] : Exception::__set_state(array(
'message' => 'The amount for the primary receiver must be greater than or equal to the total of other chained receiver amounts',
'string' => '',
'code' => 0,
'file' => '/var/app/current/chained_payment.php',
'line' => 643,
'trace' =>
array (
),
'previous' => NULL,
))
[23/Feb/2015:21:32:47] (chained_payment) [436-dl4i3jsu2gbblo1fvk5evpvjl6] : Chained Payment failed The amount for the primary receiver must be greater than or equal to the total of other chained receiver amounts
This seems to be telling me, as I'm already aware, that the primary has to get the entire hit and send the remainder on to the secondary. however it still doesn't like it.
This is happening in sandbox and production currently.
any ideas?
Upvotes: 0
Views: 207
Reputation: 26056
Based on your request, you're trying to send $12.00 to the primary receiver, but then send $13.50 to a secondary receiver. You can't do that.
It sounds like what you want to be doing is sending $25.50 to the primary receiver, and then sending $13.50 to the secondary receiver, which would leave the primary receiver with $12.00.
Upvotes: 1