Class: Nihaopay::Transactions::Capture
- Defined in:
- lib/nihaopay/transactions/capture.rb
Constant Summary
Constants included from Queryable
Constants included from Api
Api::LIVE_HOST, Api::TEST_HOST, Api::VERSION
Instance Attribute Summary collapse
-
#capture_transaction_id ⇒ Object
Returns the value of attribute capture_transaction_id.
-
#captured ⇒ Object
Returns the value of attribute captured.
Attributes inherited from Base
#amount, #currency, #note, #reference, #status, #time, #token, #transaction_id, #type
Class Method Summary collapse
- .request_params(options = {}) ⇒ Object
- .request_url(transaction_id) ⇒ Object
- .response_keys_map ⇒ Object
- .start(transaction_id, amount, currency, options = {}) ⇒ Object
- .valid_attributes ⇒ Object
- .valid_options ⇒ Object
Methods inherited from Base
build, build_from_response!, #cancel, #capture, #initialize, #partial_capture, #partial_refund, #refund, #release, request_body, request_headers
Methods included from Queryable
Methods included from Api
Constructor Details
This class inherits a constructor from Nihaopay::Transactions::Base
Instance Attribute Details
#capture_transaction_id ⇒ Object
Returns the value of attribute capture_transaction_id.
4 5 6 |
# File 'lib/nihaopay/transactions/capture.rb', line 4 def capture_transaction_id @capture_transaction_id end |
#captured ⇒ Object
Returns the value of attribute captured.
4 5 6 |
# File 'lib/nihaopay/transactions/capture.rb', line 4 def captured @captured end |
Class Method Details
.request_params(options = {}) ⇒ Object
19 20 21 22 23 |
# File 'lib/nihaopay/transactions/capture.rb', line 19 def request_params( = {}) params = Nihaopay::HashUtil.slice(, *) params[:reserved] = { 'sub_mid' => [:sub_mid].to_s }.to_json if .key?(:sub_mid) params end |
.request_url(transaction_id) ⇒ Object
15 16 17 |
# File 'lib/nihaopay/transactions/capture.rb', line 15 def request_url(transaction_id) "#{base_url}/transactions/#{transaction_id}/capture" end |
.response_keys_map ⇒ Object
33 34 35 |
# File 'lib/nihaopay/transactions/capture.rb', line 33 def response_keys_map { id: :transaction_id, transaction_id: :capture_transaction_id } end |
.start(transaction_id, amount, currency, options = {}) ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/nihaopay/transactions/capture.rb', line 7 def start(transaction_id, amount, currency, = {}) @token = .delete(:token) url = request_url(transaction_id) params = request_params(.merge(amount: amount, currency: currency)) response = HTTParty.post(url, headers: request_headers, body: request_body(params)) build_from_response!(response) end |
.valid_attributes ⇒ Object
29 30 31 |
# File 'lib/nihaopay/transactions/capture.rb', line 29 def valid_attributes %i[transaction_id status captured capture_transaction_id time].freeze end |
.valid_options ⇒ Object
25 26 27 |
# File 'lib/nihaopay/transactions/capture.rb', line 25 def %i[amount currency].freeze end |