Method: externaltransactions.refundexternaltransaction

Rembourse une transaction externe existante, en totalité ou en partie.

Requête HTTP

POST https://androidpublisher.googleapis.com/androidpublisher/v3/{name=applications/*/externalTransactions/*}:refund

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
name

string

Obligatoire. Nom de la transaction externe à rembourser. Format: applications/{packageName}/externalTransactions/{externalTransaction}

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "refundTime": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "partialRefund": {
    object (PartialRefund)
  },
  "fullRefund": {
    object (FullRefund)
  }
  // End of mutually exclusive fields.
}
Champs
refundTime

string (Timestamp format)

Obligatoire. Heure à laquelle la transaction a été remboursée.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Obligatoire. Type de remboursement de transaction externe. Voici une liste de champs mutuellement exclusifs. Au maximum, un seul de ces champs sera défini dans une réponse :
partialRefund

object (PartialRefund)

Remboursement partiel.

fullRefund

object (FullRefund)

Remboursement intégral.

Fin des champs mutuellement exclusifs.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de ExternalTransaction.

Échantillon

Voici un exemple de requête :

curl \
  -X POST \
  'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/externalTransactions/foo:refund' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  -H 'Content-Type: application/json' \
  -d '{ \
    "partialRefund": { \
      "refundId": "my_refund_id", \
      "refundPreTaxAmount": { \
        "currency": "USD", \
        "priceMicros": "10120000" \
      } \
    }, \
    "refundTime": "2023-10-20T16:43:32.852Z" \
  }'

Voici un exemple de réponse :

{
  "externalTransactionId": "1234567890123456789012345678901234567890123456789012345678901234",
  "originalPreTaxAmount": {
    "currency": "USD",
    "priceMicros": "1990000"
  },
  "originalTaxAmount": {
    "currency": "USD",
    "priceMicros": "11400000"
  },
  "packageName": "com.example.app",
  "transactionState": "TRANSACTION_CANCELED",
  "transactionTime": "2023-04-01T12:00:00Z",
  "userTaxAddress": {
    "regionCode": "US"
  },
  "createTime": "2023-04-01T11:55:00Z",
  "currentPreTaxAmount": {
    "currency": "USD",
    "priceMicros": "0"
  },
  "currentTaxAmount": {
    "currency": "USD",
    "priceMicros": "0"
  },
  "testPurchase": {},
  "recurringTransaction": {
    "initialExternalTransactionId": "9876543210987654321098765432109876543210987654321098765432109876",
    "externalSubscription": {
      "subscriptionType": "RECURRING"
    }
  }
}

Niveaux d'accès des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/androidpublisher

PartialRefund

Remboursement partiel d'une transaction.

Représentation JSON
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Champs
refundId

string

Obligatoire. ID unique permettant de distinguer ce remboursement partiel. Si le remboursement aboutit, les remboursements ultérieurs avec le même ID échoueront. Doit être unique pour les remboursements d'une même transaction.

refundPreTaxAmount

object (Price)

Obligatoire. Montant hors taxes du remboursement partiel. Doit être inférieur au montant hors taxes restant de la transaction.

FullRefund

Ce type ne comporte aucun champ.

Remboursement intégral du montant restant d'une transaction.