mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +08:00
refactor(core): make attempt id as mandatory in router_data (#604)
This commit is contained in:
@ -31,7 +31,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for GlobalpayPaymentsRequest {
|
|||||||
account_name,
|
account_name,
|
||||||
amount: Some(item.request.amount.to_string()),
|
amount: Some(item.request.amount.to_string()),
|
||||||
currency: item.request.currency.to_string(),
|
currency: item.request.currency.to_string(),
|
||||||
reference: item.get_attempt_id()?,
|
reference: item.attempt_id.to_string(),
|
||||||
country: item.get_billing_country()?,
|
country: item.get_billing_country()?,
|
||||||
capture_mode: item.request.capture_method.map(|f| match f {
|
capture_mode: item.request.capture_method.map(|f| match f {
|
||||||
enums::CaptureMethod::Manual => requests::CaptureMode::Later,
|
enums::CaptureMethod::Manual => requests::CaptureMode::Later,
|
||||||
|
|||||||
@ -35,7 +35,6 @@ impl AccessTokenRequestInfo for types::RefreshTokenRouterData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub trait PaymentsRequestData {
|
pub trait PaymentsRequestData {
|
||||||
fn get_attempt_id(&self) -> Result<String, Error>;
|
|
||||||
fn get_billing(&self) -> Result<&api::Address, Error>;
|
fn get_billing(&self) -> Result<&api::Address, Error>;
|
||||||
fn get_billing_country(&self) -> Result<String, Error>;
|
fn get_billing_country(&self) -> Result<String, Error>;
|
||||||
fn get_billing_phone(&self) -> Result<&api::PhoneDetails, Error>;
|
fn get_billing_phone(&self) -> Result<&api::PhoneDetails, Error>;
|
||||||
@ -57,12 +56,6 @@ impl RefundsRequestData for types::RefundsData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl PaymentsRequestData for types::PaymentsAuthorizeRouterData {
|
impl PaymentsRequestData for types::PaymentsAuthorizeRouterData {
|
||||||
fn get_attempt_id(&self) -> Result<String, Error> {
|
|
||||||
self.attempt_id
|
|
||||||
.clone()
|
|
||||||
.ok_or_else(missing_field_err("attempt_id"))
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_billing_country(&self) -> Result<String, Error> {
|
fn get_billing_country(&self) -> Result<String, Error> {
|
||||||
self.address
|
self.address
|
||||||
.billing
|
.billing
|
||||||
|
|||||||
@ -91,11 +91,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for WorldpayPaymentsRequest {
|
|||||||
entity: item.payment_id.clone(),
|
entity: item.payment_id.clone(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
transaction_reference: item.attempt_id.clone().ok_or(
|
transaction_reference: item.attempt_id.clone(),
|
||||||
errors::ConnectorError::MissingRequiredField {
|
|
||||||
field_name: "attempt_id",
|
|
||||||
},
|
|
||||||
)?,
|
|
||||||
channel: None,
|
channel: None,
|
||||||
customer: None,
|
customer: None,
|
||||||
})
|
})
|
||||||
|
|||||||
@ -80,7 +80,7 @@ where
|
|||||||
merchant_id: merchant_account.merchant_id.clone(),
|
merchant_id: merchant_account.merchant_id.clone(),
|
||||||
connector: merchant_connector_account.connector_name,
|
connector: merchant_connector_account.connector_name,
|
||||||
payment_id: payment_data.payment_attempt.payment_id.clone(),
|
payment_id: payment_data.payment_attempt.payment_id.clone(),
|
||||||
attempt_id: Some(payment_data.payment_attempt.attempt_id.clone()),
|
attempt_id: payment_data.payment_attempt.attempt_id.clone(),
|
||||||
status: payment_data.payment_attempt.status,
|
status: payment_data.payment_attempt.status,
|
||||||
payment_method,
|
payment_method,
|
||||||
connector_auth_type: auth_type,
|
connector_auth_type: auth_type,
|
||||||
|
|||||||
@ -53,7 +53,7 @@ pub async fn construct_refund_router_data<'a, F>(
|
|||||||
merchant_id: merchant_account.merchant_id.clone(),
|
merchant_id: merchant_account.merchant_id.clone(),
|
||||||
connector: merchant_connector_account.connector_name,
|
connector: merchant_connector_account.connector_name,
|
||||||
payment_id: payment_attempt.payment_id.clone(),
|
payment_id: payment_attempt.payment_id.clone(),
|
||||||
attempt_id: Some(payment_attempt.attempt_id.clone()),
|
attempt_id: payment_attempt.attempt_id.clone(),
|
||||||
status,
|
status,
|
||||||
payment_method: payment_method_type,
|
payment_method: payment_method_type,
|
||||||
connector_auth_type: auth_type,
|
connector_auth_type: auth_type,
|
||||||
|
|||||||
@ -76,7 +76,7 @@ pub struct RouterData<Flow, Request, Response> {
|
|||||||
pub merchant_id: String,
|
pub merchant_id: String,
|
||||||
pub connector: String,
|
pub connector: String,
|
||||||
pub payment_id: String,
|
pub payment_id: String,
|
||||||
pub attempt_id: Option<String>,
|
pub attempt_id: String,
|
||||||
pub status: storage_enums::AttemptStatus,
|
pub status: storage_enums::AttemptStatus,
|
||||||
pub payment_method: storage_enums::PaymentMethodType,
|
pub payment_method: storage_enums::PaymentMethodType,
|
||||||
pub connector_auth_type: ConnectorAuthType,
|
pub connector_auth_type: ConnectorAuthType,
|
||||||
|
|||||||
@ -22,7 +22,7 @@ fn construct_payment_router_data() -> types::PaymentsAuthorizeRouterData {
|
|||||||
merchant_id: String::from("aci"),
|
merchant_id: String::from("aci"),
|
||||||
connector: "aci".to_string(),
|
connector: "aci".to_string(),
|
||||||
payment_id: uuid::Uuid::new_v4().to_string(),
|
payment_id: uuid::Uuid::new_v4().to_string(),
|
||||||
attempt_id: None,
|
attempt_id: uuid::Uuid::new_v4().to_string(),
|
||||||
status: enums::AttemptStatus::default(),
|
status: enums::AttemptStatus::default(),
|
||||||
auth_type: enums::AuthenticationType::NoThreeDs,
|
auth_type: enums::AuthenticationType::NoThreeDs,
|
||||||
payment_method: enums::PaymentMethodType::Card,
|
payment_method: enums::PaymentMethodType::Card,
|
||||||
@ -72,7 +72,7 @@ fn construct_refund_router_data<F>() -> types::RefundsRouterData<F> {
|
|||||||
merchant_id: String::from("aci"),
|
merchant_id: String::from("aci"),
|
||||||
connector: "aci".to_string(),
|
connector: "aci".to_string(),
|
||||||
payment_id: uuid::Uuid::new_v4().to_string(),
|
payment_id: uuid::Uuid::new_v4().to_string(),
|
||||||
attempt_id: None,
|
attempt_id: uuid::Uuid::new_v4().to_string(),
|
||||||
status: enums::AttemptStatus::default(),
|
status: enums::AttemptStatus::default(),
|
||||||
router_return_url: None,
|
router_return_url: None,
|
||||||
payment_method: enums::PaymentMethodType::Card,
|
payment_method: enums::PaymentMethodType::Card,
|
||||||
|
|||||||
@ -22,7 +22,7 @@ fn construct_payment_router_data() -> types::PaymentsAuthorizeRouterData {
|
|||||||
merchant_id: String::from("authorizedotnet"),
|
merchant_id: String::from("authorizedotnet"),
|
||||||
connector: "authorizedotnet".to_string(),
|
connector: "authorizedotnet".to_string(),
|
||||||
payment_id: uuid::Uuid::new_v4().to_string(),
|
payment_id: uuid::Uuid::new_v4().to_string(),
|
||||||
attempt_id: None,
|
attempt_id: uuid::Uuid::new_v4().to_string(),
|
||||||
status: enums::AttemptStatus::default(),
|
status: enums::AttemptStatus::default(),
|
||||||
router_return_url: None,
|
router_return_url: None,
|
||||||
payment_method: enums::PaymentMethodType::Card,
|
payment_method: enums::PaymentMethodType::Card,
|
||||||
@ -73,7 +73,7 @@ fn construct_refund_router_data<F>() -> types::RefundsRouterData<F> {
|
|||||||
merchant_id: String::from("authorizedotnet"),
|
merchant_id: String::from("authorizedotnet"),
|
||||||
connector: "authorizedotnet".to_string(),
|
connector: "authorizedotnet".to_string(),
|
||||||
payment_id: uuid::Uuid::new_v4().to_string(),
|
payment_id: uuid::Uuid::new_v4().to_string(),
|
||||||
attempt_id: None,
|
attempt_id: uuid::Uuid::new_v4().to_string(),
|
||||||
status: enums::AttemptStatus::default(),
|
status: enums::AttemptStatus::default(),
|
||||||
router_return_url: None,
|
router_return_url: None,
|
||||||
auth_type: enums::AuthenticationType::NoThreeDs,
|
auth_type: enums::AuthenticationType::NoThreeDs,
|
||||||
|
|||||||
@ -19,7 +19,7 @@ fn construct_payment_router_data() -> types::PaymentsAuthorizeRouterData {
|
|||||||
merchant_id: "checkout".to_string(),
|
merchant_id: "checkout".to_string(),
|
||||||
connector: "checkout".to_string(),
|
connector: "checkout".to_string(),
|
||||||
payment_id: uuid::Uuid::new_v4().to_string(),
|
payment_id: uuid::Uuid::new_v4().to_string(),
|
||||||
attempt_id: None,
|
attempt_id: uuid::Uuid::new_v4().to_string(),
|
||||||
status: enums::AttemptStatus::default(),
|
status: enums::AttemptStatus::default(),
|
||||||
router_return_url: None,
|
router_return_url: None,
|
||||||
auth_type: enums::AuthenticationType::NoThreeDs,
|
auth_type: enums::AuthenticationType::NoThreeDs,
|
||||||
@ -70,7 +70,7 @@ fn construct_refund_router_data<F>() -> types::RefundsRouterData<F> {
|
|||||||
merchant_id: "checkout".to_string(),
|
merchant_id: "checkout".to_string(),
|
||||||
connector: "checkout".to_string(),
|
connector: "checkout".to_string(),
|
||||||
payment_id: uuid::Uuid::new_v4().to_string(),
|
payment_id: uuid::Uuid::new_v4().to_string(),
|
||||||
attempt_id: None,
|
attempt_id: uuid::Uuid::new_v4().to_string(),
|
||||||
status: enums::AttemptStatus::default(),
|
status: enums::AttemptStatus::default(),
|
||||||
router_return_url: None,
|
router_return_url: None,
|
||||||
payment_method: enums::PaymentMethodType::Card,
|
payment_method: enums::PaymentMethodType::Card,
|
||||||
|
|||||||
@ -348,7 +348,7 @@ pub trait ConnectorActions: Connector {
|
|||||||
merchant_id: self.get_name(),
|
merchant_id: self.get_name(),
|
||||||
connector: self.get_name(),
|
connector: self.get_name(),
|
||||||
payment_id: uuid::Uuid::new_v4().to_string(),
|
payment_id: uuid::Uuid::new_v4().to_string(),
|
||||||
attempt_id: Some(uuid::Uuid::new_v4().to_string()),
|
attempt_id: uuid::Uuid::new_v4().to_string(),
|
||||||
status: enums::AttemptStatus::default(),
|
status: enums::AttemptStatus::default(),
|
||||||
router_return_url: info.clone().and_then(|a| a.router_return_url),
|
router_return_url: info.clone().and_then(|a| a.router_return_url),
|
||||||
auth_type: info
|
auth_type: info
|
||||||
|
|||||||
Reference in New Issue
Block a user