class GoCardlessPro::Services::BankDetailsLookupsService

Service for making requests to the BankDetailsLookup endpoints

Public Instance Methods

create(options = {}) click to toggle source

Performs a bank details lookup. As part of the lookup, a modulus check and reachability check are performed.

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.

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.

# File lib/gocardless_pro/services/bank_details_lookups_service.rb, line 32
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

Private Instance Methods

envelope_key() click to toggle source

return the key which API responses will envelope data under

# File lib/gocardless_pro/services/bank_details_lookups_service.rb, line 58
def envelope_key
  'bank_details_lookups'
end
unenvelope_body(body) click to toggle source

Unenvelope the response of the body using the service's `envelope_key`

@param body [Hash]

# File lib/gocardless_pro/services/bank_details_lookups_service.rb, line 53
def unenvelope_body(body)
  body[envelope_key] || body['data']
end