Module: Affirm::Charge
Instance Method Summary collapse
-
#authorize(checkout_token, order_id, reference_id: nil) ⇒ Object
Authorize a checkout token against the Affirm v1 Transactions API.
- #capture(transaction_id, **options) ⇒ Object
- #find(transaction_id) ⇒ Object
- #refund(transaction_id, amount:) ⇒ Object
- #update(transaction_id, **updates) ⇒ Object
- #void(transaction_id) ⇒ Object
Instance Method Details
#authorize(checkout_token, order_id, reference_id: nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/affirm/charge.rb', line 10 def (checkout_token, order_id, reference_id: nil) if order_id.nil? || order_id.to_s.empty? raise ArgumentError, "order_id is required for Affirm v1 authorize" end payload = { transaction_id: checkout_token, order_id: order_id.to_s } payload[:reference_id] = reference_id if reference_id respond Client.request(:post, "transactions", **payload) end |
#capture(transaction_id, **options) ⇒ Object
28 29 30 |
# File 'lib/affirm/charge.rb', line 28 def capture(transaction_id, **) respond Client.request(:post, "transactions/#{transaction_id}/capture", **) end |
#find(transaction_id) ⇒ Object
24 25 26 |
# File 'lib/affirm/charge.rb', line 24 def find(transaction_id) respond Client.request(:get, "transactions/#{transaction_id}") end |
#refund(transaction_id, amount:) ⇒ Object
36 37 38 |
# File 'lib/affirm/charge.rb', line 36 def refund(transaction_id, amount:) respond Client.request(:post, "transactions/#{transaction_id}/refund", amount: amount) end |