1
votes

Impossible d'annuler l'abonnement Huawei IAP

J'essayais une api annulée côté serveur d'IAP mais je ne suis pas en mesure d'annuler l'abonnement en utilisant cette api. Chaque fois que je clique sur Annuler, j'obtiens cette erreur: responseCode: "6", "responseMessage": "900030-format d'autorisation invalide"

et l'API que j'utilise est la suivante: https://subscr-dra.iap.hicloud.com/sub/applications/v2/purchases/stop

Quelqu'un peut-il m'aider avec ce que je suis coincé?


0 commentaires

3 Réponses :


0
votes

Vérifiez le format du jeton que vous mettez dans l'en-tête comme autorisation

Code: let oriString = 'APPAT:' + app_level_access_token;

laissez autorisationToken = new Buffer.from (oriString) .toString ('base64'); // conversion du jeton en Base64.

Maintenant, vous pouvez utiliser ce jeton d' autorisation dans l'en- tête .


0 commentaires

0
votes

L'extension du fichier AT est incorrecte.

Les informations d'authentification sont spécifiées en fonction de l'en-tête de la demande. Les détails sont les suivants: Jeton d'accès au niveau de l'application: Autorisation: Basic Base64 (APPAT: atvalue)

  • Exemple: le jeton d'accès au niveau de l'application est thisIsAppAtValue, puis APPAT: atvalue est APPAT: thisIsAppAtValue. Par conséquent, remplacez APPAT: atvalue en Base64 (APPAT: atvalue) par APPAT: thisIsAppAtValue et la valeur QVBQQVQ6dGhpc0lzQXBwQXRWYWx1ZQ == est obtenue. La valeur de l'autorisation dans l'en-tête de la demande est la suivante: Basic QVBQQVQ6dGhpc0lzQXBwQXRWYWx1ZQ ==

L'exemple de code est le suivant:

  /* 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 sur Github .


0 commentaires

0
votes

Le code d'erreur que vous avez reçu - 900030 signifie que le format de vos données de vérification de signature n'est pas valide. Les causes possibles sont les suivantes: • Le jeton dans l'en-tête de la demande n'est pas chiffré en mode Base64. • La chaîne de caractères APPAT n'est pas ajoutée au début du jeton d'accès pour l'autorisation. Le jeton d'accès correct est au format APPAT: thisIsAppAtVaule.

Vous pouvez lire ce code d'erreur ici

Veuillez vous assurer que votre demande respecte le format spécifié dans ce document

Si vous recevez toujours la même erreur, veuillez publier votre format de données de demande ici.


0 commentaires