class Monza::TransactionReceipt
Attributes
cancellation_date[R]
cancellation_date_ms[R]
cancellation_date_pst[R]
cancellation_reason[R]
expires_date[R]
expires_date_ms[R]
expires_date_pst[R]
is_in_intro_offer_period[R]
is_trial_period[R]
original_attributes[R]
original_purchase_date[R]
original_purchase_date_ms[R]
original_purchase_date_pst[R]
original_transaction_id[R]
product_id[R]
purchase_date[R]
purchase_date_ms[R]
purchase_date_pst[R]
quantity[R]
transaction_id[R]
web_order_line_item_id[R]
Public Class Methods
new(attributes)
click to toggle source
# File lib/monza/transaction_receipt.rb, line 34 def initialize(attributes) @original_attributes = attributes @quantity = attributes['quantity'].to_i @product_id = attributes['product_id'] @transaction_id = attributes['transaction_id'] @original_transaction_id = attributes['original_transaction_id'] @purchase_date = DateTime.parse(attributes['purchase_date']) if attributes['purchase_date'] @purchase_date_ms = Time.zone.at(attributes['purchase_date_ms'].to_i / 1000) @purchase_date_pst = DateTime.parse(attributes['purchase_date_pst'].gsub("America/Los_Angeles","PST")) if attributes['purchase_date_pst'] @original_purchase_date = DateTime.parse(attributes['original_purchase_date']) if attributes['original_purchase_date'] @original_purchase_date_ms = Time.zone.at(attributes['original_purchase_date_ms'].to_i / 1000) @original_purchase_date_pst = DateTime.parse(attributes['original_purchase_date_pst'].gsub("America/Los_Angeles","PST")) if attributes['original_purchase_date_pst'] @web_order_line_item_id = attributes['web_order_line_item_id'] @cancellation_reason = attributes['cancellation_reason'] if attributes['cancellation_reason'] @cancellation_date = DateTime.parse(attributes['cancellation_date']) if attributes['cancellation_date'] @cancellation_date_ms = Time.zone.at(attributes['cancellation_date_ms'].to_i / 1000) if attributes['cancellation_date_ms'] @cancellation_date_pst = DateTime.parse(attributes['cancellation_date_pst'].gsub("America/Los_Angeles","PST")) if attributes['cancellation_date_pst'] if attributes['expires_date'] begin # Attempt to parse as RFC 3339 timestamp (new-style receipt) @expires_date = DateTime.parse(attributes['expires_date']) rescue # Attempt to parse as integer ms epoch (old-style receipt) @expires_date = Time.at(attributes['expires_date'].to_i / 1000).to_datetime end end if attributes['expires_date_ms'] @expires_date_ms = Time.zone.at(attributes['expires_date_ms'].to_i / 1000) elsif attributes['expires_date'] @expires_date_ms = Time.zone.at(attributes['expires_date'].to_i / 1000) end if attributes['expires_date_pst'] @expires_date_pst = DateTime.parse(attributes['expires_date_pst'].gsub("America/Los_Angeles","PST")) end if attributes['is_trial_period'] @is_trial_period = attributes['is_trial_period'].to_bool end if attributes['is_in_intro_offer_period'] @is_in_intro_offer_period = attributes['is_in_intro_offer_period'].to_bool end end