I'm checking the payment profile statuses with GetRecurringPaymentsProfileDetails, however I cannot find any documentation on the definition of the statuses returned.
The STATUS could be:
Active
Pending
Cancelled
Suspended
Expired
Active, Pending and Expired are straight forward enough but was about "cancelled" and "suspended". Does a "suspended" account have anything to do with reversals or refund attempts? What about cancelled?
API documentation
Suspended means the subscription is temporarily on hold on the user's end either due to the user placing it on hold or paypal due to payment not going through.
Cancelled means the user cancelled the subscription within paypal
Related
Good morning, I'm working with DoExpressCheckout's Payment Status response for an InstantPaymentOnly Sale.
https://developer.paypal.com/docs/classic/api/merchant/DoExpressCheckoutPayment_API_Operation_NVP/
By PAYMENTINFO_n_PAYMENTSTATUS all possible responses are shown, Completed-Funds-Held is the latest addition.
I'm providing a service that expires and must be used by a certain time. If the payments final status is not known by the time the service must start, its looks like we're going to have to collect payment (again) in person and refund the online payment. Needless to say, that doesn't sound good.
Q. Could Completed-Funds-Held result in funds never being deposited to the main balance?
The documentation for that particular status lists two possible response codes that go along with Completed-Funds-Held: newsellerpaymenthold (not applicable in my case) and paymenthold which vaguely states "A hold is placed on the merchant's transaction for a reason not listed."
Basically is Completed-Funds-Held a "successful" transaction where the purchaser can receive his product without risk of the seller never receiving payment?
EDIT: Is Completed-Funds-Held a final status if the payment is successful? Or will a Completed IPN request come if and when the hold is settled?
Those payments will eventually become available. What you should do is setup an IPN solution so that you can automatically update your system when a payment hold is released. The same would be true for things like e-checks where the payment status is simply pending and then clears a few days later.
I have search a lot but I can not find the answer. I am intergrading paypal with my site and I am using ipn to get messages back to my site about transaction statuses. I have so far completed the "Complete" and "Refund" statuses. What I do when I receive a "Complete" status is that I issue a license key and when I receive a "Refund" status I revoke the corresponding license.
What I am not sure is what should I do when I receive a "Reversal" and/or "Canceled_Reversal" status. Should I revoke the license when I receive a "Reversal" status and then re-issue it again if I receive a "Canceled_Reversal" status regarding the same transaction?
Or does a "Canceled_Reversal" status can come without a corresponding "Reversal" status? Am I understating this correctly?
Thanks
Should I revoke the license when I receive a "Reversal" status and then re-issue it again if I receive a "Canceled_Reversal" status regarding the same transaction?
Yes. More probably you should suspend it and de-suspend it, if your system has such a concept.
Or does a "Canceled_Reversal" status can come without a corresponding "Reversal" status?
No.
I am using PayPal adaptive payments. I am retrieving PaymentDetails details here https://developer.paypal.com/docs/classic/api/adaptive-payments/PaymentDetails_API_Operation/
What isn't clear to me is the difference between senderTransactionStatus and transactionStatus?
What's even more strange is I can have the following scenario:
status: COMPLETED
paymentInfoList.paymentInfo.transactionStatus: null
paymentInfoList.paymentInfo.senderTransactionStatus: PENDING
paymentInfoList.paymentInfo.pendingReason: SOME REASON
How can it be that status is COMPLETE, but senderTransactionStatus is PENDING, and transactionStatus if null?
I have no idea which status I should use, or even how to use them in combination to report correct status back to my users.
Ive read the documentation, but still none the wiser.
status has to do with the payment being submitted. This will show completed as long as the payment has moved into processing (ie; funds are moving or pending move and the transaction was not declined).
senderTransactionStatus has to do with the funds leaving the senders account. It would show completed if it is an INSTANT payment (that completed): creditcard, instant transfer, balance transfer. Pending would show if the funds are on hold because of eCheck, Sending Limits, Risk Review, etc. There are a list of pendingReasons on the PaymentDetails API page. OTHER may mean something that is not disclosed to either party due to privacy policy: it could be compliance related, Remittance Transfer Rule, etc.
transactionStatus should be completed once the receiver has the funds in their account. Though, this can change depending on what is happening with the transaction. IE: refunds, holds because of chargebacks, reversals due to risk or unauthorized account access. Edit: This will be NULL if the email address of the receiver is NOT VALID. pendingReason will say UNILATERAL because this email address does not exist in the system and is UNCLAIMED
If the transactionStatus is not NULL, it and senderTransactionStatus will always be the same. This includes being pending for Payment Review, Manually accepting currency, eCheck, Instant Bank Transfer. Everything.
is there a way to detect canceled transactions?
My API is working fine, but someone is cheating somehow, transaction pass verification and API get the info and credits are added to account, but after 30-45 sec transaction is canceled and I see only this message
"The payment was cancelled and the money was returned to the sender's account."
Thank you.
That's what IPN is for. If a payment status changes, you get a notice sent to you when it happens.
Paypal IPN request to my callback Pending status.
In my workflow I only save the order after they pass all checking steps as: business email, mc_gross... and the status must be "Completed".
So when I receive a request from Paypal with Pending status, system will not save order into the database.
My question is will Paypal send another request after the order status change to Completed ?
Yes, when a pending transaction updates to Completed (or Failed, or whatever) you will get an additional IPN with the updated details.