This needs to return true/false and we need to change what our response to the user is accordingly. Otherwise we risk the transaction not going through but the user being told it did.