Method: externaltransactions.refundexternaltransaction

Rembourse ou rembourse partiellement une transaction externe existante.

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 remboursée. 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,

  // Union field refund_type can be only one of the following:
  "partialRefund": {
    object (PartialRefund)
  },
  "fullRefund": {
    object (FullRefund)
  }
  // End of list of possible types for union field refund_type.
}
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 est toujours normalisée avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Champ d'union refund_type. Obligatoire. Type de remboursement de transaction externe. refund_type ne peut être qu'un des éléments suivants :
partialRefund

object (PartialRefund)

Un remboursement partiel.

fullRefund

object (FullRefund)

Un remboursement intégral.

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"
    }
  }
}

Champs d'application 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 tous les remboursements d'une même transaction.

refundPreTaxAmount

object (Price)

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

FullRefund

Ce type ne comporte aucun champ.

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