Devolução: a ordem que faz o dinheiro de um Pix já liquidado voltar.
Versão 1.5. Aponta o pagamento original por orgnl_end_to_end_id, e
ganha identificador próprio em rtr_id, que segue o mesmo formato do
idFimAFim mas começa com D em vez de E. A resposta é uma
Isox.Pacs002.
Devolução parcial é permitida, então value pode ser menor que o
original. Maior, não, e a soma das devoluções também não pode passar do
valor original.
Os dois agentes mantêm os papéis do pagamento original: quem pagou
continua sendo o dbtr, mesmo que agora seja ele quem recebe o dinheiro
de volta.
Lote
TxInf é ilimitado no XSD, e o catálogo documenta lote de verdade
(pacs.004_SPI_10_msg.xml, 10 transações numa mensagem só). encode/3
aceita uma mensagem ou uma lista, e decode/1 devolve uma struct ou uma
lista, conforme o XML.
Summary
Functions
Decodifica um XML de pacs.004 de volta para a struct, ou
para uma lista de structs quando a
mensagem traz mais de uma TxInf (lote), para uma lista de structs.
Monta o XML (envelope completo, AppHdr + Document) para a versão
dada. Aceita 1 mensagem ou uma lista (lote: vira várias TxInf na
mesma Document, com NbOfTxs ajustado à quantidade).
Types
@type t() :: %Isox.Pacs004{ cdtr_agt_ispb: String.t(), created_at: DateTime.t(), dbtr_agt_ispb: String.t(), msg_id: String.t(), orgnl_end_to_end_id: String.t(), rmt_inf_ustrd: String.t() | nil, rtr_id: String.t(), rtr_rsn_addtl_inf: String.t() | nil, rtr_rsn_cd: String.t(), sttlm_prty: String.t(), value: String.t() | number() }
@type version() :: :v1_5
Functions
Decodifica um XML de pacs.004 de volta para a struct, ou
para uma lista de structs quando a
mensagem traz mais de uma TxInf (lote), para uma lista de structs.
@spec encode(t() | [t(), ...], Isox.AppHdr.t(), version()) :: {:ok, binary()} | {:error, String.t()}
Monta o XML (envelope completo, AppHdr + Document) para a versão
dada. Aceita 1 mensagem ou uma lista (lote: vira várias TxInf na
mesma Document, com NbOfTxs ajustado à quantidade).
msg_id/created_at são de GrpHdr (uma vez por mensagem XML). Em
lote, têm que ser iguais em todos os itens da lista.