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)

End of mutually exclusive fields.

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
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "acknowledged": {
    object (Empty)
  }
  // End of mutually exclusive fields.
}
Fields
REQUIRED: The result of the refund. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
acknowledged

object (Empty)

Refund result notification was acknowledged.

End of mutually exclusive fields.