mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-30 09:38:33 +08:00
fix(connector): [Prophetpay] Use refund_id as reference_id for Refund (#2966)
This commit is contained in:
@ -8,6 +8,7 @@ use url::Url;
|
|||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
connector::utils::{self, to_connector_meta},
|
connector::utils::{self, to_connector_meta},
|
||||||
|
consts as const_val,
|
||||||
core::errors,
|
core::errors,
|
||||||
services,
|
services,
|
||||||
types::{self, api, storage::enums},
|
types::{self, api, storage::enums},
|
||||||
@ -432,7 +433,6 @@ pub struct ProphetpaySyncResponse {
|
|||||||
pub response_text: String,
|
pub response_text: String,
|
||||||
#[serde(rename = "transactionID")]
|
#[serde(rename = "transactionID")]
|
||||||
pub transaction_id: String,
|
pub transaction_id: String,
|
||||||
pub response_code: String,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<F, T>
|
impl<F, T>
|
||||||
@ -462,7 +462,7 @@ impl<F, T>
|
|||||||
Ok(Self {
|
Ok(Self {
|
||||||
status: enums::AttemptStatus::Failure,
|
status: enums::AttemptStatus::Failure,
|
||||||
response: Err(types::ErrorResponse {
|
response: Err(types::ErrorResponse {
|
||||||
code: item.response.response_code,
|
code: const_val::NO_ERROR_CODE.to_string(),
|
||||||
message: item.response.response_text.clone(),
|
message: item.response.response_text.clone(),
|
||||||
reason: Some(item.response.response_text),
|
reason: Some(item.response.response_text),
|
||||||
status_code: item.http_code,
|
status_code: item.http_code,
|
||||||
@ -481,7 +481,6 @@ pub struct ProphetpayVoidResponse {
|
|||||||
pub response_text: String,
|
pub response_text: String,
|
||||||
#[serde(rename = "transactionID")]
|
#[serde(rename = "transactionID")]
|
||||||
pub transaction_id: String,
|
pub transaction_id: String,
|
||||||
pub response_code: String,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<F, T>
|
impl<F, T>
|
||||||
@ -511,7 +510,7 @@ impl<F, T>
|
|||||||
Ok(Self {
|
Ok(Self {
|
||||||
status: enums::AttemptStatus::VoidFailed,
|
status: enums::AttemptStatus::VoidFailed,
|
||||||
response: Err(types::ErrorResponse {
|
response: Err(types::ErrorResponse {
|
||||||
code: item.response.response_code,
|
code: const_val::NO_ERROR_CODE.to_string(),
|
||||||
message: item.response.response_text.clone(),
|
message: item.response.response_text.clone(),
|
||||||
reason: Some(item.response.response_text),
|
reason: Some(item.response.response_text),
|
||||||
status_code: item.http_code,
|
status_code: item.http_code,
|
||||||
@ -576,8 +575,8 @@ impl<F> TryFrom<&ProphetpayRouterData<&types::RefundsRouterData<F>>> for Prophet
|
|||||||
amount: item.amount.to_owned(),
|
amount: item.amount.to_owned(),
|
||||||
card_token: card_token_data.card_token,
|
card_token: card_token_data.card_token,
|
||||||
profile: auth_data.profile_id,
|
profile: auth_data.profile_id,
|
||||||
ref_info: item.router_data.connector_request_reference_id.to_owned(),
|
ref_info: item.router_data.request.refund_id.to_owned(),
|
||||||
inquiry_reference: item.router_data.connector_request_reference_id.clone(),
|
inquiry_reference: item.router_data.request.refund_id.clone(),
|
||||||
action_type: ProphetpayActionType::get_action_type(&ProphetpayActionType::Refund),
|
action_type: ProphetpayActionType::get_action_type(&ProphetpayActionType::Refund),
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@ -594,8 +593,7 @@ impl<F> TryFrom<&ProphetpayRouterData<&types::RefundsRouterData<F>>> for Prophet
|
|||||||
pub struct ProphetpayRefundResponse {
|
pub struct ProphetpayRefundResponse {
|
||||||
pub success: bool,
|
pub success: bool,
|
||||||
pub response_text: String,
|
pub response_text: String,
|
||||||
pub tran_seq_number: String,
|
pub tran_seq_number: Option<String>,
|
||||||
pub response_code: String,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TryFrom<types::RefundsResponseRouterData<api::Execute, ProphetpayRefundResponse>>
|
impl TryFrom<types::RefundsResponseRouterData<api::Execute, ProphetpayRefundResponse>>
|
||||||
@ -609,7 +607,11 @@ impl TryFrom<types::RefundsResponseRouterData<api::Execute, ProphetpayRefundResp
|
|||||||
Ok(Self {
|
Ok(Self {
|
||||||
response: Ok(types::RefundsResponseData {
|
response: Ok(types::RefundsResponseData {
|
||||||
// no refund id is generated, tranSeqNumber is kept for future usage
|
// no refund id is generated, tranSeqNumber is kept for future usage
|
||||||
connector_refund_id: item.response.tran_seq_number,
|
connector_refund_id: item.response.tran_seq_number.ok_or(
|
||||||
|
errors::ConnectorError::MissingRequiredField {
|
||||||
|
field_name: "tran_seq_number",
|
||||||
|
},
|
||||||
|
)?,
|
||||||
refund_status: enums::RefundStatus::Success,
|
refund_status: enums::RefundStatus::Success,
|
||||||
}),
|
}),
|
||||||
..item.data
|
..item.data
|
||||||
@ -618,7 +620,7 @@ impl TryFrom<types::RefundsResponseRouterData<api::Execute, ProphetpayRefundResp
|
|||||||
Ok(Self {
|
Ok(Self {
|
||||||
status: enums::AttemptStatus::Failure,
|
status: enums::AttemptStatus::Failure,
|
||||||
response: Err(types::ErrorResponse {
|
response: Err(types::ErrorResponse {
|
||||||
code: item.response.response_code,
|
code: const_val::NO_ERROR_CODE.to_string(),
|
||||||
message: item.response.response_text.clone(),
|
message: item.response.response_text.clone(),
|
||||||
reason: Some(item.response.response_text),
|
reason: Some(item.response.response_text),
|
||||||
status_code: item.http_code,
|
status_code: item.http_code,
|
||||||
@ -635,7 +637,6 @@ impl TryFrom<types::RefundsResponseRouterData<api::Execute, ProphetpayRefundResp
|
|||||||
pub struct ProphetpayRefundSyncResponse {
|
pub struct ProphetpayRefundSyncResponse {
|
||||||
pub success: bool,
|
pub success: bool,
|
||||||
pub response_text: String,
|
pub response_text: String,
|
||||||
pub response_code: String,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T> TryFrom<types::RefundsResponseRouterData<T, ProphetpayRefundSyncResponse>>
|
impl<T> TryFrom<types::RefundsResponseRouterData<T, ProphetpayRefundSyncResponse>>
|
||||||
@ -658,7 +659,7 @@ impl<T> TryFrom<types::RefundsResponseRouterData<T, ProphetpayRefundSyncResponse
|
|||||||
Ok(Self {
|
Ok(Self {
|
||||||
status: enums::AttemptStatus::Failure,
|
status: enums::AttemptStatus::Failure,
|
||||||
response: Err(types::ErrorResponse {
|
response: Err(types::ErrorResponse {
|
||||||
code: item.response.response_code,
|
code: const_val::NO_ERROR_CODE.to_string(),
|
||||||
message: item.response.response_text.clone(),
|
message: item.response.response_text.clone(),
|
||||||
reason: Some(item.response.response_text),
|
reason: Some(item.response.response_text),
|
||||||
status_code: item.http_code,
|
status_code: item.http_code,
|
||||||
|
|||||||
Reference in New Issue
Block a user