at which event CANCELLATION and CANCEL_ON_RENEWAL IPN's are sent from Bluesnap - bluesnap

I have confusion at which event CANCELLATION and CANCEL_ON_RENEWAL IPN's are sent from Bluesnap and what is the difference between these events ?

According to BlueSnap IPN page:
https://support.bluesnap.com/docs/default-ipns
CANCELLATION
Sent when a recurring charge is cancelled. The cancellation can be initiated by the customer, merchant, or BlueSnap.
CANCEL_ON_RENEWAL
Sent when a customer requests to cancel a subscription that is set to auto renew. The subscription will be cancelled automatically at the end of the subscription period.
Is that answers your question?
Shachaf;

Related

After the trial period which PayPal webhook event is fired?

I have implemented Paypal subscription with a seven-day free trial, then the payment is captured if the user did not cancel his subscription. which webhook event is fired in the normal case (payment done after trial period)?
All Subscription payments will result in the event PAYMENT.SALE.COMPLETED the moment the transaction completes.
Other than BILLING.SUBSCRIPTION.ACTIVATED for the case of trials starting without a payment, you can build all subscription logic based on listening for just PAYMENT.SALE.COMPLETED and making a note of when you expect the next one. Other billing subscription events aren't necessary nor useful to track.

Stripe's "cancel_at_period_end" equivalent in paypal?

I implement a subscription site in which the subscriptions plans are monthly.
I use IPN to handle subscription events.
Now, If a recurring payment failed, I will get the relevant event and will cancel the subscription in my side.
But, what should I do when a user cancels his subscription via my site, and he still has time left in his subscription, and I want to cancel the subscription only in the end of the subscription period?
What can I do if the user cancels his subscription via PayPal and still has time left in his subscription?
In stripe you simply set "cancel_at_period_end=true" and then it's the same scenario.
There is no equivalent, PayPal doesn't keep track of anything for you. You'll receive cancel events whenever a profile is cancelled.
If you want to keep track of paid-through periods, that logic is up to you.

Handling PayPal IPNs received in unexpected time order

When a user placed an order, the IPN listener would receive a notification from PayPal with the payment_status='Completed'. Later, for some reasons, if we had to refund to the user, PayPal would send a notification to the listener with payment_status='Refunded' or payment_status='Reversed'.
Since the internet is not always reliable, is this possible for the IPN listener to receive these two IPNs in the wrong order? In other words, the IPN listener received the Refunded notification before the Completed notification.
If yes, what are the typical approaches to handle such case?

PayPal recurring payment verification

After one has created a monthly billing agreement with a customer; how do I verify that the customer has paid (and not cancelled the agreement) at the next bill statement?
Would I use GetRecurringPaymentsProfileDetails for this information? Basically, I want to automate cancellations/etc.
In your ipn end point a subscr_cancel txn_type is sent when this happens. Then you can update a record in your database to account for this.
Ipn messages when enabled send post requests for all kinds of actions such when a Payment is made or a subscription is cancelled. When you receive a message you need to validate the message, determine what message it is, and then perform an action in your application
Ipn info
https://developer.paypal.com/docs/classic/products/instant-payment-notification/

Paypal payment made but IPN not triggered due to down server on merchant website

Could anybody please tell me what happen if payment is made on PayPal but IPN is not triggered because server is down on merchant website.
How paypal will check and authorize the payment on merchant server?
IPN is an (optional) notification service, it isn't related to the transaction (aka "checkout flow", "payment flow") per se. It notifies the receiver (of the IPN message) of event(s) in transactions that occur at Paypal.
Instant Payment Notification
Instant Payment Notification (IPN) is a message service that automatically notifies merchants of events related to PayPal transactions. Merchants can use it to automate back-office and administrative functions, like automatically fulfilling orders and providing customers with order status.
...
Using IPN in your checkout flow
Although PayPal usually processes IPN messages immediately, IPN is not synchronized with actions on your website. Internet connectivity
is not always 100% reliable and IPN messages can be lost or delayed.
The IPN service automatically resends messages until the listener
acknowledges them. The service resends messages for up to 4 days.
Because IPN is not a real-time service, your checkout flow should not
wait for the IPN message before it is allowed to complete. If the
checkout flow is dependent on receiving an IPN message, processing can
be delayed by system load or other reasons. You should configure your
checkout flow to handle a possible delay.
Hth..