pub struct MT103 {Show 36 fields
pub field_20: GenericReferenceField,
pub field_23b: GenericTextField,
pub field_32a: Field32A,
pub field_50: Field50,
pub field_59: Field59,
pub field_71a: GenericTextField,
pub field_13c: Option<Field13C>,
pub field_23e: Option<Field23E>,
pub field_26t: Option<GenericTextField>,
pub field_33b: Option<Field33B>,
pub field_36: Option<Field36>,
pub field_51a: Option<GenericBicField>,
pub field_52a: Option<GenericBicField>,
pub field_52d: Option<GenericNameAddressField>,
pub field_53a: Option<GenericBicField>,
pub field_53b: Option<GenericPartyField>,
pub field_53d: Option<GenericNameAddressField>,
pub field_54a: Option<GenericBicField>,
pub field_54b: Option<GenericPartyField>,
pub field_54d: Option<GenericNameAddressField>,
pub field_55a: Option<GenericBicField>,
pub field_55b: Option<GenericPartyField>,
pub field_55d: Option<GenericNameAddressField>,
pub field_56a: Option<GenericBicField>,
pub field_56c: Option<GenericAccountField>,
pub field_56d: Option<GenericNameAddressField>,
pub field_57a: Option<GenericBicField>,
pub field_57b: Option<GenericPartyField>,
pub field_57c: Option<GenericAccountField>,
pub field_57d: Option<GenericNameAddressField>,
pub field_70: Option<GenericMultiLine4x35>,
pub field_71f: Option<Field71F>,
pub field_71g: Option<Field71G>,
pub field_72: Option<GenericMultiLine6x35>,
pub field_77b: Option<GenericMultiLine3x35>,
pub field_77t: Option<Field77T>,
}
Expand description
MT103: Customer Credit Transfer (Standard and STP variants)
Unified structure supporting both standard MT103 and MT103 STP variants.
Use is_stp_compliant()
to check if the message meets STP requirements.
Fields§
§field_20: GenericReferenceField
§field_23b: GenericTextField
§field_32a: Field32A
§field_50: Field50
§field_59: Field59
§field_71a: GenericTextField
§field_13c: Option<Field13C>
§field_23e: Option<Field23E>
§field_26t: Option<GenericTextField>
§field_33b: Option<Field33B>
§field_36: Option<Field36>
§field_51a: Option<GenericBicField>
§field_52a: Option<GenericBicField>
§field_52d: Option<GenericNameAddressField>
§field_53a: Option<GenericBicField>
§field_53b: Option<GenericPartyField>
§field_53d: Option<GenericNameAddressField>
§field_54a: Option<GenericBicField>
§field_54b: Option<GenericPartyField>
§field_54d: Option<GenericNameAddressField>
§field_55a: Option<GenericBicField>
§field_55b: Option<GenericPartyField>
§field_55d: Option<GenericNameAddressField>
§field_56a: Option<GenericBicField>
§field_56c: Option<GenericAccountField>
§field_56d: Option<GenericNameAddressField>
§field_57a: Option<GenericBicField>
§field_57b: Option<GenericPartyField>
§field_57c: Option<GenericAccountField>
§field_57d: Option<GenericNameAddressField>
§field_70: Option<GenericMultiLine4x35>
§field_71f: Option<Field71F>
§field_71g: Option<Field71G>
§field_72: Option<GenericMultiLine6x35>
§field_77b: Option<GenericMultiLine3x35>
§field_77t: Option<Field77T>
Implementations§
Source§impl MT103
impl MT103
Sourcepub fn validation_rules() -> &'static str
pub fn validation_rules() -> &'static str
Get the validation rules for this message type
Source§impl MT103
impl MT103
Sourcepub fn is_stp_compliant(&self) -> bool
pub fn is_stp_compliant(&self) -> bool
Check if this MT103 message is compliant with STP (Straight Through Processing) requirements
STP compliance requires:
- Field 51A must not be present
- Field 52: Only option A allowed (no D)
- Field 53: Only options A/B allowed (no D)
- Field 54: Only option A allowed (no B/D)
- Field 23E: Limited to CORT, INTC, SDVA, REPA
- Field 56a: Not allowed if 23B is SPRI
- Field 59: Account information mandatory
- Additional conditional rules (C4, C6)
Sourcepub fn is_remit_message(&self) -> bool
pub fn is_remit_message(&self) -> bool
Check if this MT103 message is a REMIT message with enhanced remittance information
REMIT messages are distinguished by:
- Field 77T must be present and contain structured remittance information
- Field 70 is typically not used (replaced by 77T)
- Enhanced remittance data for regulatory compliance
Sourcepub fn has_reject_codes(&self) -> bool
pub fn has_reject_codes(&self) -> bool
Check if this MT103 message contains reject codes
Reject messages are identified by checking:
- Field 20 (Sender’s Reference) for “REJT” prefix
- Block 3 field 108 (MUR - Message User Reference) for “REJT”
- Field 72 (Sender to Receiver Information) containing
/REJT/
code
Sourcepub fn has_return_codes(&self) -> bool
pub fn has_return_codes(&self) -> bool
Check if this MT103 message contains return codes
Return messages are identified by checking:
- Field 20 (Sender’s Reference) for “RETN” prefix
- Block 3 field 108 (MUR - Message User Reference) for “RETN”
- Field 72 (Sender to Receiver Information) containing
/RETN/
code
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MT103
impl<'de> Deserialize<'de> for MT103
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 SwiftMessageBody for MT103
impl SwiftMessageBody for MT103
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>>) -> SwiftResult<Self>
fn from_fields(fields: HashMap<String, Vec<String>>) -> SwiftResult<Self>
Create from field map
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
Source§fn is_cover_message(&self) -> bool
fn is_cover_message(&self) -> bool
Check if this message is a cover message (default: false)
fn has_reject_codes(&self) -> bool
fn has_return_codes(&self) -> bool
fn is_stp_message(&self) -> bool
impl StructuralPartialEq for MT103
Auto Trait Implementations§
impl Freeze for MT103
impl RefUnwindSafe for MT103
impl Send for MT103
impl Sync for MT103
impl Unpin for MT103
impl UnwindSafe for MT103
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