Skip to content

Commit a52bd13

Browse files
tsdk02Narayanbhat166lsamprashyperswitch-bot[bot]
committed
feat(events): Add payment metadata to hyperswitch-payment-intent-events (#5170)
Co-authored-by: Narayan Bhat <[email protected]> Co-authored-by: Sampras Lopes <[email protected]> Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
1 parent 5b2ef74 commit a52bd13

File tree

25 files changed

+146
-119
lines changed

25 files changed

+146
-119
lines changed

config/development.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,7 @@ host = "https://localhost:9200"
663663
[opensearch.auth]
664664
auth = "basic"
665665
username = "admin"
666-
password = "admin"
666+
password = "0penS3arc#"
667667
region = "eu-central-1"
668668

669669
[opensearch.indexes]

config/docker_compose.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ host = "https://opensearch:9200"
495495
[opensearch.auth]
496496
auth = "basic"
497497
username = "admin"
498-
password = "admin"
498+
password = "0penS3arc#"
499499
region = "eu-central-1"
500500

501501
[opensearch.indexes]

crates/api_models/src/payments.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ pub struct PaymentsRequest {
454454

455455
/// 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.
456456
#[schema(value_type = Option<Object>, example = r#"{ "udf1": "some-value", "udf2": "some-value" }"#)]
457-
pub metadata: Option<pii::SecretSerdeValue>,
457+
pub metadata: Option<serde_json::Value>,
458458

459459
/// Some connectors like Apple pay, Airwallex and Noon might require some additional information, find specific details in the child attributes below.
460460
pub connector_metadata: Option<ConnectorMetadata>,
@@ -3557,7 +3557,7 @@ pub struct PaymentsResponse {
35573557

35583558
/// 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.
35593559
#[schema(value_type = Option<Object>, example = r#"{ "udf1": "some-value", "udf2": "some-value" }"#)]
3560-
pub metadata: Option<pii::SecretSerdeValue>,
3560+
pub metadata: Option<serde_json::Value>,
35613561

35623562
/// Additional data related to some connectors
35633563
#[schema(value_type = Option<ConnectorMetadata>)]

crates/diesel_models/src/payment_intent.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pub struct PaymentIntent {
1818
pub customer_id: Option<id_type::CustomerId>,
1919
pub description: Option<String>,
2020
pub return_url: Option<String>,
21-
pub metadata: Option<pii::SecretSerdeValue>,
21+
pub metadata: Option<serde_json::Value>,
2222
pub connector_id: Option<String>,
2323
pub shipping_address_id: Option<String>,
2424
pub billing_address_id: Option<String>,
@@ -78,7 +78,7 @@ pub struct PaymentIntentNew {
7878
pub customer_id: Option<id_type::CustomerId>,
7979
pub description: Option<String>,
8080
pub return_url: Option<String>,
81-
pub metadata: Option<pii::SecretSerdeValue>,
81+
pub metadata: Option<serde_json::Value>,
8282
pub connector_id: Option<String>,
8383
pub shipping_address_id: Option<String>,
8484
pub billing_address_id: Option<String>,
@@ -133,7 +133,7 @@ pub enum PaymentIntentUpdate {
133133
incremental_authorization_allowed: Option<bool>,
134134
},
135135
MetadataUpdate {
136-
metadata: pii::SecretSerdeValue,
136+
metadata: serde_json::Value,
137137
updated_by: String,
138138
},
139139
PaymentCreateUpdate {
@@ -171,7 +171,7 @@ pub enum PaymentIntentUpdate {
171171
statement_descriptor_name: Option<String>,
172172
statement_descriptor_suffix: Option<String>,
173173
order_details: Option<Vec<pii::SecretSerdeValue>>,
174-
metadata: Option<pii::SecretSerdeValue>,
174+
metadata: Option<serde_json::Value>,
175175
payment_confirm_source: Option<storage_enums::PaymentSource>,
176176
updated_by: String,
177177
session_expiry: Option<PrimitiveDateTime>,
@@ -233,7 +233,7 @@ pub struct PaymentIntentUpdateInternal {
233233
pub return_url: Option<String>,
234234
pub setup_future_usage: Option<storage_enums::FutureUsage>,
235235
pub off_session: Option<bool>,
236-
pub metadata: Option<pii::SecretSerdeValue>,
236+
pub metadata: Option<serde_json::Value>,
237237
pub billing_address_id: Option<String>,
238238
pub shipping_address_id: Option<String>,
239239
pub modified_at: Option<PrimitiveDateTime>,

crates/hyperswitch_domain_models/src/payments.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub struct PaymentIntent {
2121
pub customer_id: Option<id_type::CustomerId>,
2222
pub description: Option<String>,
2323
pub return_url: Option<String>,
24-
pub metadata: Option<pii::SecretSerdeValue>,
24+
pub metadata: Option<serde_json::Value>,
2525
pub connector_id: Option<String>,
2626
pub shipping_address_id: Option<String>,
2727
pub billing_address_id: Option<String>,

crates/hyperswitch_domain_models/src/payments/payment_intent.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ pub struct PaymentIntentNew {
9898
pub customer_id: Option<id_type::CustomerId>,
9999
pub description: Option<String>,
100100
pub return_url: Option<String>,
101-
pub metadata: Option<pii::SecretSerdeValue>,
101+
pub metadata: Option<serde_json::Value>,
102102
pub frm_metadata: Option<pii::SecretSerdeValue>,
103103
pub connector_id: Option<String>,
104104
pub shipping_address_id: Option<String>,
@@ -148,7 +148,7 @@ pub enum PaymentIntentUpdate {
148148
incremental_authorization_allowed: Option<bool>,
149149
},
150150
MetadataUpdate {
151-
metadata: pii::SecretSerdeValue,
151+
metadata: serde_json::Value,
152152
updated_by: String,
153153
},
154154
PaymentCreateUpdate {
@@ -186,7 +186,7 @@ pub enum PaymentIntentUpdate {
186186
statement_descriptor_name: Option<String>,
187187
statement_descriptor_suffix: Option<String>,
188188
order_details: Option<Vec<pii::SecretSerdeValue>>,
189-
metadata: Option<pii::SecretSerdeValue>,
189+
metadata: Option<serde_json::Value>,
190190
frm_metadata: Option<pii::SecretSerdeValue>,
191191
payment_confirm_source: Option<storage_enums::PaymentSource>,
192192
updated_by: String,
@@ -247,7 +247,7 @@ pub struct PaymentIntentUpdateInternal {
247247
pub return_url: Option<String>,
248248
pub setup_future_usage: Option<storage_enums::FutureUsage>,
249249
pub off_session: Option<bool>,
250-
pub metadata: Option<pii::SecretSerdeValue>,
250+
pub metadata: Option<serde_json::Value>,
251251
pub billing_address_id: Option<String>,
252252
pub shipping_address_id: Option<String>,
253253
pub modified_at: Option<PrimitiveDateTime>,

crates/hyperswitch_domain_models/src/router_request_types.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ pub struct PaymentsAuthorizeData {
5656
pub surcharge_details: Option<SurchargeDetails>,
5757
pub customer_id: Option<String>,
5858
pub request_incremental_authorization: bool,
59-
pub metadata: Option<pii::SecretSerdeValue>,
59+
pub metadata: Option<serde_json::Value>,
6060
pub authentication_data: Option<AuthenticationData>,
6161
pub charges: Option<PaymentCharges>,
6262

@@ -102,7 +102,7 @@ pub struct PaymentsCaptureData {
102102
pub multiple_capture_data: Option<MultipleCaptureRequestData>,
103103
pub connector_meta: Option<serde_json::Value>,
104104
pub browser_info: Option<BrowserInformation>,
105-
pub metadata: Option<pii::SecretSerdeValue>,
105+
pub metadata: Option<serde_json::Value>,
106106
// This metadata is used to store the metadata shared during the payment intent request.
107107

108108
// New amount for amount frame work
@@ -346,7 +346,7 @@ pub struct CompleteAuthorizeData {
346346
pub connector_transaction_id: Option<String>,
347347
pub connector_meta: Option<serde_json::Value>,
348348
pub complete_authorize_url: Option<String>,
349-
pub metadata: Option<pii::SecretSerdeValue>,
349+
pub metadata: Option<serde_json::Value>,
350350
pub customer_acceptance: Option<mandates::CustomerAcceptance>,
351351
// New amount for amount frame work
352352
pub minor_amount: MinorUnit,
@@ -390,7 +390,7 @@ pub struct PaymentsCancelData {
390390
pub cancellation_reason: Option<String>,
391391
pub connector_meta: Option<serde_json::Value>,
392392
pub browser_info: Option<BrowserInformation>,
393-
pub metadata: Option<pii::SecretSerdeValue>,
393+
pub metadata: Option<serde_json::Value>,
394394
// This metadata is used to store the metadata shared during the payment intent request.
395395

396396
// minor amount data for amount framework

crates/router/src/compatibility/stripe/payment_intents/types.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ pub struct StripePaymentIntentRequest {
261261
pub shipping: Option<Shipping>,
262262
pub statement_descriptor: Option<String>,
263263
pub statement_descriptor_suffix: Option<String>,
264-
pub metadata: Option<SecretSerdeValue>,
264+
pub metadata: Option<serde_json::Value>,
265265
pub client_secret: Option<masking::Secret<String>>,
266266
pub payment_method_options: Option<StripePaymentMethodOptions>,
267267
pub merchant_connector_details: Option<admin::MerchantConnectorDetailsWrap>,
@@ -478,7 +478,7 @@ pub struct StripePaymentIntentResponse {
478478
pub customer: Option<id_type::CustomerId>,
479479
pub refunds: Option<Vec<stripe_refunds::StripeRefundResponse>>,
480480
pub mandate: Option<String>,
481-
pub metadata: Option<SecretSerdeValue>,
481+
pub metadata: Option<serde_json::Value>,
482482
pub charges: Charges,
483483
pub connector: Option<String>,
484484
pub description: Option<String>,

crates/router/src/compatibility/stripe/setup_intents/types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@ pub struct StripeSetupIntentResponse {
458458
pub object: String,
459459
pub status: StripeSetupStatus,
460460
pub client_secret: Option<masking::Secret<String>>,
461-
pub metadata: Option<secret::SecretSerdeValue>,
461+
pub metadata: Option<Value>,
462462
#[serde(with = "common_utils::custom_serde::iso8601::option")]
463463
pub created: Option<time::PrimitiveDateTime>,
464464
pub customer: Option<id_type::CustomerId>,

crates/router/src/connector/adyen/transformers.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2610,7 +2610,7 @@ impl<'a>
26102610
channel: None,
26112611
shopper_statement: item.router_data.request.statement_descriptor.clone(),
26122612
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
2613-
metadata: item.router_data.request.metadata.clone(),
2613+
metadata: item.router_data.request.metadata.clone().map(Into::into),
26142614
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
26152615
})
26162616
}
@@ -2673,7 +2673,7 @@ impl<'a>
26732673
channel: None,
26742674
shopper_statement: item.router_data.request.statement_descriptor.clone(),
26752675
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
2676-
metadata: item.router_data.request.metadata.clone(),
2676+
metadata: item.router_data.request.metadata.clone().map(Into::into),
26772677
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
26782678
})
26792679
}
@@ -2727,7 +2727,7 @@ impl<'a>
27272727
channel: None,
27282728
shopper_statement: item.router_data.request.statement_descriptor.clone(),
27292729
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
2730-
metadata: item.router_data.request.metadata.clone(),
2730+
metadata: item.router_data.request.metadata.clone().map(Into::into),
27312731
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
27322732
};
27332733
Ok(request)
@@ -2782,7 +2782,7 @@ impl<'a>
27822782
channel: None,
27832783
shopper_statement: item.router_data.request.statement_descriptor.clone(),
27842784
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
2785-
metadata: item.router_data.request.metadata.clone(),
2785+
metadata: item.router_data.request.metadata.clone().map(Into::into),
27862786
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
27872787
};
27882788
Ok(request)
@@ -2833,7 +2833,7 @@ impl<'a>
28332833
channel: None,
28342834
shopper_statement: item.router_data.request.statement_descriptor.clone(),
28352835
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
2836-
metadata: item.router_data.request.metadata.clone(),
2836+
metadata: item.router_data.request.metadata.clone().map(Into::into),
28372837
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
28382838
};
28392839
Ok(request)
@@ -2884,7 +2884,7 @@ impl<'a>
28842884
social_security_number: None,
28852885
shopper_statement: item.router_data.request.statement_descriptor.clone(),
28862886
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
2887-
metadata: item.router_data.request.metadata.clone(),
2887+
metadata: item.router_data.request.metadata.clone().map(Into::into),
28882888
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
28892889
};
28902890
Ok(request)
@@ -2945,7 +2945,7 @@ impl<'a>
29452945
channel: None,
29462946
shopper_statement: item.router_data.request.statement_descriptor.clone(),
29472947
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
2948-
metadata: item.router_data.request.metadata.clone(),
2948+
metadata: item.router_data.request.metadata.clone().map(Into::into),
29492949
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
29502950
})
29512951
}
@@ -3041,7 +3041,7 @@ impl<'a>
30413041
channel,
30423042
shopper_statement: item.router_data.request.statement_descriptor.clone(),
30433043
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
3044-
metadata: item.router_data.request.metadata.clone(),
3044+
metadata: item.router_data.request.metadata.clone().map(Into::into),
30453045
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
30463046
})
30473047
}
@@ -3117,7 +3117,7 @@ impl<'a>
31173117
channel: None,
31183118
shopper_statement: item.router_data.request.statement_descriptor.clone(),
31193119
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
3120-
metadata: item.router_data.request.metadata.clone(),
3120+
metadata: item.router_data.request.metadata.clone().map(Into::into),
31213121
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
31223122
})
31233123
}
@@ -3176,7 +3176,7 @@ impl<'a>
31763176
social_security_number: None,
31773177
shopper_statement: item.router_data.request.statement_descriptor.clone(),
31783178
shopper_ip: item.router_data.request.get_ip_address_as_optional(),
3179-
metadata: item.router_data.request.metadata.clone(),
3179+
metadata: item.router_data.request.metadata.clone().map(Into::into),
31803180
merchant_order_reference: item.router_data.request.merchant_order_reference_id.clone(),
31813181
})
31823182
}

0 commit comments

Comments
 (0)