您好我在我的rails应用程序上安装了Mangopay支付解决方案。 即使我用正则表达式更新其配置文件时检查用户的Iban和Bic,有时当我将数据发送到Mangopay时,我收到一条错误消息(我猜是因为即使iban和bic有正确的格式,mangopay也发现它们不是实际存在): “一个或多个必需参数丢失或不正确。不正确的资源ID也会引发此类错误.IBAN:IBAN或BIC无效”
我向Mangopay发送这些信息的代码如下:
def create_mangopay_bank_account
bank_account = MangoPay::BankAccount.create(current_user.mangopay_natural_user_id, mangopay_user_bank_attributes)
current_user.bank_account_id = bank_account["Id"]
current_user.save
end
如何解决此错误?我试过像:
def create_mangopay_bank_account
if MangoPay::BankAccount.create(current_user.mangopay_natural_user_id, mangopay_user_bank_attributes)
bank_account = MangoPay::BankAccount.create(current_user.mangopay_natural_user_id, mangopay_user_bank_attributes)
current_user.bank_account_id = bank_account["Id"]
current_user.save
else
redirect_to user_path
end
但它不起作用......
答案 0 :(得分:0)
找到解决方案:
def create_mangopay_bank_account
bank_account = MangoPay::BankAccount.create(current_user.mangopay_natural_user_id, mangopay_user_bank_attributes)
current_user.bank_account_id = bank_account["Id"]
current_user.save
rescue MangoPay::ResponseError => e
redirect_to root_path
flash[:alert] = "L'Iban ou le Bic que vous avez fourni n'est pas valide. Veuillez vérifier les informations fournies. Si le problème persiste n'hésitez pas à contacter l'équipe TennisMatch."
end
调用rescue可以处理来自mangopay的错误
答案 1 :(得分:0)
这是我如何做到这一点,将代码包含在一个开始救援块中。
def create_mangopay_bank_account
begin
MangoPay::BankAccount.create(current_user.mangopay_natural_user_id, mangopay_user_bank_attributes)
bank_account = MangoPay::BankAccount.create(current_user.mangopay_natural_user_id, mangopay_user_bank_attributes)
current_user.bank_account_id = bank_account["Id"]
current_user.save
rescue MangoPay::ResponseError => exception
#handle your error here
redirect_to user_path
end
end