mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 11:06:50 +08:00
refactor(compatibility): map connector to routing in payments request for backward compatibility (#1339)
Co-authored-by: Tinu Hareesswar <tinuhareesswarr@gmail.com>
This commit is contained in:
committed by
GitHub
parent
23458bc427
commit
166688a590
@ -125,7 +125,7 @@ impl From<Shipping> for payments::Address {
|
|||||||
pub struct StripePaymentIntentRequest {
|
pub struct StripePaymentIntentRequest {
|
||||||
pub id: Option<String>,
|
pub id: Option<String>,
|
||||||
pub amount: Option<i64>, //amount in cents, hence passed as integer
|
pub amount: Option<i64>, //amount in cents, hence passed as integer
|
||||||
pub connector: Option<Vec<api_enums::Connector>>,
|
pub connector: Option<Vec<api_enums::RoutableConnectors>>,
|
||||||
pub currency: Option<String>,
|
pub currency: Option<String>,
|
||||||
#[serde(rename = "amount_to_capture")]
|
#[serde(rename = "amount_to_capture")]
|
||||||
pub amount_capturable: Option<i64>,
|
pub amount_capturable: Option<i64>,
|
||||||
@ -169,10 +169,22 @@ impl TryFrom<StripePaymentIntentRequest> for payments::PaymentsRequest {
|
|||||||
}
|
}
|
||||||
None => (None, None),
|
None => (None, None),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let routable_connector: Option<api_enums::RoutableConnectors> =
|
||||||
|
item.connector.and_then(|v| v.into_iter().next());
|
||||||
|
|
||||||
|
let routing = routable_connector
|
||||||
|
.map(crate::types::api::RoutingAlgorithm::Single)
|
||||||
|
.map(|r| {
|
||||||
|
serde_json::to_value(r)
|
||||||
|
.into_report()
|
||||||
|
.change_context(errors::ApiErrorResponse::InternalServerError)
|
||||||
|
.attach_printable("converting to routing failed")
|
||||||
|
})
|
||||||
|
.transpose()?;
|
||||||
let request = Ok(Self {
|
let request = Ok(Self {
|
||||||
payment_id: item.id.map(payments::PaymentIdType::PaymentIntentId),
|
payment_id: item.id.map(payments::PaymentIdType::PaymentIntentId),
|
||||||
amount: item.amount.map(|amount| amount.into()),
|
amount: item.amount.map(|amount| amount.into()),
|
||||||
connector: item.connector,
|
|
||||||
currency: item
|
currency: item
|
||||||
.currency
|
.currency
|
||||||
.as_ref()
|
.as_ref()
|
||||||
@ -215,6 +227,7 @@ impl TryFrom<StripePaymentIntentRequest> for payments::PaymentsRequest {
|
|||||||
setup_future_usage: item.setup_future_usage,
|
setup_future_usage: item.setup_future_usage,
|
||||||
mandate_id: item.mandate_id,
|
mandate_id: item.mandate_id,
|
||||||
off_session: item.off_session,
|
off_session: item.off_session,
|
||||||
|
routing,
|
||||||
..Self::default()
|
..Self::default()
|
||||||
});
|
});
|
||||||
request
|
request
|
||||||
|
|||||||
Reference in New Issue
Block a user