feat(payments): add connector_metadata, metadata and feature_metadata fields in payments, remove udf field (#1595)

This commit is contained in:
Abhishek Marrivagu
2023-07-05 17:51:05 +05:30
committed by GitHub
parent 8c90d0a78c
commit e713b62ae3
20 changed files with 479 additions and 441 deletions

View File

@ -14,7 +14,6 @@ use crate::{
api::{admin, enums as api_enums},
transformers::{ForeignFrom, ForeignTryFrom},
},
utils::OptionExt,
};
#[derive(Default, Serialize, PartialEq, Eq, Deserialize, Clone)]
@ -220,13 +219,7 @@ impl TryFrom<StripePaymentIntentRequest> for payments::PaymentsRequest {
field_name: "receipt_ipaddress".to_string(),
expected_format: "127.0.0.1".to_string(),
})?;
let metadata_object = item
.metadata
.clone()
.parse_value("metadata")
.change_context(errors::ApiErrorResponse::InvalidDataValue {
field_name: "metadata mapping failed",
})?;
let request = Ok(Self {
payment_id: item.id.map(payments::PaymentIdType::PaymentIntentId),
amount: item.amount.map(|amount| amount.into()),
@ -264,8 +257,7 @@ impl TryFrom<StripePaymentIntentRequest> for payments::PaymentsRequest {
.and_then(|pmd| pmd.billing_details.map(payments::Address::from)),
statement_descriptor_name: item.statement_descriptor,
statement_descriptor_suffix: item.statement_descriptor_suffix,
metadata: metadata_object,
udf: item.metadata,
metadata: item.metadata,
client_secret: item.client_secret.map(|s| s.peek().clone()),
authentication_type,
mandate_data: mandate_options,
@ -447,7 +439,7 @@ impl From<payments::PaymentsResponse> for StripePaymentIntentResponse {
statement_descriptor_suffix: resp.statement_descriptor_suffix,
next_action: into_stripe_next_action(resp.next_action, resp.return_url),
cancellation_reason: resp.cancellation_reason,
metadata: resp.udf,
metadata: resp.metadata,
charges: Charges::new(),
last_payment_error: resp.error_code.map(|code| LastPaymentError {
charge: None,

View File

@ -237,7 +237,6 @@ impl TryFrom<StripeSetupIntentRequest> for payments::PaymentsRequest {
statement_descriptor_name: item.statement_descriptor,
statement_descriptor_suffix: item.statement_descriptor_suffix,
metadata: metadata_object,
udf: item.metadata,
client_secret: item.client_secret.map(|s| s.peek().clone()),
setup_future_usage: item.setup_future_usage,
merchant_connector_details: item.merchant_connector_details,
@ -419,7 +418,7 @@ impl From<payments::PaymentsResponse> for StripeSetupIntentResponse {
charges: payment_intent::Charges::new(),
created: resp.created,
customer: resp.customer_id,
metadata: resp.udf,
metadata: resp.metadata,
id: resp.payment_id,
refunds: resp
.refunds