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 RefundRequest

View on GitHub (pinned to 806ec7dcc0)

Solutions

  1. Open the OpenNode dashboard, locate the transaction, and resolve its state manually
  2. 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.