mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-02 04:04:43 +08:00
feat(core): add merchant order reference id (#5197)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -3136,6 +3136,7 @@ mod tests {
|
||||
charges: None,
|
||||
frm_metadata: None,
|
||||
customer_details: None,
|
||||
merchant_order_reference_id: None,
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
assert!(authenticate_client_secret(req_cs.as_ref(), &payment_intent).is_ok());
|
||||
@ -3196,6 +3197,7 @@ mod tests {
|
||||
charges: None,
|
||||
frm_metadata: None,
|
||||
customer_details: None,
|
||||
merchant_order_reference_id: None,
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
assert!(authenticate_client_secret(req_cs.as_ref(), &payment_intent,).is_err())
|
||||
@ -3255,6 +3257,7 @@ mod tests {
|
||||
charges: None,
|
||||
frm_metadata: None,
|
||||
customer_details: None,
|
||||
merchant_order_reference_id: None,
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
assert!(authenticate_client_secret(req_cs.as_ref(), &payment_intent).is_err())
|
||||
|
||||
@ -1262,6 +1262,7 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for Paymen
|
||||
request_external_three_ds_authentication: None,
|
||||
frm_metadata: m_frm_metadata,
|
||||
customer_details,
|
||||
merchant_order_reference_id: None,
|
||||
},
|
||||
&m_key_store,
|
||||
storage_scheme,
|
||||
|
||||
@ -1117,6 +1117,7 @@ impl PaymentCreate {
|
||||
charges,
|
||||
frm_metadata: request.frm_metadata.clone(),
|
||||
customer_details,
|
||||
merchant_order_reference_id: request.merchant_order_reference_id.clone(),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -372,6 +372,11 @@ impl<F: Send + Clone> GetTracker<F, PaymentData<F>, api::PaymentsRequest> for Pa
|
||||
.request_external_three_ds_authentication
|
||||
.or(payment_intent.request_external_three_ds_authentication);
|
||||
|
||||
payment_intent.merchant_order_reference_id = request
|
||||
.merchant_order_reference_id
|
||||
.clone()
|
||||
.or(payment_intent.merchant_order_reference_id);
|
||||
|
||||
Self::populate_payment_attempt_with_request(&mut payment_attempt, request);
|
||||
|
||||
let creds_identifier = request
|
||||
@ -707,6 +712,11 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for Paymen
|
||||
let metadata = payment_data.payment_intent.metadata.clone();
|
||||
let frm_metadata = payment_data.payment_intent.frm_metadata.clone();
|
||||
let session_expiry = payment_data.payment_intent.session_expiry;
|
||||
let merchant_order_reference_id = payment_data
|
||||
.payment_intent
|
||||
.merchant_order_reference_id
|
||||
.clone();
|
||||
|
||||
payment_data.payment_intent = state
|
||||
.store
|
||||
.update_payment_intent(
|
||||
@ -736,6 +746,7 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for Paymen
|
||||
.request_external_three_ds_authentication,
|
||||
frm_metadata,
|
||||
customer_details,
|
||||
merchant_order_reference_id,
|
||||
},
|
||||
key_store,
|
||||
storage_scheme,
|
||||
|
||||
@ -880,6 +880,7 @@ where
|
||||
.set_updated(Some(payment_intent.modified_at))
|
||||
.set_charges(charges_response)
|
||||
.set_frm_metadata(payment_intent.frm_metadata)
|
||||
.set_merchant_order_reference_id(payment_intent.merchant_order_reference_id)
|
||||
.to_owned(),
|
||||
headers,
|
||||
))
|
||||
@ -1305,6 +1306,11 @@ impl<F: Clone> TryFrom<PaymentAdditionalData<'_, F>> for types::PaymentsAuthoriz
|
||||
None => None,
|
||||
};
|
||||
|
||||
let merchant_order_reference_id = payment_data
|
||||
.payment_intent
|
||||
.merchant_order_reference_id
|
||||
.clone();
|
||||
|
||||
Ok(Self {
|
||||
payment_method_data: From::from(
|
||||
payment_method_data.get_required_value("payment_method_data")?,
|
||||
@ -1350,6 +1356,7 @@ impl<F: Clone> TryFrom<PaymentAdditionalData<'_, F>> for types::PaymentsAuthoriz
|
||||
.transpose()?,
|
||||
customer_acceptance: payment_data.customer_acceptance,
|
||||
charges,
|
||||
merchant_order_reference_id,
|
||||
integrity_object: None,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user