class T2Airtime::Topup
Public Class Methods
serialize(data, ts = Time.zone.now.to_s)
click to toggle source
# File lib/t2_airtime/serializer.rb, line 5 def self.serialize(data, ts = Time.zone.now.to_s) { type: 'topup', balance: data[:balance], balanceDisplay: "#{Money.new(Integer(data[:balance]) * 100, Account.currency).format}", msisdn: data[:destination_msisdn], destinationMsisdn: data[:destination_msisdn], transactionId: data[:transactionid], transactionAuthenticationKey: data[:authentication_key], transactionErrorCode: Integer(data[:error_code]), transactionErrorTxt: data[:error_txt], referenceOperator: data[:reference_operator], actualProductSent: data[:actual_product_sent], sms: data[:sms], smsSent: data[:sms_sent], smsText: data[:sender_text], cid1: data[:cid1], cid2: data[:cid2], cid3: data[:cid3], currency: data[:originating_currency], localCurrency: data[:destination_currency], countryId: Integer(data[:countryid]), countryName: data[:country], operatorId: Integer(data[:operatorid]), operatorName: data[:operator], operatorLogo: T2Airtime::Util.operator_logo_url(data[:operatorid]), productName: "#{Money.new(Integer(data[:product_requested]) * 100, data[:destination_currency]).format}", productLocalCurrency: data[:destination_currency], productLocalCurrencySymbol: Money::Currency.new(data[:destination_currency]).symbol, productCurrency: Account.currency, productCurrencySymbol: Money::Currency.new(Account.currency).symbol, productLocalPrice: Float(data[:product_requested]), productRetailPrice: Float(data[:retail_price]), productWholesalePrice: Float(data[:wholesale_price]), executedAt: T2Airtime::Util.format_time(ts) } end