Class: Square::Cards::Client
- Inherits:
-
Object
- Object
- Square::Cards::Client
- Defined in:
- lib/square/cards/client.rb
Instance Method Summary collapse
-
#create(request_options: {}, **params) ⇒ Square::Types::CreateCardResponse
Adds a card on file to an existing merchant.
-
#disable(request_options: {}, **params) ⇒ Square::Types::DisableCardResponse
Disables the card, preventing any further updates or charges.
-
#get(request_options: {}, **params) ⇒ Square::Types::GetCardResponse
Retrieves details for a specific Card.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Square::Types::ListCardsResponse
Retrieves a list of cards owned by the account making the request.
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/square/cards/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create(request_options: {}, **params) ⇒ Square::Types::CreateCardResponse
Adds a card on file to an existing merchant.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/square/cards/client.rb', line 80 def create(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/cards", body: Square::Cards::Types::CreateCardRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::CreateCardResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#disable(request_options: {}, **params) ⇒ Square::Types::DisableCardResponse
Disables the card, preventing any further updates or charges. Disabling an already disabled card is allowed but has no effect.
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/square/cards/client.rb', line 150 def disable(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/cards/#{params[:card_id]}/disable", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::DisableCardResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#get(request_options: {}, **params) ⇒ Square::Types::GetCardResponse
Retrieves details for a specific Card.
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/square/cards/client.rb', line 115 def get(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/cards/#{params[:card_id]}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::GetCardResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list(request_options: {}, **params) ⇒ Square::Types::ListCardsResponse
Retrieves a list of cards owned by the account making the request. A max of 25 cards will be returned.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/square/cards/client.rb', line 30 def list(request_options: {}, **params) params = Square::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[cursor customer_id include_disabled reference_id sort_order] query_params = {} query_params["cursor"] = params[:cursor] if params.key?(:cursor) query_params["customer_id"] = params[:customer_id] if params.key?(:customer_id) query_params["include_disabled"] = params[:include_disabled] if params.key?(:include_disabled) query_params["reference_id"] = params[:reference_id] if params.key?(:reference_id) query_params["sort_order"] = params[:sort_order] if params.key?(:sort_order) params.except(*query_param_names) Square::Internal::CursorItemIterator.new( cursor_field: :cursor, item_field: :cards, initial_cursor: query_params[:cursor] ) do |next_cursor| query_params[:cursor] = next_cursor request = Square::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/cards", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Square::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Square::Types::ListCardsResponse.load(response.body) else error_class = Square::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |