- Solicitud HTTP
- Parámetros de ruta
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- PartialRefund
- FullRefund
- Pruébalo
Reembolsa completa o parcialmente una transacción externa existente.
Solicitud HTTP
POST https://androidpublisher.googleapis.com/androidpublisher/v3/{name=applications/*/externalTransactions/*}:refund
La URL usa la sintaxis de la transcodificación gRPC.
Parámetros de ruta
| Parámetros | |
|---|---|
name |
Obligatorio. Es el nombre de la transacción externa que se reembolsará. Formato: applications/{packageName}/externalTransactions/{externalTransaction} |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
| Representación 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 ( |
| Campos | |
|---|---|
refundTime |
Obligatorio. Es la hora en que se reembolsó la transacción. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
| Obligatorio. Es el tipo de reembolso de la transacción externa. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta: | |
partialRefund |
Es un reembolso parcial. |
fullRefund |
Es un reembolso del importe total. |
| Fin de los campos mutuamente excluyentes. | |
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de ExternalTransaction.
Muestra
La siguiente es una solicitud de muestra:
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" \ }'
A continuación, se muestra una respuesta de ejemplo:
{ "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" } } }
Permisos de autorización
Requiere el siguiente permiso de OAuth:
https://www.googleapis.com/auth/androidpublisher
PartialRefund
Es un reembolso parcial de una transacción.
| Representación JSON |
|---|
{
"refundId": string,
"refundPreTaxAmount": {
object ( |
| Campos | |
|---|---|
refundId |
Obligatorio. Es un ID único que distingue este reembolso parcial. Si el reembolso se realiza correctamente, los reembolsos posteriores con el mismo ID fallarán. Debe ser único en los reembolsos de una transacción individual. |
refundPreTaxAmount |
Obligatorio. Es el importe antes de impuestos del reembolso parcial. Debe ser menor que el importe antes de impuestos restante de la transacción. |
FullRefund
Este tipo no tiene campos.
Es un reembolso total del importe restante de una transacción.