venice

Ruby Gem for In-App Purchase Receipt Verification

  • 所有者: nomad-cli/venice
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
    CLI
  • 喜欢:
    0
      比较:

Github星跟踪图

Venice

Travis

Venice is a simple gem for verifying Apple In-App Purchase receipts, and retrieving the information associated with receipt data.

There are two reasons why you should verify in-app purchase receipts on the server: First, it allows you to keep your own records of past purchases, which is useful for up-to-the-minute metrics and historical analysis. Second, server-side verification over SSL is the most reliable way to determine the authenticity of purchasing records.

See Apple's Receipt Validation Programming Guide for additional information.

Venice is named for Venice, Italy—or more specifically, Shakespeare's The Merchant of Venice.
It's part of a series of world-class command-line utilities for iOS development, which includes Cupertino (Apple Dev Center management), Shenzhen (Building & Distribution), Houston (Push Notifications), Dubai (Passbook pass generation), and Nashville (iTunes Store API).

Installation

$ gem install venice

Usage

Basic

require 'venice'

data = '(Base64-Encoded Receipt Data)'
if receipt = Venice::Receipt.verify(data)
  p receipt.to_h

  # You can refer an original JSON response via a Receipt instance.
  case receipt.original_json_response['status'].to_i
    when 0     then foo
    when 21006 then bar
  end
end

For Auto-Renewable

require 'venice'

data = '(Base64-Encoded Receipt Data)'

# You must pass shared secret when verification on Auto-Renewable
opts = { shared_secret: 'your key' }

if receipt = Venice::Receipt.verify(data, opts)
  # Renewed receipts are added into `latest_receipt_info` array.
  p receipt.latest_receipt_info.map(&:expires_at)
  # => [2016-05-19 20:35:59 +0000, 2016-06-18 20:35:59 +0000, 2016-07-18 20:35:59 +0000]
end

Command Line Interface

Venice also comes with the iap binary, which provides a convenient way to verify receipts from the command line.

$ iap verify /path/to/receipt

+--------------------------------+------------------------------------+, Receipt, +--------------------------------+------------------------------------+, adam_id, 664753504, application_version, 123, bundle_id, com.example.product, download_id, 30000000000005, expires_at, latest_receipt, original_application_version, 123, original_purchase_date, Fri, 07 Mar 2014 20:59:24 GMT, receipt_type, Production, receipt_created_at, Mon, 23 Jun 2014 17:59:38 GMT, requested_at, Mon, 23 Jun 2014 17:59:38 GMT, +--------------------------------+------------------------------------+, in_app, 1, - app_item_id, - cancellation_at, - expires_at, - original_purchase_date, - original_transaction_id, 1000000000000001, - product_id, com.example.product, - purchase_date, - quantity, 1, - transaction_id, 1000000000000001, - web_order_line_item_id, 1000000000000001, - version_external_identifier, - is_trial_period, true, - is_in_intro_offer_period, true, +--------------------------------+------------------------------------+

Creator

Mattt Thompson (@mattt)

License

Venice is available under the MIT license. See the LICENSE file for more info.

主要指标

概览
名称与所有者nomad-cli/venice
主编程语言Ruby
编程语言Ruby (语言数: 1)
平台
许可证MIT License
所有者活动
创建于2013-02-19 19:24:34
推送于2021-06-20 11:07:33
最后一次提交2021-06-20 04:07:33
发布数11
最新版本名称v0.6.0 (发布于 2019-11-09 13:20:01)
第一版名称0.0.1 (发布于 )
用户参与
星数582
关注者数20
派生数155
提交数143
已启用问题?
问题数26
打开的问题数0
拉请求数46
打开的拉请求数0
关闭的拉请求数13
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?