stripe / stripe-ruby

Ruby library for the Stripe API.
https://stripe.com
MIT License
1.94k stars 543 forks source link

Undefined method `verify' for Stripe::BankAccount:Class #1410

Closed addielmoldes closed 3 months ago

addielmoldes commented 3 months ago

Describe the bug

{ "error": "undefined method `verify' for Stripe::BankAccount:Class source = Stripe::BankAccount.verify('cus_9s6XGDTHzA66Po', 'ba_1NAiwl2eZvKYlo2CRdCLZSxO', { amounts: [32, 45] }) }

To Reproduce

Stripe::BankAccount.verify('cus_9s6XGDTHzA66Po', 'ba_1NAiwl2eZvKYlo2CRdCLZSxO', { amounts: [32, 45] })

Expected behavior

Bank account verification

Code snippets

No response

OS

Manjaro Linux

Language version

Ruby 3.1.3

Library version

stripe-ruby v11.5

API version

2024-04-10

Additional context

No response

anniel-stripe commented 3 months ago

Hi @addielmoldes , thanks for writing in! The verify method is an instance method on BankAccount, not a class method.

To call the method, you'll need to retrieve the bank account first using Stripe::Customer.retrieve_payment_method. The final example would look something like

ba = Stripe::Customer.retrieve_payment_method('cus_9s6XGDTHzA66Po', 'ba_1NAiwl2eZvKYlo2CRdCLZSxO')
ba.verify( { amounts: [32, 45] })

I see that the Ruby example on https://docs.stripe.com/api/customer_bank_accounts/verify is incorrect - I'm assuming this is what you were referring to with your example since the values look the same. We'll look into getting that fixed in the docs.

anniel-stripe commented 3 months ago

I'm going to close this issue since this is a docs bug that we're tracking internally and not so much a bug in the SDK itself. Again, thank you for flagging this!

ramya-stripe commented 2 months ago

Update:

We have since found that this was not a docs bug and we should have had the static method for verify on BankAccount. As of version 12.0.0 of the stripe-ruby package, this has now been implemented - Stripe::BankAccount.verify()