pub struct MT107Transaction {Show 19 fields
pub field_21: Field21NoOption,
pub field_23e: Option<Field23E>,
pub field_21c: Option<Field21C>,
pub field_21d: Option<Field21D>,
pub field_21e: Option<Field21E>,
pub field_32b: Field32B,
pub field_50_instructing: Option<Field50InstructingParty>,
pub field_50_creditor: Option<Field50Creditor>,
pub field_52: Option<Field52CreditorBank>,
pub field_57: Option<Field57DebtorBank>,
pub field_59: Field59,
pub field_70: Option<Field70>,
pub field_26t: Option<Field26T>,
pub field_77b: Option<Field77B>,
pub field_33b: Option<Field33B>,
pub field_71a: Option<Field71A>,
pub field_71f: Option<Field71F>,
pub field_71g: Option<Field71G>,
pub field_36: Option<Field36>,
}
Expand description
MT107 Transaction (Sequence B)
§Purpose
Represents a single direct debit transaction within an MT107 message. Each occurrence provides details for one direct debit request with flexible authorization and processing options.
§Field Details
- 21: Transaction Reference (mandatory) - Unique reference for this direct debit
- 32B: Currency/Transaction Amount (mandatory) - Amount to be debited
- 59: Debtor (mandatory) - Account and details of party being debited
- 23E: Instruction Code - Authorization status (AUTH/NAUT/OTHR) or processing instructions
- 21C/21D/21E: Various reference fields for transaction linking
- 50: Instructing Party/Creditor - Can be at transaction level if not in Sequence A
- 33B/36: Currency conversion fields when amounts differ
§Authorization Types (23E)
- AUTH: Authorized direct debit - pre-authorized by debtor
- NAUT: Non-authorized direct debit - requires special handling
- OTHR: Other processing instruction - specific business rules apply
- RTND: Returned direct debit - previously failed transaction
§Validation Notes
- Transaction reference (21) must be unique within the message
- If 33B present and amount differs from 32B, exchange rate (36) required
- Authorization status in 23E must be consistent with Sequence A if specified there
Fields§
§field_21: Field21NoOption
§field_23e: Option<Field23E>
§field_21c: Option<Field21C>
§field_21d: Option<Field21D>
§field_21e: Option<Field21E>
§field_32b: Field32B
§field_50_instructing: Option<Field50InstructingParty>
§field_50_creditor: Option<Field50Creditor>
§field_52: Option<Field52CreditorBank>
§field_57: Option<Field57DebtorBank>
§field_59: Field59
§field_70: Option<Field70>
§field_26t: Option<Field26T>
§field_77b: Option<Field77B>
§field_33b: Option<Field33B>
§field_71a: Option<Field71A>
§field_71f: Option<Field71F>
§field_71g: Option<Field71G>
§field_36: Option<Field36>
Implementations§
Trait Implementations§
Source§impl Clone for MT107Transaction
impl Clone for MT107Transaction
Source§fn clone(&self) -> MT107Transaction
fn clone(&self) -> MT107Transaction
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for MT107Transaction
impl Debug for MT107Transaction
Source§impl<'de> Deserialize<'de> for MT107Transaction
impl<'de> Deserialize<'de> for MT107Transaction
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for MT107Transaction
impl PartialEq for MT107Transaction
Source§impl Serialize for MT107Transaction
impl Serialize for MT107Transaction
Source§impl SwiftField for MT107Transaction
impl SwiftField for MT107Transaction
Source§fn to_swift_string(&self) -> String
fn to_swift_string(&self) -> String
Convert field back to SWIFT string format
Source§fn format_spec() -> &'static str
fn format_spec() -> &'static str
Get field format specification
Source§impl SwiftMessageBody for MT107Transaction
impl SwiftMessageBody for MT107Transaction
Source§fn message_type() -> &'static str
fn message_type() -> &'static str
Get the message type identifier (e.g., “103”, “202”)
Source§fn from_fields(
fields: HashMap<String, Vec<(String, usize)>>,
) -> SwiftResult<Self>
fn from_fields( fields: HashMap<String, Vec<(String, usize)>>, ) -> SwiftResult<Self>
Create from field map with sequential consumption tracking
Source§fn from_fields_with_config(
fields: HashMap<String, Vec<(String, usize)>>,
config: &ParserConfig,
) -> Result<ParseResult<Self>, ParseError>
fn from_fields_with_config( fields: HashMap<String, Vec<(String, usize)>>, config: &ParserConfig, ) -> Result<ParseResult<Self>, ParseError>
Create from field map with configuration for error collection
Source§fn required_fields() -> Vec<&'static str>
fn required_fields() -> Vec<&'static str>
Get required field tags for this message type
Source§fn optional_fields() -> Vec<&'static str>
fn optional_fields() -> Vec<&'static str>
Get optional field tags for this message type
impl StructuralPartialEq for MT107Transaction
Auto Trait Implementations§
impl Freeze for MT107Transaction
impl RefUnwindSafe for MT107Transaction
impl Send for MT107Transaction
impl Sync for MT107Transaction
impl Unpin for MT107Transaction
impl UnwindSafe for MT107Transaction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more