pontoconnect_rs 2.0.3

For more info, please refer to the documentation: https://documentation.ibanity.com/ponto-connect/
Documentation
/*
 * Ponto Connect
 *
 * For more info, please refer to the documentation: https://documentation.ibanity.com/ponto-connect/
 *
 * The version of the OpenAPI document: 2
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PaymentRequestAttributes {
    /// Currency of the payment request, in <a href='https://en.wikipedia.org/wiki/ISO_4217'>ISO4217</a> format
    #[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
    pub currency: Option<String>,
    /// Amount of funds being requested
    #[serde(rename = "amount", skip_serializing_if = "Option::is_none")]
    pub amount: Option<f64>,
    /// Identifier assigned by the initiating party to identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Limited to 35 characters in the set <code>a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 / - ? : ( ) . , ' + Space</code> to ensure it is not rejected by the financial institution.
    #[serde(rename = "endToEndId", skip_serializing_if = "Option::is_none")]
    pub end_to_end_id: Option<String>,
    /// Content of the remittance information (aka communication). Limited to 140 characters in the set <code>a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 / - ? : ( ) . , ' + Space</code> to ensure it is not rejected by the financial institution.
    #[serde(rename = "remittanceInformation", skip_serializing_if = "Option::is_none")]
    pub remittance_information: Option<String>,
    /// Type of remittance information, can be <code>structured</code> or <code>unstructured</code>
    #[serde(rename = "remittanceInformationType", skip_serializing_if = "Option::is_none")]
    pub remittance_information_type: Option<String>,
    /// Financial institution's internal reference for the payee's account
    #[serde(rename = "creditorAccountReference", skip_serializing_if = "Option::is_none")]
    pub creditor_account_reference: Option<String>,
    /// Type of payee's account reference. Currently must be <code>IBAN</code>
    #[serde(rename = "creditorAccountReferenceType", skip_serializing_if = "Option::is_none")]
    pub creditor_account_reference_type: Option<String>,
    /// When the payment request is fully closed
    #[serde(rename = "closedAt", skip_serializing_if = "Option::is_none")]
    pub closed_at: Option<serde_json::Value>,
    /// Financial institution's internal reference for the payer account
    #[serde(rename = "debtorAccountReference", skip_serializing_if = "Option::is_none")]
    pub debtor_account_reference: Option<serde_json::Value>,
    /// Type of payer account reference. Currently must be <code>IBAN</code>
    #[serde(rename = "debtorAccountReferenceType", skip_serializing_if = "Option::is_none")]
    pub debtor_account_reference_type: Option<serde_json::Value>,
    /// Redirection URL used during the user linking process and authorized for your application in the Developer Portal
    #[serde(rename = "redirectUri", skip_serializing_if = "Option::is_none")]
    pub redirect_uri: Option<String>,
    /// When the payment request is signed by the debtor
    #[serde(rename = "signedAt", skip_serializing_if = "Option::is_none")]
    pub signed_at: Option<serde_json::Value>,
    /// URI to redirect to to conduct the authorization flow
    #[serde(rename = "signingUri", skip_serializing_if = "Option::is_none")]
    pub signing_uri: Option<String>,
}

impl PaymentRequestAttributes {
    pub fn new() -> PaymentRequestAttributes {
        PaymentRequestAttributes {
            currency: None,
            amount: None,
            end_to_end_id: None,
            remittance_information: None,
            remittance_information_type: None,
            creditor_account_reference: None,
            creditor_account_reference_type: None,
            closed_at: None,
            debtor_account_reference: None,
            debtor_account_reference_type: None,
            redirect_uri: None,
            signed_at: None,
            signing_uri: None,
        }
    }
}