应用内支付

来源:互联网 发布:哲学家就餐问题java 编辑:程序博客网 时间:2024/06/04 17:43
  • The App ID string contains two parts separated by a period

    • an App ID Prefix that is defined as your Team ID by default
    • an App ID Suffix that is defined as a Bundle ID search string.
    • Each part of an App ID has different and important uses for your app

      App ID Description: Payment
      App ID Prefix : 9A2N11353N (Team ID)
      App ID Suffix : com.51iniu.Payment
      Bundle ID : com.51iniu.Payment
      SKU : com.51iniu.Payment

      SKU:您 App 专有的 ID, 此 ID 不会在 App Store 中显示。
      (项目编号,苹果对SKU没有特别的要求,只要不和其它APP的SKU冲突就行)

  • You implement in-app purchase in your app using the Store Kit framework.

    • 苹果在审核应用时,只会在沙盒(sandbox)环境购买,其产生的购买凭证,也只能连接苹果的测试验证服务器。但是审核的应用又是连接的线上服务器,那应该判断苹果正式验证服务器的返回状态码,如果 是21007,则再一次连接测试服务器进行验证即可。

    • 两种识别沙盒环境下收据的方法
      1.根据收据字段 environment = sandbox。
      2.根据收据验证接口返回的状态码
      如果status=21007,则表示当前的收据为沙盒环境下收据。

    • 返回的状态码的详细说明
      https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Introduction.html

状态码 返回信息 21000 App Store无法读取你提供的JSON数据 21002 收据数据不符合格式 21003 收据无法被验证 21004 你提供的共享密钥和账户的共享密钥不一致 21005 收据服务器当前不可用 21006 收据是有效的,但订阅服务已经过期。当收到这个信息时,解码后的收据信息也包含在返回内容中 21007 收据信息是测试用(sandbox),但却被发送到产品环境中验证 21008 收据信息是产品环境中使用,但却被发送到测试环境中验证
0 0