juspay/hyperswitch · error · ApiErrorResponse::InternalServerError

AbsaSanlam requires BodyKey auth type

Error message

AbsaSanlam requires BodyKey auth type

What it means

Error "AbsaSanlam requires BodyKey auth type" thrown in juspay/hyperswitch.

Source

Thrown at crates/router/src/core/unified_connector_service/connector_config.rs:1786

                    api_secret,
                    key2,
                } => Ok(Self::Deutschebank {
                    customer_identifier: api_key.clone(),
                    key_id: key1.clone(),
                    signing_private_key: api_secret.clone(),
                    client_certificate_bundle: key2.clone(),
                }),
                _ => Err(err(
                    "Deutsche Bank requires MultiAuthKey auth type \
                     (customer_identifier / key_id / signing_private_key / client_certificate_bundle)",
                )),
            },
            Connector::Imerchantsolutions => match auth {
                ConnectorAuthType::HeaderKey { api_key } => Ok(Self::Imerchantsolutions {
                    api_key: api_key.clone(),
                    merchant_id: None,
                }),
                ConnectorAuthType::BodyKey { api_key, key1 } => Ok(Self::Imerchantsolutions {
                    api_key: api_key.clone(),
                    merchant_id: Some(key1.clone()),
                }),
                _ => Err(err("Imerchantsolutions requires HeaderKey auth type")),
            },
            Connector::AbsaSanlam => match auth {
                ConnectorAuthType::BodyKey { api_key, key1 } => Ok(Self::AbsaSanlam {
                    api_key: api_key.clone(),
                    merchant_id: key1.peek().clone(),
                }),
                _ => Err(err("AbsaSanlam requires BodyKey auth type")),
            },
            Connector::GotymeSanlam => match auth {
                ConnectorAuthType::BodyKey { api_key, key1 } => Ok(Self::GotymeSanlam {
                    api_key: api_key.clone(),
                    profile_id: key1.peek().clone(),
                }),
                _ => Err(err("GotymeSanlam requires BodyKey auth type")),

View on GitHub (pinned to 3093f22cc4)

Solutions

  1. Configure the merchant connector account for AbsaSanlam with the BodyKey connector_auth_type
  2. Recreate/update the connector account credentials to match the BodyKey schema

When it happens

Trigger: Thrown at crates/router/src/core/unified_connector_service/connector_config.rs:1704 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of juspay/hyperswitch@3093f22cc4 (2026-08-19). Data as JSON: /api/errors/6324a56a5fda583d. Report an issue: GitHub.