Class: Io::Flow::V0::Clients::VirtualCards
- Inherits:
-
Object
- Object
- Io::Flow::V0::Clients::VirtualCards
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Instance Method Summary collapse
-
#get(organization, incoming = {}) ⇒ Object
Retrieve all the virtual credit cards that have been created matching selected criteria.
-
#get_by_key(organization, key) ⇒ Object
Retrieves a virtual credit card using your unique key used when creating the card.
-
#initialize(client) ⇒ VirtualCards
constructor
A new instance of VirtualCards.
-
#put_authorizations_by_key_and_authorization_key(organization, key, authorization_key, virtual_card_form) ⇒ Object
Creates a new virtual credit card.
Constructor Details
#initialize(client) ⇒ VirtualCards
Returns a new instance of VirtualCards.
3445 3446 3447 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3445 def initialize(client) @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client) end |
Instance Method Details
#get(organization, incoming = {}) ⇒ Object
Retrieve all the virtual credit cards that have been created matching selected criteria.
3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3451 def get(organization, incoming={}) HttpClient::Preconditions.assert_class('organization', organization, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }), :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String)), :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer), :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer), :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String) }.delete_if { |k, v| v.nil? } r = @client.request("/#{CGI.escape(organization)}/virtual/cards").with_query(query).get r.map { |x| ::Io::Flow::V0::Models::VirtualCard.new(x) } end |
#get_by_key(organization, key) ⇒ Object
Retrieves a virtual credit card using your unique key used when creating the card. Note that the card number and cvv will not be returned by this request to maintain PCI compliance. If you have lost these details you will need to create a new card.
3469 3470 3471 3472 3473 3474 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3469 def get_by_key(organization, key) HttpClient::Preconditions.assert_class('organization', organization, String) HttpClient::Preconditions.assert_class('key', key, String) r = @client.request("/#{CGI.escape(organization)}/virtual/cards/#{CGI.escape(key)}").get ::Io::Flow::V0::Models::VirtualCard.new(r) end |
#put_authorizations_by_key_and_authorization_key(organization, key, authorization_key, virtual_card_form) ⇒ Object
Creates a new virtual credit card. The card number and cvv will only be returned once when creating the card to maintain PCI compliance. This end point is idempotent and subsequent calls with same key will return details for the previously created card.
3480 3481 3482 3483 3484 3485 3486 3487 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3480 def (organization, key, , virtual_card_form) HttpClient::Preconditions.assert_class('organization', organization, String) HttpClient::Preconditions.assert_class('key', key, String) HttpClient::Preconditions.assert_class('authorization_key', , String) (x = virtual_card_form; x.is_a?(::Io::Flow::V0::Models::VirtualCardForm) ? x : ::Io::Flow::V0::Models::VirtualCardForm.new(x)) r = @client.request("/#{CGI.escape(organization)}/virtual/cards/#{CGI.escape(key)}/authorizations/#{CGI.escape()}").with_json(virtual_card_form.to_json).put ::Io::Flow::V0::Models::VirtualCard.new(r) end |