defensive code in payment presenter