Isox.Pain011 (Isox v0.1.0)

Copy Markdown View Source

Modelo ISO 20022 do pain.011 (cancelamento de mandato), versão 1.3 — carrega uma cópia inteira do mandato original (OrgnlMndt, campos prefixados orgnl_*, mesmo formato do Pain009 sem Adjstmnt, que não existe neste schema) mais o motivo do cancelamento (CxlRsn).

SplmtryData é opcional como um todo aqui (diferente do Pain009, onde é obrigatório) — mndt_prcg_dtls vazio omite o contêiner inteiro.

Summary

Functions

Decodifica um XML de pain.011 de volta para a struct.

Monta o XML (envelope completo, AppHdr + Document) para a versão dada.

Types

t()

@type t() :: %Isox.Pain011{
  created_at: term(),
  cxl_orgtr_cpf_cnpj: term(),
  cxl_rsn_prtry: term(),
  instg_agt_ispb: term(),
  mndt_prcg_dtls: term(),
  msg_id: term(),
  orgnl_cdtr_agt_ispb: term(),
  orgnl_cdtr_cpf_cnpj: term(),
  orgnl_cdtr_name: term(),
  orgnl_colltn_amt: term(),
  orgnl_dbtr_acct_id: term(),
  orgnl_dbtr_acct_issr: term(),
  orgnl_dbtr_agt_ispb: term(),
  orgnl_dbtr_cpf_cnpj: term(),
  orgnl_fnl_colltn_dt: term(),
  orgnl_frqcy_tp: term(),
  orgnl_frst_colltn_dt: term(),
  orgnl_mndt_id: term(),
  orgnl_mndt_req_id: term(),
  orgnl_rfrd_doc_cdtr_ref: term(),
  orgnl_rfrd_doc_nb: term(),
  orgnl_trckg_ind: term(),
  orgnl_ultmt_dbtr_cpf_cnpj: term(),
  orgnl_ultmt_dbtr_name: term()
}

version()

@type version() :: :v1_3

Functions

decode(xml)

@spec decode(binary()) :: {:ok, t(), version()} | {:error, term()}

Decodifica um XML de pain.011 de volta para a struct.

encode(message, header, version)

@spec encode(t(), Isox.AppHdr.t(), version()) ::
  {:ok, binary()} | {:error, String.t()}

Monta o XML (envelope completo, AppHdr + Document) para a versão dada.