Paypal IPN's payment status - paypal

I set up a recurring payment within my website. Of course Paypal is the payment method.
So, when a customer have an empty paypal account, the automatic payment will not be performed.
In this case what's the value of payment_status field ?
And how can I identify the failure of payment ?

The docs for IPN are here.
Per the docs:
payment_status == The status of the payment:
Canceled_Reversal: A reversal has been canceled. For example, you won a dispute with the customer, and the funds for the transaction that was reversed have been returned to you.
Completed: The payment has been completed, and the funds have been added successfully to your account balance.
Created: A German ELV payment is made using Express Checkout.
Denied: The payment was denied. This happens only if the payment was
previously pending because of one of the reasons listed for the
pending_reason variable or the Fraud_Management_Filters_x variable.
Expired: This authorization has expired and cannot be captured.
Failed: The payment has failed. This happens only if the payment was
made from your customer's bank account.
Pending: The payment is pending. See pending_reason for more
information.
Refunded: You refunded the payment.
Reversed: A payment was reversed due to a chargeback or other type of
reversal. The funds have been removed from your account balance and
returned to the buyer. The reason for the reversal is specified in the
ReasonCode element.
Processed: A payment has been accepted.
Voided: This authorization has been voided.

Related

PayPal IPN for solved disputes with a different refund amount offered by the seller

I am integrating PayPal with my site and testing in sandbox.
When the buyer opens a dispute in PayPal Resolution Center to requests a refund, then we receive an IPN with payment_status = Reversed (the refund amount requested by the buyer is removed from the seller's account balance).
Then if the seller agrees to send the full refund, closing the case, then we receive an IPN with payment_status = Canceled_Reversal (the refund amount requested by the buyer is returned to the seller's account balance) and another IPN with payment_status = Refunded (the refund amount requested by the buyer is removed from the seller's account balance and finally returned to the buyer's account balance).
This is the IPNs' payment_status sequence for such case: Reversed > Canceled_Reversal > Refunded
However, the issue occurs when the seller offers a different refund amount to the buyer, who agrees with it, getting the offered amount back and closing the case.
This is the IPNs' payment_status sequence for such case: Reversed > Refunded
It seems to me that the IPN with payment_status = Canceled_Reversal is missing. I need it for financial purposes.
What is wrong? Am I misunderstanding anything?

Get status of Paypal NVP correlationid

I have a transaction with "Correlationid" with Paypal's Express Checkout NVP API. How can I get the details for this correlationid as to whether the transaction was completed or denied?
The CorrelationID is pretty much useless as the transactionID is used in reference lookup such as this. The best solution here to do is run the GETTRANSACTIONDETAILS API call for Express Checkout using the:
PAYMENTSTATUS Status of the payment.
It is one of the following values:
None — No status
Canceled-Reversal — A reversal has been canceled, for example, when you win a dispute and the funds for the reversal have been returned to you.
Completed — The payment has been completed, and the funds have been added successfully to your account balance.
Denied — You denied the payment. This happens only if the payment was previously pending because of possible reasons described for the PendingReason element.
Expired — The authorization period for this payment has been reached.
Failed — The payment has failed. This happens only if the payment was made from your buyer's bank account.
In-Progress — The transaction has not terminated, for example, an authorization may be awaiting completion.
Partially-Refunded — The payment has been partially refunded.
Pending — The payment is pending. See the PendingReason field for more information.
Refunded — You refunded the payment.
Reversed — A payment was reversed due to a chargeback or other type of reversal. The funds have been removed from your account balance and returned to the buyer. The reason for the reversal is specified in the ReasonCode element.
Processed — A payment has been accepted.
Voided — An authorization for this transaction has been voided.
Here is a document to assist you with this call and parameters:
GetTransactionsDetails API

Payum : What is the difference between status?

Where I can find informations on the status of return of payment?
For "canceled" and "failed", it's ok. But what is the difference between "captured", "authorized", "suspended" and "pending". What does it mean for paypal ?
Thanks
Here is the list of Paypal payment status :
Canceled_Reversal: A reversal has been canceled. For example, you won a dispute with the customer, and the funds for the transaction that was reversed have been returned to you.
Completed: The payment has been completed, and the funds have been added successfully to your account balance.
Created: A German ELV payment is made using Express Checkout.
Denied: You denied the payment. This happens only if the payment was previously pending because of possible reasons described for the pending_reason variable or the Fraud_Management_Filters_x variable.
Expired: This authorization has expired and cannot be captured.
Failed: The payment has failed. This happens only if the payment was made from your customer’s bank account.
Pending: The payment is pending. See pending_reason for more information.
Refunded: You refunded the payment.
Reversed: A payment was reversed due to a chargeback or other type of reversal. The funds have been removed from your account balance and returned to the buyer. The reason for the reversal is specified in the ReasonCode element.
Processed: A payment has been accepted.
Voided: This authorization has been voided.
Payum Status :
captured : The payment process has been initialized.
authorized : Is equal to the Completed PP payment status.
suspended : ? (Community action needed)
pending : Is equal to the Pending PP payment status.

Paypal Express Checkout : Get Billing Agreement ID later

During a transaction with creation of billing agreement id using Paypal Express Checkout, if customer completes the payment on paypal page and the network between him and merchant disrupts when redirecting to merchant page. Will his card be charged even if DoExpressCheckout is not made? How to get transaction status along with billing Id after the token is expired for above scenario?
No, Unless you call the DoExpressCheckout API , money is not going to be charged on the buyer's account .

Paypal recurring payment enough money

I'm testing recurring payment on Sandbox of Paypal.
But I find out client's account is not enough money, but their own account is still recieved money.
If client 's account is not enough money, how does the paypal process?
This transaction will be suspend or cancel...
If client'account have enough money then the transaction become activate.
For initial payment, use FAILEDINITAMTACTION, Action you can specify when a payment fails. It is one of the following values:
ContinueOnFailure – By default, PayPal suspends the pending profile in the event that the initial payment amount fails. You can override this default behavior by setting this field to ContinueOnFailure. Then, if the initial payment amount fails, PayPal adds the failed payment amount to the outstanding balance for this recurring payment profile.
When you specify ContinueOnFailure, a success code is returned to you in the CreateRecurringPaymentsProfile response and the recurring payments profile is activated for scheduled billing immediately. You should check your IPN messages or PayPal account for updates of the payment status.
CancelOnFailure – If this field is not set or you set it to CancelOnFailure, PayPal creates the recurring payment profile, but places it into a pending status until the initial payment completes. If the initial payment clears, PayPal notifies you by IPN that the pending profile has been activated. If the payment fails, PayPal notifies you by IPN that the pending profile has been canceled.
Once you are into the regular billing cycle, Be sure to assign a value to MAXFAILEDPAYMENTS, which is the number of scheduled payments that can fail before the profile is automatically suspended. An IPN message is sent to the merchant when the specified number of failed payments is reached.
Then, AUTOBILLOUTAMT Indicates whether you would like PayPal to automatically bill the outstanding balance amount in the next billing cycle. The outstanding balance is the total amount of any previously failed scheduled payments that have yet to be successfully paid. It is one of the following values:
NoAutoBill – PayPal does not automatically bill the outstanding balance.
AddToNextBilling – PayPal automatically bills the outstanding balance.
it is up to you how to handle profiles that suspend.