Wix Pay API: Failed and Cancelled

In order to give some clear feedback to the user, can someone explain what the above 2 statuses mean? Under which conditions are they returned, and in particular:

failed: because there is an Offline too, is a failed payment a payment without funds?
cancelled: who canceled it? The client? Can this be done during the payment or only after a PaymentUpdateEvent?

For those who are interested: I found out that status “cancelled” is triggered when the pop-up is closed before going to the payment provider. Client name and transaction id then both return Null.