Payment is a fully pluggable and reusable platform for processing payments. Modules implementing it and payment methods are completely unaware of each other, which means that any module can use any payment method plugged into Payment and vice versa.
This handbook section describes the thoughts behind and the workflow of the Payment project, which is useful for site builders and developers.
For callback documentation, see the places where those callbacks are supposed to be configured, e.g. for the payment finish callback, which is
Payment::finish_callback, see the declaration of that property in the
Payment class definition.