Class: StraddlePay::Resources::Payouts
- Defined in:
- lib/straddle_pay/resources/payouts.rb
Overview
Manage ACH payout (credit) transactions.
Constant Summary
Constants inherited from Base
Instance Method Summary collapse
-
#cancel(id, reason:, **options) ⇒ Hash
Cancel a payout.
-
#create(paykey:, amount:, currency:, description:, payment_date:, device:, external_id:, **options) ⇒ Hash
Create a new payout.
-
#get(id, **options) ⇒ Hash
Retrieve a payout by ID.
-
#hold(id, reason:, **options) ⇒ Hash
Place a payout on hold.
-
#release(id, reason:, **options) ⇒ Hash
Release a held payout.
-
#resubmit(id, **options) ⇒ Hash
Resubmit a failed or reversed payout.
-
#unmask(id, **options) ⇒ Hash
Retrieve unmasked payout details.
-
#update(id, **options) ⇒ Hash
Update a payout.
Methods inherited from Base
Constructor Details
This class inherits a constructor from StraddlePay::Resources::Base
Instance Method Details
#cancel(id, reason:, **options) ⇒ Hash
Cancel a payout.
51 52 53 54 55 |
# File 'lib/straddle_pay/resources/payouts.rb', line 51 def cancel(id, reason:, **) payload = { reason: reason, ** }.compact headers = extract_headers(payload) @client.put("v1/payouts/#{id}/cancel", payload, headers: headers) end |
#create(paykey:, amount:, currency:, description:, payment_date:, device:, external_id:, **options) ⇒ Hash
Create a new payout.
19 20 21 22 23 24 25 26 |
# File 'lib/straddle_pay/resources/payouts.rb', line 19 def create(paykey:, amount:, currency:, description:, payment_date:, device:, external_id:, **) payload = { paykey: paykey, amount: amount, currency: currency, description: description, payment_date: payment_date, device: device, external_id: external_id, ** }.compact headers = extract_headers(payload) @client.post("v1/payouts", payload, headers: headers) end |
#get(id, **options) ⇒ Hash
Retrieve a payout by ID.
32 33 34 35 |
# File 'lib/straddle_pay/resources/payouts.rb', line 32 def get(id, **) headers = extract_headers() @client.get("v1/payouts/#{id}", headers: headers) end |
#hold(id, reason:, **options) ⇒ Hash
Place a payout on hold.
62 63 64 65 66 |
# File 'lib/straddle_pay/resources/payouts.rb', line 62 def hold(id, reason:, **) payload = { reason: reason, ** }.compact headers = extract_headers(payload) @client.put("v1/payouts/#{id}/hold", payload, headers: headers) end |
#release(id, reason:, **options) ⇒ Hash
Release a held payout.
73 74 75 76 77 |
# File 'lib/straddle_pay/resources/payouts.rb', line 73 def release(id, reason:, **) payload = { reason: reason, ** }.compact headers = extract_headers(payload) @client.put("v1/payouts/#{id}/release", payload, headers: headers) end |
#resubmit(id, **options) ⇒ Hash
Resubmit a failed or reversed payout.
93 94 95 96 97 |
# File 'lib/straddle_pay/resources/payouts.rb', line 93 def resubmit(id, **) payload = .compact headers = extract_headers(payload) @client.post("v1/payouts/#{id}/resubmit", payload.empty? ? nil : payload, headers: headers) end |
#unmask(id, **options) ⇒ Hash
Retrieve unmasked payout details.
83 84 85 86 |
# File 'lib/straddle_pay/resources/payouts.rb', line 83 def unmask(id, **) headers = extract_headers() @client.get("v1/payouts/#{id}/unmask", headers: headers) end |
#update(id, **options) ⇒ Hash
Update a payout.
41 42 43 44 |
# File 'lib/straddle_pay/resources/payouts.rb', line 41 def update(id, **) headers = extract_headers() @client.put("v1/payouts/#{id}", , headers: headers) end |