Chargeback handling/cancelled payments in Omnipay - omnipay

Can I confirm that with gateways like Paypal IPN which are plagued by disputed payments or chargebacks that there is no mechanism within Omnipay to react to these notifications from the Gateway and nullify the payment and then take the appropriate action on the website/database?

You are correct, Omnipay doesn't have support for out of band "notifications" such as PayPal IPN after the payment is processed.
It correctly handles notifications when a payment is first made, but right now there aren't any methods to handle a notification in the event of a chargeback etc down the line.

Related

Shopify - difference between orders/create and orders/paid webhooks

From this thread,
orders/create is fired when the user authorizes the payment
orders/paid is fired when the merchant accepts the payment
If the customers use credit cards, what's the difference? If the customers use cash on delivery (COD), will orders/create fire? Which webhook runs earlier than another one?
I'm using orders/paid webhooks but they are not triggered for COD orders
A merchant can create an order without it being paid (created from the Shopify admin). So one can be created but not paid.
This answer explains it https://community.shopify.com/c/shopify-apis-and-sdks/order-created-and-paid/td-p/1309845

How can I receive a payment notification when I receive Bitcoin in a wallet on Coinbase?

I am building a bitcoin payment processor based on Coinbase. I will receive Bitcoin from end users.
Coinbase lets wallet owners receive notifications of various events via a webhook.
Which event will be generated when a user sends Bitcoin to my Coinbase wallet addresses?
And how can I know from that notification webhook whether the transaction has been confirmed or not? If confirmed, how many times it has been confirmed?
I know there are transaction APIs, but I also need a response from the webhook, because this information is important.
I have got clear understanding after making payment.
I thought Coinbase will call my webhook each time when transaction get confirmed, But they call only once.
And the event responnsible for new payment is wallet:addresses:new-payment. Which is available in their post data
{"id":"5a6956f9-94bb-5c15-99f3-a90347674","type":"wallet:addresses:new-payment" ....

Does paypal send a notification when someone cancels their preapproved payment?

If a user approves a preapproval payment and then goes to paypal and cancels their preapproved payment, does paypal send any kind of notification to my application to let me know that it has been canceled?
Here is some documentation on the matter: Paypal Preapproval API Operation
PayPal sends an IPN message in response to a payment, a refund,
creation of a preapproval, and cancellation of a preapproval. Your IPN
message handler must be set up in the way described in the Instant
Payment Notification Guide.
Source

DNN Problem: Dynamic Registration, Paypal, and User Creation

I'm having a problem with the module Dynamic Registration for DNN.
The module is set up with form completion events in such a way that a user gets redirected to paypal and on completion of payment a user gets created and an email is sent out.
I also have it set up so that an email gets sent out on completion of payment, just to test that the module knows when payment has been completed.
I tried going through the process with the payment gateway (Paypal) enabled - the email gets sent out, but the user does not get created. When I disable the payment gateway, however, a user does get created as well as the email is sent out.
Is there something I'm missing here that is making the module not realize it needs to create the user?
The fact that the module sends out the email makes me think that it should also trigger the Uesr Creation event.
Any ideas/hints as to how Dynamic Registration works with Paypal or how I might be able to fix this?
When the user returns to your site from paypal you must have Friendly URL's turned on or the site can't read the data sent back from paypal.
I found the following information at http://www.datasprings.com/Products/ProductForums/tabid/727/forumid/3/tpage/1/view/topic/postid/4581/language/en-US/Default.aspx#4581
When PayPal integration is turned on:
The user is redirected to PayPal based on the information and settings within your PayPal Payment gateway. This includes the PayPal login, sandbox or standard gateway, and payment information/additional parameters.
Completion events do not get fire off initially
How do completed events get fired off?
When PayPal is enabled Dynamic Completion Events need to be ‘linked’ to PayPal IPN codes. In short, this means that you will specify within the PayPal payment gateway section which ‘completion events’ should be fired off basically conditionally upon which IPN code PayPal will send to your registration form.
For example: Maybe you want to setup a completion event to add the user to a security role, but you only want this to happen when the payment is completed. You would first create the completion event, and then you would ‘link it’ within the PayPal payment gateway section under ‘Form Completion Events / PayPal Payment Status’
For example: Maybe you want to setup a ‘Payment failed’ email to be sent to the administrator if a subscription payment fails. You would first create the completion event, and then you would ‘link it’ within the PayPal payment gateway section under ‘Form Completion Events / PayPal Payment Status’

About paypal express checkout api

In this picture,there are 3 main steps:SetExpressCheckout,GetExpressCheckoutDetails and DoExpressCheckoutDetails,I'm now sure SetExpressCheckout is to be called by myself,what about GetExpressCheckoutDetails and DoExpressCheckoutDetails,is it called by paypal or by myself?
The api is provided to be called by non-paypal I think,but the problem is seems it's redirected to paypal after calling SetExpressCheckout.
(source: paypal.com)
Yes, you are expected to be the one calling these APIs. After you call SetExpressCheckout, you'll get a token back that represents the checkout you're performing. You'll need to use that token and redirect the user to Paypal to approve the payment. After they approve it, Paypal will redirect back to your site and then you can call GetExpressCheckoutDetails and/or DoExpressCheckoutPayment. The GetExpressCheckoutDetails call is useful for getting things like shipping address, etc, since the buyer can set that stuff as part of the approval flow. Once you have all the info you need, the buyer has approved the payment and you're ready to get paid, then call DoExpressCheckoutPayment to get your money.
See the ExpressCheckout docs for an example of a simple integration.