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.
3575 3576 3577 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3575 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.
3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3581 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.
3599 3600 3601 3602 3603 3604 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3599 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.
3610 3611 3612 3613 3614 3615 3616 3617 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3610 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 |