Skip to content

Commit 81eaf39

Browse files
authored
fix(payment_link): add validation for return_url during payment link creation (#7802)
1 parent 2123f63 commit 81eaf39

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

crates/router/src/core/payments/helpers.rs

+12-9
Original file line numberDiff line numberDiff line change
@@ -6338,16 +6338,19 @@ pub fn get_key_params_for_surcharge_details(
63386338
}
63396339

63406340
pub fn validate_payment_link_request(
6341-
confirm: Option<bool>,
6341+
request: &api::PaymentsRequest,
63426342
) -> Result<(), errors::ApiErrorResponse> {
6343-
if let Some(cnf) = confirm {
6344-
if !cnf {
6345-
return Ok(());
6346-
} else {
6347-
return Err(errors::ApiErrorResponse::InvalidRequestData {
6348-
message: "cannot confirm a payment while creating a payment link".to_string(),
6349-
});
6350-
}
6343+
#[cfg(feature = "v1")]
6344+
if request.confirm == Some(true) {
6345+
return Err(errors::ApiErrorResponse::InvalidRequestData {
6346+
message: "cannot confirm a payment while creating a payment link".to_string(),
6347+
});
6348+
}
6349+
6350+
if request.return_url.is_none() {
6351+
return Err(errors::ApiErrorResponse::InvalidRequestData {
6352+
message: "return_url must be sent while creating a payment link".to_string(),
6353+
});
63516354
}
63526355
Ok(())
63536356
}

crates/router/src/core/payments/operations/payment_create.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -979,7 +979,7 @@ impl<F: Send + Clone + Sync> ValidateRequest<F, api::PaymentsRequest, PaymentDat
979979

980980
if let Some(payment_link) = &request.payment_link {
981981
if *payment_link {
982-
helpers::validate_payment_link_request(request.confirm)?;
982+
helpers::validate_payment_link_request(request)?;
983983
}
984984
};
985985

0 commit comments

Comments
 (0)