Class: Itunes::IAP::Receipt
- Inherits:
-
Object
- Object
- Itunes::IAP::Receipt
- Defined in:
- lib/itunes/iap.rb
Constant Summary collapse
- PRODUCTION_VALIDATION_URL =
'https://buy.itunes.apple.com/verifyReceipt'
- SANDBOX_VALIDATION_URL =
'https://sandbox.itunes.apple.com/verifyReceipt'
Instance Attribute Summary collapse
-
#verified_receipt ⇒ Object
readonly
Returns the value of attribute verified_receipt.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(base64_receipt, options = {}) ⇒ Receipt
constructor
A new instance of Receipt.
Constructor Details
#initialize(base64_receipt, options = {}) ⇒ Receipt
Returns a new instance of Receipt.
43 44 45 46 47 |
# File 'lib/itunes/iap.rb', line 43 def initialize base64_receipt, = {} @base64_receipt = base64_receipt @options = @verified_receipt = update_receipt end |
Instance Attribute Details
#verified_receipt ⇒ Object (readonly)
Returns the value of attribute verified_receipt.
14 15 16 |
# File 'lib/itunes/iap.rb', line 14 def verified_receipt @verified_receipt end |
Class Method Details
.analyze(base64_receipt, options = {}) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/itunes/iap.rb', line 17 def analyze base64_receipt, = {} receipt = new(base64_receipt, ) out = Hash.new.tap do |r| r[:status] = receipt.verified_receipt['status'] r[:response] = receipt.verified_receipt if r[:status] == 0 newest_transaction = receipt.verified_receipt['latest_receipt_info'].last r[:original_transaction_id] = newest_transaction['original_transaction_id'] r[:latest_transaction_id] = newest_transaction['transaction_id'] r[:product_id] = newest_transaction['product_id'] r[:valid_until] = Time.at( receipt .verified_receipt['latest_receipt_info'] .last['expires_date_ms'] .to_i / 1000 ) r[:valid] = Time.now < r[:valid_until] else r[:valid] = false end end out end |