fix: proper error message for payment cancel (#192)

This commit is contained in:
Sangamesh Kulkarni
2022-12-21 17:09:38 +05:30
committed by GitHub
parent 47741b47fa
commit 55d161b826
3 changed files with 9 additions and 1 deletions

View File

@ -431,9 +431,12 @@ impl
req: &types::PaymentsCancelRouterData,
) -> CustomResult<Option<String>, errors::ConnectorError> {
let stripe_req = utils::Encode::<stripe::CancelRequest>::convert_and_url_encode(req)
.change_context(errors::ConnectorError::RequestEncodingFailed)?;
.change_context(errors::ConnectorError::RequestEncodingFailedWithReason(
"Invalid cancellation reason".to_string(),
))?;
Ok(Some(stripe_req))
}
fn build_request(
&self,
req: &types::PaymentsCancelRouterData,

View File

@ -281,6 +281,8 @@ pub enum ConnectorError {
FailedToObtainIntegrationUrl,
#[error("Failed to encode connector request")]
RequestEncodingFailed,
#[error("Request encoding failed : {0}")]
RequestEncodingFailedWithReason(String),
#[error("Failed to deserialize connector response")]
ResponseDeserializationFailed,
#[error("Failed to execute a processing step: {0:?}")]

View File

@ -102,6 +102,9 @@ impl ConnectorErrorExt for error_stack::Report<errors::ConnectorError> {
}
}
}
errors::ConnectorError::RequestEncodingFailedWithReason(reason) => {
Some(serde_json::json!(reason))
}
_ => None,
};
self.change_context(errors::ApiErrorResponse::PaymentAuthorizationFailed { data })