mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 17:19:15 +08:00
fix(core): Add Validation Check for Amount in Capture Flow (#9434)
Co-authored-by: Anurag Singh <anurag.singh.001@MacBookPro.lan> Co-authored-by: Anurag Singh <anurag.singh.001@Anurag-Singh-WPMHJ5619X.local>
This commit is contained in:
@ -172,6 +172,11 @@ pub struct ConfigMetadata {
|
||||
pub shop_name: Option<InputData>,
|
||||
pub merchant_funding_source: Option<InputData>,
|
||||
pub account_id: Option<AccountIDSupportedMethods>,
|
||||
pub name: Option<InputData>,
|
||||
pub client_merchant_reference_id: Option<InputData>,
|
||||
pub route: Option<InputData>,
|
||||
pub mid: Option<InputData>,
|
||||
pub tid: Option<InputData>,
|
||||
}
|
||||
|
||||
#[serde_with::skip_serializing_none]
|
||||
|
||||
@ -6963,8 +6963,14 @@ key1="Tenant ID"
|
||||
[peachpayments.connector_webhook_details]
|
||||
merchant_secret="Webhook Secret"
|
||||
|
||||
[peachpayments.metadata.merchant_name]
|
||||
name="merchant_name"
|
||||
[peachpayments.metadata.client_merchant_reference_id]
|
||||
name="client_merchant_reference_id"
|
||||
label="Client Merchant Reference Id"
|
||||
placeholder="Enter Client Merchant Reference Id"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.name]
|
||||
name="name"
|
||||
label="Merchant Name"
|
||||
placeholder="Enter Merchant Name"
|
||||
required=true
|
||||
@ -7030,20 +7036,20 @@ label="Merchant Website"
|
||||
placeholder="Enter merchant website URL"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_mid]
|
||||
name="routing_mid"
|
||||
[peachpayments.metadata.mid]
|
||||
name="mid"
|
||||
label="Routing MID"
|
||||
placeholder="Enter routing MID"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_tid]
|
||||
name="routing_tid"
|
||||
[peachpayments.metadata.tid]
|
||||
name="tid"
|
||||
label="Routing TID"
|
||||
placeholder="Enter routing TID"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_route]
|
||||
name="routing_route"
|
||||
[peachpayments.metadata.route]
|
||||
name="route"
|
||||
label="Routing Route"
|
||||
placeholder="Select routing route"
|
||||
required=true
|
||||
@ -7055,3 +7061,21 @@ label="AmEx ID"
|
||||
placeholder="Enter AmEx ID for routing"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.sub_mid]
|
||||
name="sub_mid"
|
||||
label="Sub Mid"
|
||||
placeholder="Enter Sub Mid"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.visa_payment_facilitator_id]
|
||||
name="visa_payment_facilitator_id"
|
||||
label="Visa Payment Facilitator Id"
|
||||
placeholder="Enter Visa Payment Facilitator Id"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.mastercard_payment_facilitator_id]
|
||||
name="mastercard_payment_facilitator_id"
|
||||
label="mastercard Payment Facilitator Id"
|
||||
placeholder="Enter mastercard Payment Facilitator Id"
|
||||
required=false
|
||||
type="Text"
|
||||
|
||||
@ -5630,8 +5630,14 @@ key1="Tenant ID"
|
||||
[peachpayments.connector_webhook_details]
|
||||
merchant_secret="Webhook Secret"
|
||||
|
||||
[peachpayments.metadata.merchant_name]
|
||||
name="merchant_name"
|
||||
[peachpayments.metadata.client_merchant_reference_id]
|
||||
name="client_merchant_reference_id"
|
||||
label="Client Merchant Reference Id"
|
||||
placeholder="Enter Client Merchant Reference Id"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.name]
|
||||
name="name"
|
||||
label="Merchant Name"
|
||||
placeholder="Enter Merchant Name"
|
||||
required=true
|
||||
@ -5697,20 +5703,20 @@ label="Merchant Website"
|
||||
placeholder="Enter merchant website URL"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_mid]
|
||||
name="routing_mid"
|
||||
[peachpayments.metadata.mid]
|
||||
name="mid"
|
||||
label="Routing MID"
|
||||
placeholder="Enter routing MID"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_tid]
|
||||
name="routing_tid"
|
||||
[peachpayments.metadata.tid]
|
||||
name="tid"
|
||||
label="Routing TID"
|
||||
placeholder="Enter routing TID"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_route]
|
||||
name="routing_route"
|
||||
[peachpayments.metadata.route]
|
||||
name="route"
|
||||
label="Routing Route"
|
||||
placeholder="Select routing route"
|
||||
required=true
|
||||
@ -5722,3 +5728,21 @@ label="AmEx ID"
|
||||
placeholder="Enter AmEx ID for routing"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.sub_mid]
|
||||
name="sub_mid"
|
||||
label="Sub Mid"
|
||||
placeholder="Enter Sub Mid"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.visa_payment_facilitator_id]
|
||||
name="visa_payment_facilitator_id"
|
||||
label="Visa Payment Facilitator Id"
|
||||
placeholder="Enter Visa Payment Facilitator Id"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.mastercard_payment_facilitator_id]
|
||||
name="mastercard_payment_facilitator_id"
|
||||
label="mastercard Payment Facilitator Id"
|
||||
placeholder="Enter mastercard Payment Facilitator Id"
|
||||
required=false
|
||||
type="Text"
|
||||
|
||||
@ -6942,8 +6942,14 @@ key1="Tenant ID"
|
||||
[peachpayments.connector_webhook_details]
|
||||
merchant_secret="Webhook Secret"
|
||||
|
||||
[peachpayments.metadata.merchant_name]
|
||||
name="merchant_name"
|
||||
[peachpayments.metadata.client_merchant_reference_id]
|
||||
name="client_merchant_reference_id"
|
||||
label="Client Merchant Reference Id"
|
||||
placeholder="Enter Client Merchant Reference Id"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.name]
|
||||
name="name"
|
||||
label="Merchant Name"
|
||||
placeholder="Enter Merchant Name"
|
||||
required=true
|
||||
@ -7009,20 +7015,20 @@ label="Merchant Website"
|
||||
placeholder="Enter merchant website URL"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_mid]
|
||||
name="routing_mid"
|
||||
[peachpayments.metadata.mid]
|
||||
name="mid"
|
||||
label="Routing MID"
|
||||
placeholder="Enter routing MID"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_tid]
|
||||
name="routing_tid"
|
||||
[peachpayments.metadata.tid]
|
||||
name="tid"
|
||||
label="Routing TID"
|
||||
placeholder="Enter routing TID"
|
||||
required=true
|
||||
type="Text"
|
||||
[peachpayments.metadata.routing_route]
|
||||
name="routing_route"
|
||||
[peachpayments.metadata.route]
|
||||
name="route"
|
||||
label="Routing Route"
|
||||
placeholder="Select routing route"
|
||||
required=true
|
||||
@ -7034,3 +7040,21 @@ label="AmEx ID"
|
||||
placeholder="Enter AmEx ID for routing"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.sub_mid]
|
||||
name="sub_mid"
|
||||
label="Sub Mid"
|
||||
placeholder="Enter Sub Mid"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.visa_payment_facilitator_id]
|
||||
name="visa_payment_facilitator_id"
|
||||
label="Visa Payment Facilitator Id"
|
||||
placeholder="Enter Visa Payment Facilitator Id"
|
||||
required=false
|
||||
type="Text"
|
||||
[peachpayments.metadata.mastercard_payment_facilitator_id]
|
||||
name="mastercard_payment_facilitator_id"
|
||||
label="mastercard Payment Facilitator Id"
|
||||
placeholder="Enter mastercard Payment Facilitator Id"
|
||||
required=false
|
||||
type="Text"
|
||||
|
||||
@ -2966,6 +2966,13 @@ pub(crate) fn validate_amount_to_capture(
|
||||
amount: i64,
|
||||
amount_to_capture: Option<i64>,
|
||||
) -> RouterResult<()> {
|
||||
utils::when(amount_to_capture.is_some_and(|value| value <= 0), || {
|
||||
Err(report!(errors::ApiErrorResponse::InvalidDataFormat {
|
||||
field_name: "amount".to_string(),
|
||||
expected_format: "positive integer".to_string(),
|
||||
}))
|
||||
})?;
|
||||
|
||||
utils::when(
|
||||
amount_to_capture.is_some() && (Some(amount) < amount_to_capture),
|
||||
|| {
|
||||
|
||||
Reference in New Issue
Block a user