可续订订阅和支持

时间:2014-11-12 14:44:30

标签: ios auto-renewing

我阅读了很多有关ios可再生订阅的资料,并拥有以下工作流程:

  1. 应用程序从apple获取收据并将其发送到后端
  2. 后端通过apple verify-url确认收据
  3. 后端仅从latest_receipt_info
  4. 获取真实的transaction_id和expires_date
  5. 如果后端在数据库中没有此事务,则会增加用户的订阅
  6. 该工作流程因为:

    1. Apple可以发送收据检查通知 - 为什么我从latest_receipt_info
    2. 获取信息
    3. Apple建议此续订流程
    4. 但我有一些问题/疑问:

      1. 我想从此流程中排除应用程序。我想创建像android-flow - 从后端同步所有续订。我该如何创建它?
      2. 如果用户未开始申请1年,会发生什么?苹果会从用户那里获得资金吗?如果申请未开始,我将如何收到通知?
      3. 请给我链接或解答我的问题。

        UPD:

        我现在有一个问题。如何连接苹果服务器进行同步续订,如android flow。

        现行计划:

        +--------------+           +--------------+          +---------------+
        |              |           |              |          |               |
        |   Mobile     |           |    Backend   |          |      Apple    r
        |              |           |              |          |               |
        +------+-------+           +-------+------+          +--------+------+
               |          Sync             |                          |       
               +------------------------------------------------------>       
               <------------------------------------------------------+       
               |          Renew            |                          |       
               +--------------------------->        Verify            |       
               |                           +-------------------------->       
               |           Renewed         <--------------------------+       
               <---------------------------+                          |       
               +                           +                          + 
        

        但是我想要没有移动设备的流程:

        +--------------+           +--------------+          +---------------+
        |              |           |              |          |               |
        |   Mobile     |           |    Backend   |          |      Apple    r
        |              |           |              |          |               |
        +------+-------+           +-------+------+          +--------+------+
               |         Data for sync     |                          |       
               +--------------------------->        Check renewals    |       
               |                           +-------------------------->       
               |                           <--------------------------+       
               |                           +--+                       |       
               |                           |  |  Renew                |       
               |                           <--+                       |       
               |                           |         Check renewals   |       
               |                           +-------------------------->       
               |                           <--------------------------+       
               |                           |                          |       
              ++                           +                          +  
        

1 个答案:

答案 0 :(得分:1)

欢迎来到Apple Sir,在尝试创建&#34; Android流程&#34;之前,您应该注意一些事项。

  1. 应用程序内购买由Apple管理。没有办法绕过这个并获得批准。您将收据发送到后端的唯一原因是验证购买。这是为了防止Malice越狱他们的设备并以某种方式进行虚假购买。然后,您的服务器应能够检测此收据是来自Apple还是来自其他来源并相应地解锁内容。当然,您在收据验证中提供的安全级别与应用内购买的价值成正比
  2. 自动续订订阅将无限期地继续,直到用户选择取消。您无法控制管理用户订阅。您唯一能做的就是为用户提供一个打开iTunes的链接,以便他们可以管理自己的订阅。
  3. 因此,Apple始终控制着这一过程。您将无法使用收据识别用户,甚至无法从中获取任何信用卡信息。您只需依赖以下事实:当Apple向您提供收据时,表明该收据是有效收据,您将获得付款

    关于续约,下面摘录documentation关于应如何处理的摘录:

      

    成功续订订阅后,Store Kit会添加一个   用于续订事务队列的事务。你的应用检查   启动时的事务队列并以相同的方式处理续订   与任何其他交易一样。请注意,如果您的应用已在运行   订阅更新时,不调用事务观察者;   您的应用在下次启动时会发现续订。

    因此,每次启动应用程序时,您都有机会将任何现有事务添加到队列中。这是您可以通知服务器已续订收据的时间。