Method: externaltransactions.refundexternaltransaction

Reembolsa total ou parcialmente uma transação externa.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
name

string

Obrigatório. O nome da transação externa que será reembolsada. Formato: applications/{packageName}/externalTransactions/{externalTransaction}

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação 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. }
Campos
refundTime

string (Timestamp format)

Obrigatório. A data e a hora em que a transação foi reembolsada.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Campo de união refund_type. Obrigatório. Tipo de reembolso de transação externa. refund_type pode ser apenas de um dos tipos a seguir:
partialRefund

object (PartialRefund)

Um reembolso parcial.

fullRefund

object (FullRefund)

Reembolso do valor total.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de ExternalTransaction.

Exemplo

Confira a seguir um exemplo de solicitação:

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

Veja a seguir um exemplo de resposta:

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

Escopos de autorização

Requer o seguinte escopo OAuth:

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

PartialRefund

Um reembolso parcial de uma transação.

Representação JSON
{   "refundId": string,   "refundPreTaxAmount": {     object (Price)   } }
Campos
refundId

string

Obrigatório. Um ID exclusivo que distingue esse reembolso parcial. Se o reembolso for bem-sucedido, outros com o mesmo ID vão falhar. Precisa ser único entre os reembolsos para uma transação individual.

refundPreTaxAmount

object (Price)

Obrigatório. O valor bruto do reembolso parcial. Precisa ser menor do que o valor bruto que resta da transação.

FullRefund

Esse tipo não tem campos.

Um reembolso total do valor restante de uma transação.