Integração com Função - Preview === ## Notificação de autorização :::success Este serviço deve ser fechado para a internet, com acesso pela intranet apenas para a máquina do função. É um serviço REST via POST na URL *"${application-context}/funcao/auth/notification"*. Esse serviço deve ter um objeto com as propriedades abaixo, como payload em JSON: - **clientIdForBank**: String (identificador do cliente para o banco) - **clientDocNumber**: String (número de CPF/CNPJ do cliente) - **bankInfo**: BankInfo (informações de conta bancária) - **bank**: Bank (enum com os possíveis valores: CEF | BB | ITAU | SANTANDER | BRADESCO) - **branch**: String (número da agência) - **account**: String (número da conta) - **extra**: String (informação extra necessária em alguns bancos; não é obrigatório. Ex.: operação na CEF) - **checkDigit**: String (dígito verificador; não é obrigatório, e pode ser da conta ou da agência, dependendo do banco) #### Exemplo de payload ```jsonld= { "clientIdForBank": "81752701", "clientDocNumber": "75464779051", "bankInfo": { "bank": "CEF", "branch": "0001", "account": "819365", "extra": "013" } } ``` ::: --- ## Solicitação de autorização :::success Este serviço deve ser fechado para a internet, com acesso pela intranet apenas para a máquina do função. É um serviço REST via POST na URL *"${application-context}/funcao/auth"*. Esse serviço deve ter um objeto com as propriedades abaixo, como payload em JSON: - **clientIdForBank**: String (identificador do cliente para o banco) - **clientDocNumber**: String (número de CPF/CNPJ do cliente) - **debitDate**: String (data programada para o débito - formato AAAAMMDD) - **value**: BigDecimal (valor do débito) - **bankInfo**: BankInfo (informações de conta bancária) - **bank**: Bank (enum com os possíveis valores: CEF | BB | ITAU | SANTANDER | BRADESCO) - **branch**: String (número da agência) - **account**: String (número da conta) - **extra**: String (informação extra necessária em alguns bancos; não é obrigatório. Ex.: operação na CEF) - **checkDigit**: String (dígito verificador; não é obrigatório, e pode ser da conta ou da agência, dependendo do banco) #### Exemplo de payload ```jsonld= { "bankInfo": { "account": "819365", "bank": "ITAU", "branch": "0001", "checkDigit": "1" }, "clientDocNumber": "81959018086", "clientIdForBank": "81752701", "debitDate": "20190131", "value": 1000.00 } ``` ::: --- ## Retorno da solicitação de autorização :::success Este serviço deve ser fechado para a internet, com acesso pela intranet apenas para a máquina do DirectDebit no PagSeguro. Após o processamento do arquivo .RET, será chamado um serviço REST do função via POST na URL desejada. Ex.: "${funcaoContext}/directdebit/auth/return". Esse serviço não precisa ter retorno, e deve estar preparado para receber como payload um objeto em JSON com as seguintes propriedades: - **status**: Status (enum com o seguinte domínio: SUCCESS | PENDING | FAILURE) - **cliendId**: String (identificador do cliente) #### Exemplo de payload ```jsonld= { "clientDocNumber": "81959018086", "status": "PENDING" } ``` :::