Module: Pin::API::Charges
- Included in:
- Client
- Defined in:
- lib/pin/api/charges.rb
Instance Method Summary collapse
- #capture_charge(token) ⇒ Object
- #charge(token, params = {}) ⇒ Object
- #charge_search(params = {}) ⇒ Object
- #charges(page = 1) ⇒ Object
- #create_charge(email, description, amount, currency, ip_address, token_or_card, capture = true) ⇒ Object
Instance Method Details
#capture_charge(token) ⇒ Object
20 21 22 23 24 |
# File 'lib/pin/api/charges.rb', line 20 def capture_charge(token) raw_response = api_call(:put, "charges/#{token}/capture") pin_response(raw_response, Pin::Models::Charge.new(raw_response['response'])) end |
#charge(token, params = {}) ⇒ Object
8 9 10 11 12 |
# File 'lib/pin/api/charges.rb', line 8 def charge(token, params={}) raw_response = api_call(:get, "charges/#{token}", params) pin_response(raw_response, Pin::Models::Charge.new(raw_response['response'])) end |
#charge_search(params = {}) ⇒ Object
14 15 16 17 18 |
# File 'lib/pin/api/charges.rb', line 14 def charge_search(params={}) raw_response = api_call(:get, 'charges/search', params) pin_response(raw_response, raw_response['response'].map { |e| Pin::Models::Charge.new(e) }) end |
#charges(page = 1) ⇒ Object
3 4 5 6 |
# File 'lib/pin/api/charges.rb', line 3 def charges(page=1) raw_response = api_call(:get, 'customers', {page: page}) pin_response(raw_response, raw_response['response'].map { |e| Pin::Models::Charge.new(e) }) end |
#create_charge(email, description, amount, currency, ip_address, token_or_card, capture = true) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/pin/api/charges.rb', line 26 def create_charge(email, description, amount, currency, ip_address, token_or_card, capture=true) require_field email, :email require_field description, :description require_field amount, :amount require_field currency, :currency require_field ip_address, :ip_address params = { :email => email, :description => description, :amount => amount, :currency => currency, :ip_address => ip_address, :capture => capture } if token_or_card.is_a?(Hash) then params[:card] = token_or_card else params[token_or_card =~ /^cus_/ ? :customer_token : :card_token] = token_or_card end raw_response = api_call(:post, 'charges', params) pin_response(raw_response, Pin::Models::Charge.new(raw_response['response'])) end |