I have been using PayWay Net for a few months now but regret that I did not go with the PayWay API solution.
Unfortunately, the provided payment module works in a way that leads to a very poor user experience.
When the user clicks the 'confirm order' button, the order is created, and the user is redirected to the payway website. Because the order is now created, if the user cancels payment - or the payment is declined, the cart contents are emptied and the user can not attempt another payment - and you are left with an order that has not been paid for.
It seems like the solution would be to change the behaviour so as the order is created until payment is confirmed. There are issues here as well, as PayWay Net requires a customer reference, which is the order id. This order id is also used to as the key when the server to server notification updates the order status on successful payment.
To provide better integration with zen cart, and good user experience the module needs to work in a way where the order is not created until payment is accepted. It also needs to ensure that the additional order processing functions (like email notifications) are called correctly.
I am working on trying to alter this behaviour, but so far am not having any luck. It is also difficult to test because you cant use your production account and a test account at the same time.
Simon