Method: asynchronousRefund

  • The asynchronousRefund method refunds a portion or all of a captured transaction, allowing for multiple partial refunds.

  • The combination of requestId and paymentIntegratorAccountId ensures idempotency, uniquely identifying each refund transaction.

  • The final refund result is delivered through a refundResultNotification call.

  • An ErrorResponse is returned if the endpoint encounters an error during processing.

  • The request body includes the original captureRequestId, refundAmount, and standard request headers.

Refunds a portion or all of the transaction initiated through capture.

This initiates a request to refund funds that were captured. The amount refunded can be equal to or smaller than the remaining captured amount on the transaction. Multiple partial refunds are allowed by calling india-cards-v1.asynchronousRefund multiple times with different requestId within the header. The final result of the refund is supplied by a call to refundResultNotification. The requestId within the header is the idempotency key, which uniquely identifies this transaction.

If the endpoint encounters an error while processing the request, the response body from this endpoint should be of type ErrorResponse.

An example request looks like:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1
    },
    "requestId": "G18FCDTLD5B0SR4",
    "requestTimestamp": {
      "epochMillis": 1482489410000
    },
    "paymentIntegratorAccountId": "SpeedyPaymentsIndia_INR"
  },
  "captureRequestId": "G112YZH4XPDV88J",
  "refundAmount": {
    "amountMicros": "364000000",
    "currencyCode": "INR"
  }
}

An example response looks like:


{
  "responseHeader": {
    "responseTimestamp": {
      "epochMillis": 1482489412366
    }
  },
  "result": {
    "acknowledged": {}
  }
}

HTTP request

POST https://www.integratorhost.example.com/integrator-base-path/v1/payment-integrator-authenticated-card-fop-api/asynchronousRefund

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestHeader": {
    object (RequestHeader)
  },
  "captureRequestId": string,
  "refundAmount": {
    object (Amount)
  }
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

captureRequestId

string

REQUIRED: A unique identifier for the capture to be refunded. This is the requestId generated by Google during the captureFundsReservation or capture which this request is associated with.

refundAmount

object (Amount)

REQUIRED: The amount of the refund. This will be a positive number, and should always be less-than or equal-to the remaining balance for the completed redirect payment.

Response body

This method supports multiple return types. For additional information about what 4XX or 5XX HTTP status code to return with an ErrorResponse, consult the ErrorResponse object and HTTP status codes documentation.

Possible response messages
HTTP 200 Status

object (AsynchronousRefundResponse)

HTTP 4XX / 5XX Status

object (ErrorResponse)

AsynchronousRefundResponse

Response object for the payment integrator hosted india-cards-v1.asynchronousRefund method.

JSON representation
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": {
    object (AsynchronousRefundResult)
  }
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

result

object (AsynchronousRefundResult)

REQUIRED: Result of this asynchronous refund.

AsynchronousRefundResult

Result of this asynchronous refund.

JSON representation
{

  // Union field result can be only one of the following:
  "acknowledged": {
    object (Empty)
  }
  // End of list of possible types for union field result.
}
Fields
Union field result. REQUIRED: The result of the refund. result can be only one of the following:
acknowledged

object (Empty)

Refund result notification was acknowledged.