Class: AndroidInAppBilling::InappPurchase

Inherits:
SimpleDelegator
  • Object
show all
Includes:
ParseTools
Defined in:
lib/android_in_app_billing/inapp_purchase.rb

Overview

Represents the INAPP_PURCHASE concept from Google Play In-app Billing v3 API (java API for Android devices), including both data and signature

Defined Under Namespace

Classes: Attributes

Constant Summary collapse

PURCHASE_STATES =
{
  0 => 'purchased',
  1 => 'cancelled',
  2 => 'refunded'
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ParseTools

#millis_to_datetime

Constructor Details

#initialize(data:, signature:) ⇒ InappPurchase

Returns a new instance of InappPurchase.

Parameters:

  • data (String)
  • signature (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

Instance Attribute Details

#auto_renewingBoolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#developer_payloadString

Returns:

  • (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#order_idString

Returns:

  • (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#package_nameString

Returns:

  • (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#product_idString

Returns:

  • (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#purchased_atDateTime

Returns:

  • (DateTime)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#rawString

Returns:

  • (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#signatureString

Returns:

  • (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#stateString

Returns:

  • (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

#tokenString

Returns:

  • (String)


44
45
46
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 44

def initialize(data:, signature:)
  super Attributes.new(data, parse_signature(signature), *parse_data(data))
end

Instance Method Details

#attributesHash

Returns:

  • (Hash)


49
50
51
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 49

def attributes
  to_h.reject { |k, _| [:raw, :signature].include?(k) }
end

#signature_valid?true, false

Returns:

  • (true, false)


54
55
56
# File 'lib/android_in_app_billing/inapp_purchase.rb', line 54

def signature_valid?
  signature_verifier.call
end