update to use a button to pay. This is because the contents of this method are called from another method. That other method has already started output, and as such you cannot redirect while output has started.

Some JS perhaps could be added below the button to set the window location to the href value.