Handle iTunes In App Purchase Receipt Verification
Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.gitignore
.rspec
.travis.yml
Gemfile
LICENSE
README.rdoc
Rakefile
VERSION
itunes-receipt.gemspec

README.rdoc

itunes-receipt

Handle iTunes In App Purchase Receipt Verification.

Installation

gem install 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

Copyright © 2011 nov matake. See LICENSE for details.