mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-10-31 18:17:13 +08:00 
			
		
		
		
	feat(ci): Create a new workflow to validate the generated openAPI spec file (openapi_spec.json) (#1323)
Co-authored-by: kritikmodi <kritik.modi@juspay.in> Co-authored-by: pixincreate@work <69745008+pixincreate@users.noreply.github.com> Co-authored-by: Narayan Bhat <narayan.bhat@juspay.in> Co-authored-by: Sanchith Hegde <22217505+SanchithHegde@users.noreply.github.com>
This commit is contained in:
		| @ -726,14 +726,20 @@ pub enum BankRedirectData { | ||||
|     }, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Clone, Eq, PartialEq, serde::Deserialize, serde::Serialize)] | ||||
| #[derive(Debug, Clone, Eq, PartialEq, serde::Deserialize, serde::Serialize, ToSchema)] | ||||
| pub struct AchBillingDetails { | ||||
|     /// The Email ID for ACH billing | ||||
|     #[schema(value_type = String, example = "example@me.com")] | ||||
|     pub email: Email, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Clone, Eq, PartialEq, serde::Deserialize, serde::Serialize)] | ||||
| #[derive(Debug, Clone, Eq, PartialEq, serde::Deserialize, serde::Serialize, ToSchema)] | ||||
| pub struct SepaAndBacsBillingDetails { | ||||
|     /// The Email ID for SEPA and BACS billing | ||||
|     #[schema(value_type = String, example = "example@me.com")] | ||||
|     pub email: Email, | ||||
|     /// The billing name for SEPA and BACS billing | ||||
|     #[schema(value_type = String, example = "Jane Doe")] | ||||
|     pub name: Secret<String>, | ||||
| } | ||||
|  | ||||
| @ -762,13 +768,19 @@ pub struct BankRedirectBilling { | ||||
| #[serde(rename_all = "snake_case")] | ||||
| pub enum BankTransferData { | ||||
|     AchBankTransfer { | ||||
|         /// The billing details for ACH Bank Transfer | ||||
|         billing_details: AchBillingDetails, | ||||
|     }, | ||||
|     SepaBankTransfer { | ||||
|         /// The billing details for SEPA | ||||
|         billing_details: SepaAndBacsBillingDetails, | ||||
|  | ||||
|         /// The two-letter ISO country code for SEPA and BACS | ||||
|         #[schema(value_type = CountryAlpha2, example = "US")] | ||||
|         country: api_enums::CountryAlpha2, | ||||
|     }, | ||||
|     BacsBankTransfer { | ||||
|         /// The billing details for SEPA | ||||
|         billing_details: SepaAndBacsBillingDetails, | ||||
|     }, | ||||
| } | ||||
| @ -1082,48 +1094,65 @@ pub enum NextActionData { | ||||
|     }, | ||||
| } | ||||
|  | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize)] | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize, ToSchema)] | ||||
| pub struct BankTransferNextStepsData { | ||||
|     /// The instructions for performing a bank transfer | ||||
|     #[serde(flatten)] | ||||
|     pub bank_transfer_instructions: BankTransferInstructions, | ||||
|     /// The details received by the receiver | ||||
|     pub receiver: ReceiverDetails, | ||||
| } | ||||
|  | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize)] | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize, ToSchema)] | ||||
| #[serde(rename_all = "snake_case")] | ||||
| pub enum BankTransferInstructions { | ||||
|     /// The credit transfer for ACH transactions | ||||
|     AchCreditTransfer(Box<AchTransfer>), | ||||
|     /// The instructions for SEPA bank transactions | ||||
|     SepaBankInstructions(Box<SepaBankTransferInstructions>), | ||||
|     /// The instructions for BACS bank transactions | ||||
|     BacsBankInstructions(Box<BacsBankTransferInstructions>), | ||||
| } | ||||
|  | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Deserialize, serde::Serialize)] | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Deserialize, serde::Serialize, ToSchema)] | ||||
| pub struct SepaBankTransferInstructions { | ||||
|     #[schema(value_type = String, example = "Jane Doe")] | ||||
|     pub account_holder_name: Secret<String>, | ||||
|     #[schema(value_type = String, example = "1024419982")] | ||||
|     pub bic: Secret<String>, | ||||
|     pub country: String, | ||||
|     #[schema(value_type = String, example = "123456789")] | ||||
|     pub iban: Secret<String>, | ||||
| } | ||||
|  | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Deserialize, serde::Serialize)] | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Deserialize, serde::Serialize, ToSchema)] | ||||
| pub struct BacsBankTransferInstructions { | ||||
|     #[schema(value_type = String, example = "Jane Doe")] | ||||
|     pub account_holder_name: Secret<String>, | ||||
|     #[schema(value_type = String, example = "10244123908")] | ||||
|     pub account_number: Secret<String>, | ||||
|     #[schema(value_type = String, example = "012")] | ||||
|     pub sort_code: Secret<String>, | ||||
| } | ||||
|  | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize)] | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize, ToSchema)] | ||||
| pub struct AchTransfer { | ||||
|     #[schema(value_type = String, example = "122385736258")] | ||||
|     pub account_number: Secret<String>, | ||||
|     pub bank_name: String, | ||||
|     #[schema(value_type = String, example = "012")] | ||||
|     pub routing_number: Secret<String>, | ||||
|     #[schema(value_type = String, example = "234")] | ||||
|     pub swift_code: Secret<String>, | ||||
| } | ||||
|  | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize)] | ||||
| #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize, ToSchema)] | ||||
| pub struct ReceiverDetails { | ||||
|     /// The amount received by receiver | ||||
|     amount_received: i64, | ||||
|     /// The amount charged by ACH | ||||
|     amount_charged: Option<i64>, | ||||
|     /// The amount remaining to be sent via ACH | ||||
|     amount_remaining: Option<i64>, | ||||
| } | ||||
|  | ||||
| @ -1296,7 +1325,7 @@ pub struct PaymentsResponse { | ||||
|     pub connector_label: Option<String>, | ||||
|  | ||||
|     /// The business country of merchant for this payment | ||||
|     #[schema(value_type = CountryAlpha2)] | ||||
|     #[schema(value_type = CountryAlpha2, example = "US")] | ||||
|     pub business_country: api_enums::CountryAlpha2, | ||||
|  | ||||
|     /// The business label of merchant for this payment | ||||
| @ -1563,6 +1592,7 @@ pub struct Metadata { | ||||
|     pub order_category: Option<String>, | ||||
|  | ||||
|     /// Redirection response coming in request as metadata field only for redirection scenarios | ||||
|     #[schema(value_type = Option<RedirectResponse>)] | ||||
|     pub redirect_response: Option<RedirectResponse>, | ||||
|  | ||||
|     /// Allowed payment method types for a payment intent | ||||
| @ -1572,6 +1602,7 @@ pub struct Metadata { | ||||
|  | ||||
| #[derive(Default, Debug, Eq, PartialEq, serde::Deserialize, serde::Serialize, Clone, ToSchema)] | ||||
| pub struct RedirectResponse { | ||||
|     #[schema(value_type = Option<String>)] | ||||
|     pub param: Option<Secret<String>>, | ||||
|     #[schema(value_type = Option<Object>)] | ||||
|     pub json_payload: Option<pii::SecretSerdeValue>, | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Kritik Modi
					Kritik Modi