Maybe I can work better if I understand a few things more clearly:
1) when there's code like
public function update($order_id, $order_status_id, $comment = '', $notify = false) {
$this->extensions->hk_update($this, $order_id, $order_status_id, $comment, $notify);
}
public function _update($order_id, $order_status_id, $comment = '', $notify = false){ } (for some reason, I am not allowed to use the code-tag here
)
does this mean that now _update() is called? But why does the extension need to define this? I would rather think that only the second method is needed in the extension and the core stack will somehow call this new _update method
2) why do I need to alter the payment extension? Isn't my usecase something that has to be done when the invoice is created?
3) what is the difference between
storefront/controller/responses and
/storefront/controller/pages?
4) another example of where I don't understand php: the abstract class Model has a member $registry. If in eclipse I follow a method call of this member, it leads me to registry.php final class Registry. How can I or eclipse know the type of this member?? Uhm, is it that /** in php are not just comments??? If I delete the "comment" above the __construct method, eclipse doesn't know which type it is anymore.
If it would be easier, I think if I can just generate the unique code (only once per successful payment) and present it to the user somehow, I would also do this. In the end, I just need to give the code to the user somehow (mail would also be fine).