juspay/hyperswitch · error · api_models::enums::UnresolvedResponseReason
UNDERPAID
UNDERPAID
Error message
Please check the transaction in opennode dashboard and resolve manually
What it means
Error "Please check the transaction in opennode dashboard and resolve manually" thrown in juspay/hyperswitch.
Source
Thrown at crates/hyperswitch_connectors/src/connectors/opennode/transformers.rs:151
let response_data = if attempt_status != OpennodePaymentStatus::Underpaid {
Ok(PaymentsResponseData::TransactionResponse {
resource_id: connector_id,
redirection_data: Box::new(Some(redirection_data)),
mandate_reference: Box::new(None),
connector_metadata: None,
network_txn_id: None,
network_txn_link_id: None,
connector_response_reference_id: item.response.data.order_id,
incremental_authorization_allowed: None,
authentication_data: None,
charges: None,
payment_account_reference: None,
})
} else {
Ok(PaymentsResponseData::TransactionUnresolvedResponse {
resource_id: connector_id,
reason: Some(api_models::enums::UnresolvedResponseReason {
code: "UNDERPAID".to_string(),
message:
"Please check the transaction in opennode dashboard and resolve manually"
.to_string(),
}),
connector_response_reference_id: item.response.data.order_id,
})
};
Ok(Self {
status: AttemptStatus::from(attempt_status),
response: response_data,
..item.data
})
}
}
//TODO: Fill the struct with respective fields
// REFUND :
// Type definition for RefundRequestView on GitHub (pinned to 806ec7dcc0)
Solutions
- Open the OpenNode dashboard, locate the transaction, and resolve its state manually
- Reconcile the local payment state with the OpenNode state after manual resolution
When it happens
Trigger: Thrown at crates/hyperswitch_connectors/src/connectors/opennode/transformers.rs:150 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juspay/hyperswitch@806ec7dcc0 (2026-08-19).
Data as JSON: /api/errors/34d2f080ba60c43d.
Report an issue: GitHub.