class GoCardlessPro::Services::BankDetailsLookupsService
Service for making requests to the BankDetailsLookup endpoints
Public Instance Methods
Source
# File lib/gocardless_pro/services/bank_details_lookups_service.rb, line 44 def create(options = {}) path = '/bank_details_lookups' params = options.delete(:params) || {} options[:params] = {} options[:params][envelope_key] = params options[:retry_failures] = true response = make_request(:post, path, options) return if response.body.nil? Resources::BankDetailsLookup.new(unenvelope_body(response.body), response) end
Performs a bank details lookup. As part of the lookup, a modulus check and reachability check are performed.
For UK-based bank accounts, where an account holder name is provided (and an account number, a sort code or an iban are already present), we verify that the account holder name and bank account number match the details held by the relevant bank.
If your request returns an [error](api-usage-errors) or the ‘available_debit_schemes` attribute is an empty array, you will not be able to collect payments from the specified bank account. GoCardless may be able to collect payments from an account even if no `bic` is returned.
Bank account details may be supplied using [local details](appendix-local-bank-details) or an IBAN.
_ACH scheme_ For compliance reasons, an extra validation step is done using a third-party provider to make sure the customer’s bank account can accept Direct Debit. If a bank account is discovered to be closed or invalid, the customer is requested to adjust the account number/routing number and succeed in this check to continue with the flow.
Note: Usage of this endpoint is monitored. If your organisation relies on GoCardless for modulus or reachability checking but not for payment collection, please get in touch. Example URL: /bank_details_lookups @param options [Hash] parameters as a hash, under a params key.
Private Instance Methods
Source
# File lib/gocardless_pro/services/bank_details_lookups_service.rb, line 70 def envelope_key 'bank_details_lookups' end
return the key which API responses will envelope data under
Source
# File lib/gocardless_pro/services/bank_details_lookups_service.rb, line 65 def unenvelope_body(body) body[envelope_key] || body['data'] end
Unenvelope the response of the body using the service’s ‘envelope_key`
@param body [Hash]