mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-27 19:46:48 +08:00
feat(refunds_v2): Add Refunds Retrieve and Refunds Sync Core flow (#7835)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -59,6 +59,13 @@ impl ApiEventMetric for RefundsRetrieveRequest {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v2")]
|
||||
impl ApiEventMetric for refunds::RefundsRetrieveRequest {
|
||||
fn get_api_event_type(&self) -> Option<ApiEventsType> {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1")]
|
||||
impl ApiEventMetric for RefundUpdateRequest {
|
||||
fn get_api_event_type(&self) -> Option<ApiEventsType> {
|
||||
|
||||
@ -105,11 +105,19 @@ pub struct RefundsCreateRequest {
|
||||
pub metadata: Option<pii::SecretSerdeValue>,
|
||||
}
|
||||
|
||||
#[cfg(all(any(feature = "v1", feature = "v2"), not(feature = "refunds_v2")))]
|
||||
#[derive(Default, Debug, Clone, Deserialize)]
|
||||
pub struct RefundsRetrieveBody {
|
||||
pub force_sync: Option<bool>,
|
||||
}
|
||||
|
||||
#[cfg(all(feature = "v2", feature = "refunds_v2"))]
|
||||
#[derive(Default, Debug, Clone, Deserialize)]
|
||||
pub struct RefundsRetrieveBody {
|
||||
pub force_sync: Option<bool>,
|
||||
}
|
||||
|
||||
#[cfg(all(any(feature = "v1", feature = "v2"), not(feature = "refunds_v2")))]
|
||||
#[derive(Default, Debug, ToSchema, Clone, Deserialize, Serialize)]
|
||||
pub struct RefundsRetrieveRequest {
|
||||
/// Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment. If the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response. It is recommended to generate uuid(v4) as the refund_id.
|
||||
@ -128,6 +136,22 @@ pub struct RefundsRetrieveRequest {
|
||||
pub merchant_connector_details: Option<admin::MerchantConnectorDetailsWrap>,
|
||||
}
|
||||
|
||||
#[cfg(all(feature = "v2", feature = "refunds_v2"))]
|
||||
#[derive(Debug, ToSchema, Clone, Deserialize, Serialize)]
|
||||
pub struct RefundsRetrieveRequest {
|
||||
/// Unique Identifier for the Refund. This is to ensure idempotency for multiple partial refund initiated against the same payment. If the identifiers is not defined by the merchant, this filed shall be auto generated and provide in the API response. It is recommended to generate uuid(v4) as the refund_id.
|
||||
#[schema(
|
||||
max_length = 30,
|
||||
min_length = 30,
|
||||
example = "ref_mbabizu24mvu3mela5njyhpit4"
|
||||
)]
|
||||
pub refund_id: common_utils::id_type::GlobalRefundId,
|
||||
|
||||
/// `force_sync` with the connector to get refund details
|
||||
/// (defaults to false)
|
||||
pub force_sync: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, ToSchema, Clone, Deserialize, Serialize)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
pub struct RefundUpdateRequest {
|
||||
|
||||
Reference in New Issue
Block a user