mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-27 19:46:48 +08:00
chore: Allow to update refund reason (#372)
This commit is contained in:
@ -48,6 +48,10 @@ pub struct RefundRequest {
|
||||
#[derive(Default, Debug, ToSchema, Clone, Deserialize)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
pub struct RefundUpdateRequest {
|
||||
/// An arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
|
||||
#[schema(max_length = 255, example = "Customer returned the product")]
|
||||
pub reason: Option<String>,
|
||||
|
||||
/// You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.
|
||||
#[schema(value_type = Option<Object>, example = r#"{ "city": "NY", "unit": "245" }"#)]
|
||||
pub metadata: Option<serde_json::Value>,
|
||||
|
||||
@ -49,6 +49,7 @@ impl From<StripeUpdateRefundRequest> for refunds::RefundUpdateRequest {
|
||||
fn from(req: StripeUpdateRefundRequest) -> Self {
|
||||
Self {
|
||||
metadata: req.metadata,
|
||||
reason: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -328,8 +328,9 @@ pub async fn refund_update_core(
|
||||
let response = db
|
||||
.update_refund(
|
||||
refund,
|
||||
storage::RefundUpdate::MetadataUpdate {
|
||||
storage::RefundUpdate::MetadataAndReasonUpdate {
|
||||
metadata: req.metadata,
|
||||
reason: req.reason,
|
||||
},
|
||||
merchant_account.storage_scheme,
|
||||
)
|
||||
|
||||
@ -81,8 +81,9 @@ pub enum RefundUpdate {
|
||||
refund_error_message: Option<String>,
|
||||
refund_arn: String,
|
||||
},
|
||||
MetadataUpdate {
|
||||
MetadataAndReasonUpdate {
|
||||
metadata: Option<serde_json::Value>,
|
||||
reason: Option<String>,
|
||||
},
|
||||
StatusUpdate {
|
||||
connector_refund_id: Option<String>,
|
||||
@ -104,6 +105,7 @@ pub struct RefundUpdateInternal {
|
||||
refund_error_message: Option<String>,
|
||||
refund_arn: Option<String>,
|
||||
metadata: Option<serde_json::Value>,
|
||||
refund_reason: Option<String>,
|
||||
}
|
||||
|
||||
impl From<RefundUpdate> for RefundUpdateInternal {
|
||||
@ -123,8 +125,9 @@ impl From<RefundUpdate> for RefundUpdateInternal {
|
||||
refund_arn: Some(refund_arn),
|
||||
..Default::default()
|
||||
},
|
||||
RefundUpdate::MetadataUpdate { metadata } => Self {
|
||||
RefundUpdate::MetadataAndReasonUpdate { metadata, reason } => Self {
|
||||
metadata,
|
||||
refund_reason: reason,
|
||||
..Default::default()
|
||||
},
|
||||
RefundUpdate::StatusUpdate {
|
||||
|
||||
Reference in New Issue
Block a user