即使在braintree中出错,result.credit_card_verification仍返回nil
我正在使用braintree进行支付处理,我正在尝试使用Ruby从Braintree获取处理器响应代码 。
这是我的代码:
verification = result.credit_card_verification response_code = verification.try(:processor_response_code)
即使出现错误,我也会将validation结果为零。
还有其他东西可以获得处理器响应代码吗?
我从这里得到了这个代码
这是我的result.erros:
:errors: !ruby/object:Braintree::Errors errors: !ruby/object:Braintree::ValidationErrorCollection errors: [] nested: :customer: !ruby/object:Braintree::ValidationErrorCollection errors: [] nested: :credit_card: !ruby/object:Braintree::ValidationErrorCollection errors: - !ruby/object:Braintree::ValidationError code: '81707' attribute: cvv message: CVV must be 4 digits for American Express and 3 digits for other card types. - !ruby/object:Braintree::ValidationError code: '81713' attribute: expiration_year message: Expiration year is invalid. - !ruby/object:Braintree::ValidationError code: '81703' attribute: number message: Credit card type is not accepted by this merchant account. - !ruby/object:Braintree::ValidationError code: '81715' attribute: number message: Credit card number is invalid. nested: :billing_address: !ruby/object:Braintree::ValidationErrorCollection errors: [] nested: {}
我在布伦特里工作。 如果您想获得比Stack Overflow更多的帮助,请联系我们的支持团队 。
处理Braintree结果对象是渐进的。
如果result.success?
如果为false
,则检查result.errors
,它表示validation错误 。
如果result.errors
为nil
,则请求有效。 在这种情况下,您将拥有一个transaction
或verification
对象,就像result.success?
是true
。
然后,您可以查看result.verification
的status
, processor_response_code
, gateway_rejection_reason
等。
链接的文档提供了有关处理错误结果的更多详细信