Class: StraddlePay::Resources::Paykeys

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

Overview

Manage paykeys (tokenized bank account references).

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 paykey.

Parameters:

  • id (String)

    paykey ID

Returns:

  • (Hash)

    cancelled paykey



46
47
48
49
# File 'lib/straddle_pay/resources/paykeys.rb', line 46

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

#get(id, **options) ⇒ Hash

Retrieve a paykey by ID.

Parameters:

  • id (String)

    paykey ID

Returns:

  • (Hash)

    paykey details



11
12
13
14
# File 'lib/straddle_pay/resources/paykeys.rb', line 11

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

#get_review(id, **options) ⇒ Hash

Get the current review details for a paykey.

Parameters:

  • id (String)

    paykey ID

Returns:

  • (Hash)

    review details



66
67
68
69
# File 'lib/straddle_pay/resources/paykeys.rb', line 66

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

#list(**options) ⇒ Hash

List paykeys with optional filters.

Returns:

  • (Hash)

    paginated paykey list



19
20
21
22
# File 'lib/straddle_pay/resources/paykeys.rb', line 19

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

#refresh_balance(id, **options) ⇒ Hash

Refresh a paykey's balance.

Parameters:

  • id (String)

    paykey ID

  • options (Hash)

    optional request body or header params

Returns:

  • (Hash)

    refreshed paykey details



87
88
89
90
91
# File 'lib/straddle_pay/resources/paykeys.rb', line 87

def refresh_balance(id, **options)
  payload = options.compact
  headers = extract_headers(payload)
  @client.put("v1/paykeys/#{id}/refresh_balance", payload.empty? ? nil : payload, headers: headers)
end

#refresh_review(id, **options) ⇒ Hash

Refresh a paykey's identity review decision.

Parameters:

  • id (String)

    paykey ID

  • options (Hash)

    request body or header params

Returns:

  • (Hash)

    refreshed paykey details



76
77
78
79
80
# File 'lib/straddle_pay/resources/paykeys.rb', line 76

def refresh_review(id, **options)
  payload = options.compact
  headers = extract_headers(payload)
  @client.put("v1/paykeys/#{id}/refresh_review", payload.empty? ? nil : payload, headers: headers)
end

#reveal(id, **options) ⇒ Hash

Reveal full paykey details (sensitive).

Parameters:

  • id (String)

    paykey ID

Returns:

  • (Hash)

    revealed paykey



37
38
39
40
# File 'lib/straddle_pay/resources/paykeys.rb', line 37

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

#review(id, status:, **options) ⇒ Hash

Submit a review decision for a paykey.

Parameters:

  • id (String)

    paykey ID

  • status (String)

    decision status (e.g. "approved", "rejected")

Returns:

  • (Hash)

    updated paykey



56
57
58
59
60
# File 'lib/straddle_pay/resources/paykeys.rb', line 56

def review(id, status:, **options)
  payload = { status: status, **options }.compact
  headers = extract_headers(payload)
  @client.patch("v1/paykeys/#{id}/review", payload, headers: headers)
end

#unblock(id, **options) ⇒ Hash

Unblock a paykey (R29 unblock flow).

Parameters:

  • id (String)

    paykey ID

  • options (Hash)

    optional request body or header params

Returns:

  • (Hash)

    unblocked paykey details



98
99
100
101
102
# File 'lib/straddle_pay/resources/paykeys.rb', line 98

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

#unmasked(id, **options) ⇒ Hash

Retrieve unmasked paykey details.

Parameters:

  • id (String)

    paykey ID

Returns:

  • (Hash)

    unmasked paykey details



28
29
30
31
# File 'lib/straddle_pay/resources/paykeys.rb', line 28

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