juspay/hyperswitch · error
Couldn't get GetPaymentMetricRequest
Error message
Couldn't get GetPaymentMetricRequest
What it means
Error "Couldn't get GetPaymentMetricRequest" thrown in juspay/hyperswitch.
Source
Thrown at crates/router/src/analytics.rs:581
))
.await
}
/// # Panics
///
/// Panics if `json_payload` array does not contain one `GetPaymentMetricRequest` element.
pub async fn get_merchant_payment_metrics(
state: web::Data<AppState>,
req: actix_web::HttpRequest,
json_payload: web::Json<[GetPaymentMetricRequest; 1]>,
) -> impl Responder {
// safety: This shouldn't panic owing to the data type
#[allow(clippy::expect_used)]
let payload = json_payload
.into_inner()
.to_vec()
.pop()
.expect("Couldn't get GetPaymentMetricRequest");
let flow = AnalyticsFlow::GetPaymentMetrics;
Box::pin(api::server_wrap(
flow,
state,
&req,
payload,
|state, auth: AuthenticationData, req, _| async move {
let auth_info = auth.platform.to_merchant_level_auth_info();
let validator_response = request_validator(
AnalyticsRequest {
payment_attempt: Some(req.clone()),
..Default::default()
},
&state,
)
.await?;
let ex_rates = validator_response;
analytics::payments::get_metrics(&state.pool, &ex_rates, &auth_info, req)View on GitHub (pinned to 705a321950)
Solutions
- Check that the analytics metrics feature is enabled and the request type is supported by the analytics provider
- Verify the metrics request construction parameters (merchant id, time range, filters)
When it happens
Trigger: Thrown at crates/router/src/analytics.rs:581 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juspay/hyperswitch@705a321950 (2026-08-19).
Data as JSON: /api/errors/98c9d2c44c1bc2b1.
Report an issue: GitHub.