Class: StraddlePay::Resources::Charges
- Defined in:
- lib/straddle_pay/resources/charges.rb
Overview
Manage ACH charge (debit) transactions.
Constant Summary
Constants inherited from Base
Instance Method Summary collapse
-
#cancel(id, **options) ⇒ Hash
Cancel a charge.
-
#create(paykey:, amount:, currency:, description:, payment_date:, consent_type:, device:, external_id:, config:, **options) ⇒ Hash
Create a new charge.
-
#get(id, **options) ⇒ Hash
Retrieve a charge by ID.
-
#hold(id, **options) ⇒ Hash
Place a charge on hold.
-
#release(id, **options) ⇒ Hash
Release a held charge.
-
#resubmit(id, **options) ⇒ Hash
Resubmit a failed or reversed charge.
-
#unmask(id, **options) ⇒ Hash
Retrieve unmasked charge details.
-
#update(id, **options) ⇒ Hash
Update a charge.
Methods inherited from Base
Constructor Details
This class inherits a constructor from StraddlePay::Resources::Base
Instance Method Details
#cancel(id, **options) ⇒ Hash
Cancel a charge.
57 58 59 60 |
# File 'lib/straddle_pay/resources/charges.rb', line 57 def cancel(id, **) headers = extract_headers() @client.put("v1/charges/#{id}/cancel", , headers: headers) end |
#create(paykey:, amount:, currency:, description:, payment_date:, consent_type:, device:, external_id:, config:, **options) ⇒ Hash
Create a new charge.
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/straddle_pay/resources/charges.rb', line 22 def create( paykey:, amount:, currency:, description:, payment_date:, consent_type:, device:, external_id:, config:, ** ) payload = { paykey: paykey, amount: amount, currency: currency, description: description, payment_date: payment_date, consent_type: , device: device, config: config, external_id: external_id, ** }.compact headers = extract_headers(payload) @client.post("v1/charges", payload, headers: headers) end |
#get(id, **options) ⇒ Hash
Retrieve a charge by ID.
39 40 41 42 |
# File 'lib/straddle_pay/resources/charges.rb', line 39 def get(id, **) headers = extract_headers() @client.get("v1/charges/#{id}", headers: headers) end |
#hold(id, **options) ⇒ Hash
Place a charge on hold.
66 67 68 69 |
# File 'lib/straddle_pay/resources/charges.rb', line 66 def hold(id, **) headers = extract_headers() @client.put("v1/charges/#{id}/hold", , headers: headers) end |
#release(id, **options) ⇒ Hash
Release a held charge.
75 76 77 78 |
# File 'lib/straddle_pay/resources/charges.rb', line 75 def release(id, **) headers = extract_headers() @client.put("v1/charges/#{id}/release", , headers: headers) end |
#resubmit(id, **options) ⇒ Hash
Resubmit a failed or reversed charge.
94 95 96 97 98 |
# File 'lib/straddle_pay/resources/charges.rb', line 94 def resubmit(id, **) payload = .compact headers = extract_headers(payload) @client.post("v1/charges/#{id}/resubmit", payload.empty? ? nil : payload, headers: headers) end |
#unmask(id, **options) ⇒ Hash
Retrieve unmasked charge details.
84 85 86 87 |
# File 'lib/straddle_pay/resources/charges.rb', line 84 def unmask(id, **) headers = extract_headers() @client.get("v1/charges/#{id}/unmask", headers: headers) end |
#update(id, **options) ⇒ Hash
Update a charge.
48 49 50 51 |
# File 'lib/straddle_pay/resources/charges.rb', line 48 def update(id, **) headers = extract_headers() @client.put("v1/charges/#{id}", , headers: headers) end |