add mechanism for restoring purchases with error handler.