No commit activity in last 3 years
No release in over 3 years
Handle iTunes In App Purchase Receipt Verification
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.3.0
>= 0.8
>= 2

Runtime

 Project Readme

suhovius-itunes-receipt¶ ↑

Handle iTunes In App Purchase Receipt Verification.

Please Note¶ ↑

This gem is clone of original itunes-receipt by nov matake https://github.com/nov/itunes-receipt

There are some changes that were needed for my project. So, I'd recommend using original gem since it might be already updated with fixes that I've added here at this copy.

Installation¶ ↑

gem install suhovius-itunes-receipt

Usage¶ ↑

require 'itunes/receipt'

# pass Base64 encoded raw receipt data which you received from your iOS app
receipt = Itunes::Receipt.verify! 'ewoJInNpZ25hdHVyZSIgPSAi...'
receipt.product_id     # => 'com.example.products.100gems'
receipt.transaction_id # => '1234567890'
 :

See lib/itunes/receipt.rb for more attributes.

If you want to accept iTunes sandbox receipts, do like this. With allow_sandbox_receipt option specified, this gem post given receipt data to iTunes production first, and when iTunes production tells it’s sandbox receipt, re-send it to iTunes sandbox again automatically. Without this option, this gem just raises an exception.

receipt = Itunes::Receipt.verify! 'ewoJInNpZ25hdHVyZSIgPSAi...', :allow_sandbox_receipt
receipt.sandbox? # => true/false

If you want to accept ONLY iTunes sandbox receipts (in your stable server etc.), call Itunes.sandbox! somewhere before you call Itunes::Receipt.verify!. Then all verification call after that goes to iTunes sandbox, until you do Itunes.sandbox = false.

Note on Patches/Pull Requests¶ ↑

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2011 nov matake. See LICENSE for details.