juspay/hyperswitch · error · hyperswitch_domain_models::router_data::ErrorResponse

REFUND_SYNC_FAILED

REFUND_SYNC_FAILED

Error message

REFUND_SYNC_FAILED

What it means

Error "REFUND_SYNC_FAILED" thrown in juspay/hyperswitch.

Source

Thrown at crates/hyperswitch_connectors/src/connectors/celero/transformers.rs:885

    }
}

impl TryFrom<RefundsResponseRouterData<RSync, CeleroRefundResponse>> for RefundsRouterData<RSync> {
    type Error = error_stack::Report<errors::ConnectorError>;
    fn try_from(
        item: RefundsResponseRouterData<RSync, CeleroRefundResponse>,
    ) -> Result<Self, Self::Error> {
        match item.response.status {
            CeleroResponseStatus::Success => Ok(Self {
                response: Ok(RefundsResponseData {
                    connector_refund_id: item.data.request.refund_id.clone(),
                    refund_status: enums::RefundStatus::Success,
                }),
                ..item.data
            }),
            CeleroResponseStatus::Error => Ok(Self {
                response: Err(hyperswitch_domain_models::router_data::ErrorResponse {
                    code: "REFUND_SYNC_FAILED".to_string(),
                    message: item.response.msg.clone(),
                    reason: Some(item.response.msg),
                    status_code: item.http_code,
                    attempt_status: None,
                    connector_transaction_id: Some(
                        item.data.request.connector_transaction_id.clone(),
                    ),
                    connector_response_reference_id: None,
                    network_decline_code: None,
                    network_advice_code: None,
                    network_error_message: None,
                    connector_metadata: None,
                }),
                ..item.data
            }),
        }
    }
}

View on GitHub (pinned to 973a5edb12)

Solutions

  1. Retry the refund status sync with the correct connector refund id
  2. Check the refund status directly in the Celero dashboard and update the local state manually if needed

When it happens

Trigger: Thrown at crates/hyperswitch_connectors/src/connectors/celero/transformers.rs:882 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of juspay/hyperswitch@973a5edb12 (2026-08-19). Data as JSON: /api/errors/43ce20de752024fe. Report an issue: GitHub.