Class: MaiCoin::CheckoutParamBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/maicoin/client.rb

Instance Method Summary collapse

Constructor Details

#initializeCheckoutParamBuilder

Returns a new instance of CheckoutParamBuilder.



237
238
239
240
241
# File 'lib/maicoin/client.rb', line 237

def initialize
  @checkout_data = {}
  @buyer_data = {}
  @items = []
end

Instance Method Details

#add_item(options = {}) ⇒ Object



270
271
272
273
274
275
276
277
278
279
# File 'lib/maicoin/client.rb', line 270

def add_item(options={})
  @items << {
    'item' => {
      'description'=>options['description'].to_s,
      'code'=>options['code'].to_s,
      'price'=>options['price'].to_s,
      'currency'=>options['currency_type'].to_s,
      'is_physical'=>options['is_physical'].to_s}
  }
end

#buildObject



281
282
283
284
285
286
287
288
# File 'lib/maicoin/client.rb', line 281

def build
  buyer = {'buyer'=>@buyer_data}
  items = {'items'=>@items}
  result = {
    'checkout' => @checkout_data.merge(buyer).merge(items)
  }
  return result
end

#set_buyer_data(options = {}) ⇒ Object



256
257
258
259
260
261
262
263
264
265
266
267
268
# File 'lib/maicoin/client.rb', line 256

def set_buyer_data(options={})
  @buyer_data.merge!({
    'buyer_name' => options['name'].to_s,
    'buyer_address1' => options['address1'].to_s,
    'buyer_address2' => options['address2'].to_s,
    'buyer_city' => options['city'].to_s,
    'buyer_state' => options['state'].to_s,
    'buyer_zip' => options['zip'].to_s,
    'buyer_email' => options['email'].to_s,
    'buyer_phone' => options['phone'].to_s,
    'buyer_country' => options['country'].to_s
  })
end

#set_checkout_data(amount, currency, return_url, cancel_url, callback_url, options = {}) ⇒ Object



243
244
245
246
247
248
249
250
251
252
253
254
# File 'lib/maicoin/client.rb', line 243

def set_checkout_data(amount, currency, return_url, cancel_url, callback_url,options={})
  @checkout_data.merge!({
    'amount'=>amount.to_s,
    'currency'=>currency.to_s,
    'return_url'=>return_url.to_s,
    'cancel_url'=>cancel_url.to_s,
    'callback_url'=>callback_url.to_s,
    'merchant_ref_id'=>options['merchant_ref_id'].to_s,
    'pos_data'=>options['pos_data'].to_s,
    'locale'=>options['locale'].to_s
  })
end