7
votes

We have a system that sends money to our users via the PayPal MassPay API and it works fine, but here is the problem: I can't find a way to retrieve the status of the MassPay transaction through PayPal's API.

The first thing I looked into was using the PayPal 'GetTransactionDetails' API call, but that requires the transaction ID, which is not returned by the original PayPal MassPay API call. When a MassPay is issued, here is the PayPal response: https://gist.github.com/3860194

As you can see in the response, PayPal issues me a correlation ID, but no transaction ID. My next thought was to use the 'TransactionSearch' API call, but that does not accept a correlation ID either. I even tried doing a broad TransactionSearch based on the TransactionClass parameter ('MassPay') and StartDate, but the responses don't contain any information (email or correlation ID) that allows me to know for certain which search result is my original request.

Has anyone worked with PayPal's API to search/retrieve a transaction ID through the correlation ID?

3
How did you end up solving this? I'm struggling with the same issue now... I want to be able to check on the transaction on demand. Thanks!Uri Abramson

3 Answers

1
votes

After sending the MassPay are listening for IPNs (Instant Payment Notifications)? The IPN response will contain PayPal transaction IDs for the individual payments you've sent. Once you grab the trxn IDs, from the IPN's then you should be able to call GetTransactionDetails API - and get the current status.

Note that the IPN will also contain the current transaction status at the time the IPN was sent.

0
votes

ah disadvantage of Mass Pay is it only goes to the IPN Url set on the account, and you can not customize the IPN Url even when sending Mass Pay via the API (NVP/Soap)

You can use TransactionSearch with TransactionClass => MassPay to find the TransactionIds for your Mass Payments then get the details from there.

0
votes

I sometimes get IPNs for my masspays that say

payment_status=Denied

and

status_1=Failed
status_2=Failed
status_3=Failed

and

masspay_txn_id_1=
masspay_txn_id_2=
masspay_txn_id_3=

(assuming I was paying 3 people in this mass pay)

There is no corelationid though that I can use to match this IPN back to the original mass pay request I made. I'm stuck with these phantom payments in my system that paypal never sent on to the recipients. Does anyone have any suggestions for matching up a correlationid for a mass pay API call with an NVP for the entire Mass Pay vs individual transactions inside it?