Class: StraddlePay::Resources::EmbedLinkedBankAccounts

Inherits:
Base
  • Object
show all
Defined in:
lib/straddle_pay/resources/embed_linked_bank_accounts.rb

Overview

Manage linked bank accounts for embedded accounts. Accessed via StraddlePay::Resources::Embed#linked_bank_accounts.

Constant Summary

Constants inherited from Base

Base::HEADER_KEYS

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from StraddlePay::Resources::Base

Instance Method Details

#cancel(id, **options) ⇒ Hash

Cancel a linked bank account.

Parameters:

  • id (String)

    linked bank account ID

Returns:

  • (Hash)

    cancelled linked bank account



53
54
55
56
# File 'lib/straddle_pay/resources/embed_linked_bank_accounts.rb', line 53

def cancel(id, **options)
  headers = extract_headers(options)
  @client.patch("v1/linked_bank_accounts/#{id}/cancel", options.empty? ? nil : options, headers: headers)
end

#create(account_id:, bank_account:, description: nil, **options) ⇒ Hash

Link a bank account to an embedded account.

Parameters:

  • account_id (String)

    parent account ID

  • bank_account (Hash)

    bank details (account_number, routing_number)

  • description (String, nil) (defaults to: nil)

    account description

Returns:

  • (Hash)

    created linked bank account



14
15
16
17
18
19
20
21
# File 'lib/straddle_pay/resources/embed_linked_bank_accounts.rb', line 14

def create(account_id:, bank_account:, description: nil, **options)
  payload = {
    account_id: , bank_account: ,
    description: description, **options
  }.compact
  headers = extract_headers(payload)
  @client.post("v1/linked_bank_accounts", payload, headers: headers)
end

#get(id, **options) ⇒ Hash

Retrieve a linked bank account by ID.

Parameters:

  • id (String)

    linked bank account ID

Returns:

  • (Hash)

    linked bank account details



27
28
29
30
# File 'lib/straddle_pay/resources/embed_linked_bank_accounts.rb', line 27

def get(id, **options)
  headers = extract_headers(options)
  @client.get("v1/linked_bank_accounts/#{id}", headers: headers)
end

#list(**options) ⇒ Hash

List linked bank accounts with optional filters.

Returns:

  • (Hash)

    paginated linked bank account list



35
36
37
38
# File 'lib/straddle_pay/resources/embed_linked_bank_accounts.rb', line 35

def list(**options)
  headers = extract_headers(options)
  @client.get("v1/linked_bank_accounts", params: options, headers: headers)
end

#unmask(id, **options) ⇒ Hash

Retrieve unmasked linked bank account details.

Parameters:

  • id (String)

    linked bank account ID

Returns:

  • (Hash)

    unmasked linked bank account details



62
63
64
65
# File 'lib/straddle_pay/resources/embed_linked_bank_accounts.rb', line 62

def unmask(id, **options)
  headers = extract_headers(options)
  @client.get("v1/linked_bank_accounts/#{id}/unmask", headers: headers)
end

#update(id, **options) ⇒ Hash

Update a linked bank account.

Parameters:

  • id (String)

    linked bank account ID

Returns:

  • (Hash)

    updated linked bank account



44
45
46
47
# File 'lib/straddle_pay/resources/embed_linked_bank_accounts.rb', line 44

def update(id, **options)
  headers = extract_headers(options)
  @client.put("v1/linked_bank_accounts/#{id}", options, headers: headers)
end