class CheckoutSdk::ApiResource
Attributes
checkout_connection[R]
Public Class Methods
new()
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 7 def initialize @checkout_connection = Excon.new("#{CheckoutSdk.configuration.base_url}", persistent: true) end
Public Instance Methods
add_payment_source(data_object)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 27 def add_payment_source(data_object) post_request("/sources", data_object.data) end
capture_payment(data_object)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 15 def capture_payment(data_object) post_request("/payments/#{data_object.id}/captures", data_object.data) end
get_payment_actions(id)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 39 def get_payment_actions(id) get("/payments/#{id}/actions") end
get_payment_details(id)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 35 def get_payment_details(id) get("/payments/#{id}") end
refund_payment(data_object)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 19 def refund_payment(data_object) post_request("/payments/#{data_object.id}/refunds", data_object.data) end
request_payment(data_object)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 11 def request_payment(data_object) post_request("/payments", data_object.data) end
request_token(data_object)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 31 def request_token(data_object) post_request("/tokens", data_object.data) end
void_payment(data_object)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 23 def void_payment(data_object) post_request("/payments/#{data_object.id}/voids", data_object.data) end
Private Instance Methods
delete_blank(data_hash)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 69 def delete_blank(data_hash) data_hash.delete_if do |k, v| (v.respond_to?(:empty?) ? v.empty? : v.nil?) or v.instance_of?(Hash) && delete_blank(v).empty? end end
get(path)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 54 def get(path) checkout_connection.get( path: path, headers: { "Authorization" => CheckoutSdk.configuration.secret_key } ) end
key(path)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 61 def key(path) if path == "/tokens" CheckoutSdk.configuration.public_key else CheckoutSdk.configuration.secret_key end end
post_request(path, data)
click to toggle source
# File lib/checkout_sdk/api_resource.rb, line 45 def post_request(path, data) checkout_connection.post( path: path, body: MultiJson.dump(delete_blank(data)), headers: { "Content-Type" => "application/json", "Authorization" => key(path) } ) end