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.