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.
3848 3849 3850 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3848 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.
3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3854 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.
3872 3873 3874 3875 3876 3877 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3872 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.
3883 3884 3885 3886 3887 3888 3889 3890 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 3883 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 |