Google订阅支付服务端改为Google订阅支付服务器(google play 取消订阅)(googleplay订阅设置)

访客 333 0
  1. 通用订阅
    1.1.接收Google的返回JSON

    message: {
        attributes: {
            key: value
        },
        data: eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2th
    } 
    {
      version: 1.0,
      packageName: com.some.thing,
      eventTimeMillis: 1503349566168,
      subscriptionNotification: {
        version: 1.0,
        notificationType: 4,
        purchaseToken: “PURCHASE_TOKEN”,
        “subscriptionId”: ”
           

    参数名 说明 - version: 此通知的版本。初始版本为1.0,与其他版本字段不同。 - packageName: 与此通知相关的应用的软件包名称(例如com.some.thing)。 - eventTimeMillis: 事件发生的时间戳,以毫秒数表示,从公元纪年开始计算。 - subscriptionNotification: 与订阅相关,并且包含与购买交易相关的其他信息。 - oneTimeProductNotification: 与一次性购买相关,并且包含与购买交易相关的其他信息。 - testNotification: 与测试发布相关。这些通知仅通过Google Play管理中心发送。

    subscriptionNotification说明

    参数名 说明
    version:此通知的版本。初始值为“1.0”。与其他版本字段不同。
    notificationType:订阅的 notificationType 可以参考下表:
    | notificationType 值 | 描述 | |-------------------|------| | 1 | 类型1 | | 2 | 类型2 | | 3 | 类型3 | purchaseToken:购买订阅时向用户设备提供的令牌
    subscriptionId:所购买订阅的 ID(例如“monthly001”)

    关于“notificationType”的解释

    SUBSCRIPTION_RECOVERED - 订阅已从账户保留状态恢复。
    SUBSCRIPTION_RENEWED - 已成功续订了当前有效的订阅。
    SUBSCRIPTION_CANCELED - 订阅已被用户自愿或非自愿地取消。如果是用户主动取消,将在取消时发送通知。
    SUBSCRIPTION_PURCHASED - 已购买新的订阅。
    SUBSCRIPTION_ON_HOLD - 订阅已进入账户保留状态(如果启用)。
    SUBSCRIPTION_IN_GRACE_PERIOD - 订阅已进入宽限期(如果启用)。
    SUBSCRIPTION_RES

    1.3. 根据解密后的内容,使用Google接口进行查询校验并发货(关键参数expiryTimeMillis)。
    根据解密后的内容,使用Google接口进行校验。
    Google文档地址:
    请求域名(Get/form):

    https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}

    返回参数

    resource: {
        SubscriptionPurchase: object
    },
    kind: string,
    startTimeMillis: string,
    expiryTimeMillis: string,
    autoResumeTimeMillis: string,
    autoRenewing: boolean,
    priceCurrencyCode: string,
    priceAmountMicros: string,
    introductoryPriceInfo:{
        IntroductoryPriceInfo
    },
    countryCode: string,
    developerPayload: string,
    paymentState: integer, 
    cancelReason: integer, 
    userCancellationTimeMillis: string, 
    cancelSurveyResult:{
        object
    }       

    https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:acknowledge

  2. 一次性订阅商品(消耗型商品缓慢支付)
    说明

    1. 当购买消耗型商品时,建议选择较慢的支付方式,这样Google服务端将会通过一次性订阅的回调进行处理。 2. Google服务端会以input/json的方式回调到预先配置好的地址。 3. 我们的服务端在接收到Google回调后,将对其进行校验并发货,并同时调用服务端消耗接口。

    2.1.Google后台相关配置

    1. 在Google后台(https://console.developers.google.com/apis)上创建主题。选择应用,然后在左侧菜单中选择Pub/Sub,接着点击创建主题。 2. 为刚刚新建的主题添加主账号。选择Google服务器作为推送消息服务商([email protected])。点击刚才新建的主题,在网页右侧找到添加主账号按钮。 3. 在新建的主题下方添加...

    2.2. 接收并解析处理 Google 服务器回调的 base64 编码数据
    1. 使用 input/json 方式接收 Google 服务器回调的 JSON 数据

    message: {
        data: eyJ2ZXJzaW9uIjoiMS4wIiwicGFja2FnZU5hbWUiOiJjb20uZGh0ei5maWdodGluZy50eiIsImV2ZW50VGltZU1pbGxpcyI6IjE2MzYwOTY3ODA3MTAiLCJvbmVUaW1lUHJvZHVjdE5vdGlmaWNhdGlvbiI6eyJ2ZXJzaW9uIjoiMS4wIiwibm90aWZpY2F0aW9uVHlwZSI6MSwicHVyY2hhc2VUb2tlbiI6ImdqZ2ptam1sYWNnYWtnZWNrZm1qaGhubi5BTy1KMU93bk9tWGc0VTg
     
    {
      version: 1.0,
      packageName: com.dhtz.fighting.tz,
      eventTimeMillis: 1636098148511,
      oneTimeProductNotification: {
        version: 
      }
    }
    ```
    
           

    请注意,以下是改写后的文本: 使用访问令牌 {access_token},通过以下链接可以获取特定应用程序包名(packageName)下某个产品(productId)的购买凭证(purchaseToken):https://androidpublisher.googleapis.com/androidpublisher/v3/applications/packageName/purchases/products/{productId}/tokens/{purchaseToken}?access_token={access_token}

    查询返回体

    purchaseTimeMillis: 1636684861095, //以毫秒为单位购买产品的时间
    purchaseState: 0, //订单的购买状态,0(已购买)1(取消)
    consumptionState: 0,
    developerPayload: , //开发人员指定的字符串,其中包含有关订单的补充信息
    orderId: xxxxx, //与购买应用内商品关联的订单 ID       

    请注意,以下是对给定段落的修改: https://androidpublisher.googleapis.com/androidpublisher/v3/
    applications/{packageName}/purchases/products/{productId}/tokens/{purchaseToken}:acknowledge?access_token={access_token} 修改后的版本如下: 请注意,以下是对给定段落的修改: https://androidpublisher.googleapis.com/androidpublisher/v3/
    applications/{packageName}/purchases/products/{productId}/tokens/{purchaseToken}:acknowledge?access_token={access_token}

    如果响应结果为空,则表示消耗成功。您可以再次请求2.3接口来查看acknowledgementState的值,如果为1,则表示消耗成功。1


  1. 凡是请求googleAPI响应返回401错误为用户验证错误,建议在api最后加上access_token参数(此参数为用户的验证令牌,获取方法参考google官方文档) ↩︎

标签: 参数 版本 消耗

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~