Class PeriodicPaymentInitiationJson


  • @Validated
    @Generated(value="io.swagger.codegen.v3.generators.java.SpringCodegen",
               date="2020-11-12T17:35:11.808068+02:00[Europe/Kiev]")
    public class PeriodicPaymentInitiationJson
    extends Object
    Generic Body for a periodic payment initation via JSON. This generic JSON body can be used to represent valid periodic payment initiations for the following JSON based payment product, which where defined in the Implementation Guidelines: * sepa-credit-transfers * instant-sepa-credit-transfers * target-2-payments * cross-border-credit-transfers For the convenience of the implementer additional which are already predefinded in the Implementation Guidelines are included (but commented in source code), such that an ASPSP may add them easily. Take care: Since the format is intended to fit for all payment products there are additional conditions which are NOT covered by this specification. Please check the Implementation Guidelines for detailes. The following data element are depending on the actual payment product available (in source code): <table style=\"width:100%\"> <tr><th>Data Element</th><th>SCT EU Core</th><th>SCT INST EU Core</th><th>Target2 Paym. Core</th><th>Cross Border CT Core</th></tr> <tr><td>endToEndIdentification</td><td> optional</td> <td>optional</td> <td>optional</td> <td>n.a.</td> </tr> <tr><td>instructionIdentification</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>debtorName</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>debtorAccount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr> <tr><td>debtorId</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>ultimateDebtor</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>instructedAmount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr> <tr><td>transactionCurrency</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>exchangeRateInformation</td> <td>n.a.</td> <td>n.a.</td><td>n.a.</td> <td>n.a.</td> </tr> <tr><td>creditorAccount</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr> <tr><td>creditorAgent</td> <td>optional</td> <td>optional</td> <td>optional</td> <td>conditional </td> </tr> <tr><td>creditorAgentName</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>creditorName</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr> <tr><td>creditorId</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>creditorAddress</td>optional</td> <td>optional</td> <td>optional</td> <td>conditional </td> </tr> <tr><td>creditorNameAndAddress</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>ultimateCreditor</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>purposeCode</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>chargeBearer</td> <td>n.a.</td> <td>n.a.</td> <td>optional</td> <td>conditional </td> </tr> <tr><td>remittanceInformationUnstructured</td> <td>optional</td> <td>optional</td> <td> optional</td> <td>optional</td> </tr> <tr><td>remittanceInformationUnstructuredArray</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>remittanceInformationStructured</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>remittanceInformationStructuredArray</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>requestedExecutionDate</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>requestedExecutionTime</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> <td>n.a.</td> </tr> <tr><td>startDate</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr> <tr><td>executionRule</td> <td>optional</td> <td>optional</td> <td>optional</td> <td>optional</td> </tr> <tr><td>endDate</td> <td>optional</td> <td>optional</td> <td>optional</td> <td>optional</td> </tr> <tr><td>frequency</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> <td>mandatory</td> </tr> <tr><td>dayOfExecution</td> <td>conditional</td> <td>conditional</td> <td>conditional</td> <td>conditional</td> </tr> </td></tr> </table> IMPORTANT: In this API definition the following holds: * All data elements mentioned above are defined, but some of them are commented, i.e. they are only visible in the source code and can be used by uncommenting them. * Data elements which are mandatory in the table above for all payment products are set to be mandatory in this specification. * Data elements which are indicated in the table above as n.a. for all payment products are commented in the source code. * Data elements which are indicated to be option, conditional or mandatory for at least one payment product in the table above are set to be optional in the s specification except the case where all are definde to be mandatory. * Data element which are inticated to be n.a. can be used by the ASPS if needed. In this case uncomment tthe the relatetd lines in the source code. * If one uses this data types for some payment products he has to ensure that the used data type is valid according to the underlying payment product, e.g. by some appropriate validations.
    • Constructor Detail

      • PeriodicPaymentInitiationJson

        public PeriodicPaymentInitiationJson()
    • Method Detail

      • getEndToEndIdentification

        @Size(max=35)
        public @Size(max=35) String getEndToEndIdentification()
        Get endToEndIdentification
        Returns:
        endToEndIdentification
      • setEndToEndIdentification

        public void setEndToEndIdentification​(String endToEndIdentification)
      • getInstructionIdentification

        @Size(max=35)
        public @Size(max=35) String getInstructionIdentification()
        Get instructionIdentification
        Returns:
        instructionIdentification
      • setInstructionIdentification

        public void setInstructionIdentification​(String instructionIdentification)
      • getDebtorName

        @Size(max=70)
        public @Size(max=70) String getDebtorName()
        Get debtorName
        Returns:
        debtorName
      • setDebtorName

        public void setDebtorName​(String debtorName)
      • getDebtorAccount

        @NotNull
        @Valid
        public @NotNull @Valid AccountReference getDebtorAccount()
        Get debtorAccount
        Returns:
        debtorAccount
      • setDebtorAccount

        public void setDebtorAccount​(AccountReference debtorAccount)
      • getUltimateDebtor

        @Size(max=70)
        public @Size(max=70) String getUltimateDebtor()
        Get ultimateDebtor
        Returns:
        ultimateDebtor
      • setUltimateDebtor

        public void setUltimateDebtor​(String ultimateDebtor)
      • getInstructedAmount

        @NotNull
        @Valid
        public @NotNull @Valid Amount getInstructedAmount()
        Get instructedAmount
        Returns:
        instructedAmount
      • setInstructedAmount

        public void setInstructedAmount​(Amount instructedAmount)
      • getCreditorAccount

        @NotNull
        @Valid
        public @NotNull @Valid AccountReference getCreditorAccount()
        Get creditorAccount
        Returns:
        creditorAccount
      • setCreditorAccount

        public void setCreditorAccount​(AccountReference creditorAccount)
      • getCreditorAgent

        @Pattern(regexp="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}")
        public @Pattern(regexp="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}") String getCreditorAgent()
        Get creditorAgent
        Returns:
        creditorAgent
      • setCreditorAgent

        public void setCreditorAgent​(String creditorAgent)
      • getCreditorId

        @Size(max=35)
        public @Size(max=35) String getCreditorId()
        Identification of Creditors, e.g. a SEPA Creditor ID.
        Returns:
        creditorId
      • setCreditorId

        public void setCreditorId​(String creditorId)
      • getCreditorName

        @NotNull
        @Size(max=70)
        public @NotNull @Size(max=70) String getCreditorName()
        Get creditorName
        Returns:
        creditorName
      • setCreditorName

        public void setCreditorName​(String creditorName)
      • getCreditorAddress

        @Valid
        public @Valid Address getCreditorAddress()
        Get creditorAddress
        Returns:
        creditorAddress
      • setCreditorAddress

        public void setCreditorAddress​(Address creditorAddress)
      • getUltimateCreditor

        @Size(max=70)
        public @Size(max=70) String getUltimateCreditor()
        Get ultimateCreditor
        Returns:
        ultimateCreditor
      • setUltimateCreditor

        public void setUltimateCreditor​(String ultimateCreditor)
      • getPurposeCode

        @Valid
        public @Valid PurposeCode getPurposeCode()
        Get purposeCode
        Returns:
        purposeCode
      • setPurposeCode

        public void setPurposeCode​(PurposeCode purposeCode)
      • getRemittanceInformationUnstructured

        @Size(max=140)
        public @Size(max=140) String getRemittanceInformationUnstructured()
        Get remittanceInformationUnstructured
        Returns:
        remittanceInformationUnstructured
      • setRemittanceInformationUnstructured

        public void setRemittanceInformationUnstructured​(String remittanceInformationUnstructured)
      • getRemittanceInformationStructured

        @Size(max=140)
        public @Size(max=140) String getRemittanceInformationStructured()
        Get remittanceInformationStructured
        Returns:
        remittanceInformationStructured
      • setRemittanceInformationStructured

        public void setRemittanceInformationStructured​(String remittanceInformationStructured)
      • getRemittanceInformationStructuredArray

        @Valid
        public @Valid RemittanceInformationStructuredArray getRemittanceInformationStructuredArray()
        Get remittanceInformationStructuredArray
        Returns:
        remittanceInformationStructuredArray
      • getStartDate

        @NotNull
        @Valid
        public @NotNull @Valid LocalDate getStartDate()
        Get startDate
        Returns:
        startDate
      • setStartDate

        public void setStartDate​(LocalDate startDate)
      • getEndDate

        @Valid
        public @Valid LocalDate getEndDate()
        Get endDate
        Returns:
        endDate
      • setEndDate

        public void setEndDate​(LocalDate endDate)
      • getExecutionRule

        @Valid
        public @Valid ExecutionRule getExecutionRule()
        Get executionRule
        Returns:
        executionRule
      • setExecutionRule

        public void setExecutionRule​(ExecutionRule executionRule)
      • getFrequency

        @NotNull
        @Valid
        public @NotNull @Valid FrequencyCode getFrequency()
        Get frequency
        Returns:
        frequency
      • setFrequency

        public void setFrequency​(FrequencyCode frequency)
      • getDayOfExecution

        @Valid
        @Size(max=2)
        public @Valid @Size(max=2) DayOfExecution getDayOfExecution()
        Get dayOfExecution
        Returns:
        dayOfExecution
      • setDayOfExecution

        public void setDayOfExecution​(DayOfExecution dayOfExecution)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object