Class: PaymentOnline::Payment
- Inherits:
-
Object
- Object
- PaymentOnline::Payment
- Defined in:
- lib/paymentonline.rb
Constant Summary collapse
- FIELDS =
['card_exp_mon','card_exp_yr','card_num','cust_address','cust_address2','cust_city','cust_country','cust_email','cust_firstname','cust_lastname','cust_username','cust_password','cust_phone','cust_receipt','cust_state','cust_zip','custom_var1','custom_var2','cvv_value','membership_system','mer_id','password','prepaid','response_api','separate_shipping','ship_address','ship_address2','ship_city','ship_country','ship_firstname','ship_lastname','ship_state','ship_zip','shipping_charge','site_id','tax_charge','trans_type','username','www_post','custom_var1','custom_var2','custom_var3','custom_var4','custom_var5','custom_var6']
- ITEMFIELDS =
['item_sku','item_desc','item_type','item_price','quantity','recur_bill_amount','bill_cycle','num_cycles','prorate_first_billing','first_billing_date','recur_bill_day']
Instance Method Summary collapse
- #additem(item) ⇒ Object
-
#initialize(options = {}, orderinfo = {}) ⇒ Payment
constructor
A new instance of Payment.
- #submit ⇒ Object
Constructor Details
#initialize(options = {}, orderinfo = {}) ⇒ Payment
Returns a new instance of Payment.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/paymentonline.rb', line 13 def initialize( = {},orderinfo = {}) postarray = [] @postdata = nil @orderitems = [] @customerdata = [] @debug = ['debug'] @debug == true ? @debug = true : @debug = false value = nil FIELDS.each do |field| unless orderinfo[field].nil? value = CGI.escape(orderinfo[field].to_s) @customerdata << "#{field}=#{value}".to_s end end end |
Instance Method Details
#additem(item) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/paymentonline.rb', line 29 def additem(item) @oitem = [] ITEMFIELDS.each do |field| item[field] = '' if item[field].nil? puts "#{field}=#{item[field]}" if @debug @oitem << item[field] end @orderitems << @oitem.join(';') end |
#submit ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/paymentonline.rb', line 39 def submit r = {} itemlist = CGI.escape(@orderitems.join('|')) @postdata = "itemlist=#{itemlist}&" + @customerdata.join('&') puts @postdata if @debug site = Net::HTTP.new( 'paygw.sea.paymentonline.com', 443 ) site.use_ssl = true response = site.post('/transact', @postdata) (r['response_code'],r['response'],r['response_text'],r['auth_code'],r['avs_result'],r['order_id'],r['trans_id'],r['trans_amount']) = response.body.split(',') return response.code,response.,r end |