【问题标题】:Not able to cancel huawei IAP subscription无法取消华为 IAP 订阅
【发布时间】:2020-07-10 16:59:58
【问题描述】:

我正在尝试 IAP 的服务器端 Canceled api,但我无法使用此 api 取消订阅。每次我单击取消时,我都会收到此错误: responseCode:"6","re​​sponseMessage":"900030-授权格式无效"

我使用的 API 是这样的: https://subscr-dra.iap.hicloud.com/sub/applications/v2/purchases/stop

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: android kotlin in-app-purchase huawei-mobile-services huawei-iap


    【解决方案1】:

    AT 文件的扩展名不正确。

    身份验证信息是根据请求标头指定的。 详情如下: 应用级访问令牌: 授权: 基本 Base64(APPAT:atvalue)

    • 示例:应用级访问令牌为 thisIsAppAtValue,则 APPAT:atvalue 为 APPAT:thisIsAppAtValue。因此,更换 APPAT:atvalue in Base64(APPAT:atvalue) with APPAT:thisIsAppAtValue, 得到值QVBQQVQ6dGhpc0lzQXBwQXRWYWx1ZQ==。的价值 请求头中的授权如下: Basic QVBQQVQ6dGhpc0lzQXBwQXRWYWx1ZQ==

    示例代码如下:

      /* Build Authorization in Header
         *
         * @param appAt app AccessToken
         * @return headers
         */
        public static Map<String, String> buildAuthorization(String appAt) {
            String oriString = MessageFormat.format("APPAT:{0}", appAt);
            String authorization =
                MessageFormat.format("Basic {0}", Base64.encodeBase64String(oriString.getBytes(StandardCharsets.UTF_8)));
            Map<String, String> headers = new HashMap<>();
            headers.put("Authorization", authorization);
            headers.put("Content-Type", "application/json; charset=UTF-8");
            return headers;
    }
    

    HMS In-App Purchases(IAP) Severdemo on Github.

    【讨论】:

      【解决方案2】:

      您收到的错误码——900030表示您的签名验证数据格式无效。可能的原因有: • 请求标头中的令牌未在 Base64 模式下加密。 • 字符串APPAT 未附加到访问令牌的开头以进行授权。正确的访问令牌格式为 APPAT:thisIsAppAtVaule。

      您可以阅读此错误代码here

      请确保您的请求遵循document中指定的格式

      如果您仍然收到同样的错误,请在此处发布您的请求数据格式。

      【讨论】:

        【解决方案3】:

        检查您作为授权放入标头的令牌的格式。

        代码:

        let oriString = 'APPAT:' + app_level_access_token;
        
        let authorizationToken = new Buffer.from(oriString).toString('base64'); // converting the token into Base64.
        

        现在这个authorizationToken,你可以在标题中使用它。

        【讨论】:

          猜你喜欢
          • 2020-02-23
          • 1970-01-01
          • 1970-01-01
          • 2012-06-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-03
          • 1970-01-01
          相关资源
          最近更新 更多