class PayDesign::PaymentInfo
Attributes
data[R]
TODO:
Validates fields.
Public Class Methods
new(data)
click to toggle source
# File lib/pay_design/payment_info.rb, line 6 def initialize(data) @data = { SID: data[:deal_id], NAME1: PayDesign.encode_to_sjis(data[:sur_name]), NAME2: PayDesign.encode_to_sjis(data[:first_name]), KANA1: PayDesign.encode_to_sjis(data[:sur_name_kana]), KANA2: PayDesign.encode_to_sjis(data[:first_name_kana]), YUBIN1: data[:postal_code_former], YUBIN2: data[:postal_code_latter], TEL: PaymentInfo.numerify(data[:tel]), ADR1: PayDesign.encode_to_sjis(data[:address_former]), ADR2: PayDesign.encode_to_sjis(data[:address_latter]), MAIL: data[:email], FUKA: data[:remarks], N1: PayDesign.encode_to_sjis(data[:item_name_1]), K1: data[:item_price_1], N2: PayDesign.encode_to_sjis(data[:item_name_2]), K2: data[:item_price_2], N3: PayDesign.encode_to_sjis(data[:item_name_3]), K3: data[:item_price_3], N4: PayDesign.encode_to_sjis(data[:item_name_4]), K4: data[:item_price_4], N5: PayDesign.encode_to_sjis(data[:item_name_5]), K5: data[:item_price_5], N6: PayDesign.encode_to_sjis(data[:item_name_6]), K6: data[:item_price_6], STORE: data[:store_type], KIGEN: PaymentInfo.date_to_yyyymmdd(data[:expires_at]), TAX: data[:tax], OKURL: data[:successfull_callback_url], RT: data[:cancelling_callback_url], }.delete_if {|_,v| v.nil? } end
Private Class Methods
date_to_yyyymmdd(date_or_yyyymmdd)
click to toggle source
# File lib/pay_design/payment_info.rb, line 46 def self.date_to_yyyymmdd(date_or_yyyymmdd) case date_or_yyyymmdd when Date date_or_yyyymmdd.strftime("%Y%m%d") when String date_or_yyyymmdd # Trusting given string is in relevant format. end end
numerify(s)
click to toggle source
# File lib/pay_design/payment_info.rb, line 42 def self.numerify(s) s.is_a?(String) ? s.gsub(/\D/, '') : s end