Criando um consentimento V2
Para realizar criação de um consentimento de uma iniciação de pagamento em uma organização participante do Open Finance (Instituição detentora de conta) precisamos que seja enviado uma requisição com os dados de identificação da organização, identificação do servidor de autorização, dados do recebedor, dados do pagador e dados do pagamento.
Conforme foi citado na página conceitual de iniciação de pagamento existem algumas formas de pagamento do arranjo PIX aceita no ecossistema Open Finance.
Nesta documentação vamos seguir como criar um consentimento para cada forma de pagamento através da solução da Bit Capital.
Dados de um consentimento
Para realizar a criação do consentimento são necessários os seguintes dados.
Campo | Condição | Descrição do campo |
---|---|---|
additionalInfos.key | Obrigatório | ID do requisitante previamente cadastrado. |
organisationId | Obrigatório | Identificação da organização participante do Open Finance. |
authorisationServerId | Obrigatório | Identificação do servidor de autorização da organização participante do Open Finance. |
loggedUser.identification | Obrigatório | Número de identificação do usuário (Pessoa natural) pagador / logado. |
loggedUser.rel | Obrigatório | Tipo de documento de identificação do usuário (Pessoa natural) pagador / logado. |
businessIdentity.identification | Condicional | Número do CNPJ do titular pessoa jurídica relacionada ao usuário (Pessoa natural) informado no objeto loggedUser. Condição: Obrigatório caso seja uma conta de pessoa jurídica |
businessIdentity.rel | Condicional | Tipo de documento de identificação da pessoa jurídica relacionada ao usuário (Pessoa natural) informado no objeto loggedUser. Condição: Obrigatório caso seja uma conta de pessoa jurídica |
creditor.personType | Condicional | Campo do tipo ENUM. Titular, pessoa natural ou jurídica a quem se referem os dados do recebedor. (PESSOA_NATURAL; PESSOA_JURIDICA). Condição: Obrigatório caso seja um pagamento do tipo inserção de dados manuais (MANU) |
creditor.cpfCnpj | Condicional | Número do documento de identificação da que se refere a pessoa recebedora. **Condição: Obrigatório caso seja um pagamento do tipo inserção de dados manuais (MANU)** |
creditor.name | Condicional | Nome da que se refere a pessoa recebedora. Em caso de pessoa natural nome completo do titular da conta do recebedor. Em caso da pessoa jurídica deve ser informada a razão social ou o nome fantasia. Condição: Obrigatório caso seja um pagamento do tipo inserção de dados manuais (MANU) |
payment.amount | Obrigatório | Valor da transação. |
details.localInstrument | Obrigatório | Campo tipo ENUM. Especifica a forma da iniciação de pagamento (MANU; DICT; QRDN; QRES; INIC) |
details.proxy | Condicional | Chave PIX relacionada a pessoa recebedora informada no objeto creditor Condição: Obrigatório caso seja um pagamento do tipo inserção de chave PIX (DICT); Dados do recebedor (INIC); QR Code estático (QRES); QR Code Dinâmico (QRDN) |
details.qrCode | Condicional | Sequência de caracteres que corresponde ao QR Code disponibilizado para o pagador. Condição: Obrigatório caso seja um pagamento do tipo QR Code estático (QRES) ou QR Code dinâmico (QRDN) |
creditorAccount.ispb | Condicional | ISPB do banco referente a conta relacionada a pessoa recebedora informada no objeto creditor. Condição: Obrigatório caso seja um pagamento do tipo inserção de dados manuais (MANU) |
creditorAccount.issuer | Condicional | Agência do banco referente a conta relacionada a pessoa recebedora informada no objeto creditor. Condição: Obrigatório caso seja um pagamento do tipo inserção de dados manuais (MANU) |
creditorAccount.number | Condicional | Número da conta do banco referente a conta relacionada a pessoa recebedora informada no objeto creditor. Condição: Obrigatório caso seja um pagamento do tipo inserção de dados manuais (MANU) |
creditorAccount.accountType | Condicional | Campo do tipo ENUM. Tipo de conta do banco referente a conta relacionada a pessoa recebedora informada no objeto creditor. (CACC; SVGS; TRAN; SLRY). Condição: Obrigatório caso seja um pagamento do tipo inserção de dados manuais (MANU) |
debtorAccount.ispb | Condicional | ISPB do banco referente a conta relacionada a pessoa pagadora informada no objeto loggedUser. Condição: Campo opcional. Caso não seja informado o campo será preenchido na criação do consentimento na instituição detentora relacionada a instituição informada no objeto authorisationServer |
debtorAccount.issuer | Condicional | Agência do banco referente a conta relacionada a pessoa pagadora informada no objeto loggedUser. Condição: Campo opcional. Caso não seja informado o campo será preenchido na criação do consentimento na instituição detentora relacionada a instituição informada no objeto authorisationServer |
debtorAccount.number | Condicional | Número da conta do banco referente a conta relacionada a pessoa pagadora informada no objeto loggedUser. Condição: Campo opcional. Caso não seja informado o campo será preenchido na criação do consentimento na instituição detentora relacionada a instituição informada no objeto authorisationServer |
debtorAccount.accountType | Condicional | Campo do tipo ENUM. Tipo de conta do banco referente a conta relacionada a pessoa pagadora informada no objeto loggedUser. (CACC; SVGS; TRAN; SLRY). Condição: Campo opcional. Caso não seja informado o campo será preenchido na criação do consentimento na instituição detentora relacionada a instituição informada no objeto authorisationServer |
Dados do recebedor
Os dados do recebedor (creditor) são dados necessários para a solução da Bit Capital realizar uma iniciação de pagamento.
Na solução eles são considerados condicionais pois ao ser informado uma chave PIX ou um QR Code (Estático/Dinâmico) a solução realiza uma consulta no Diretório de identificadores de contas transacionais (DICT) e preenche os campos automaticamente.
Caso as informações do recebedor sejam informadas a solução realiza uma consulta no DICT e valida se os dados do recebedor conferem com a chave PIX ou QR Code informado no consentimento.
DICT: É uma base de dados, gerida pelo BACEN, que armazena as chaves PIX relacionada as contas registrada para a chave.
Criando um consentimento de pagamento com inserção de dados manuais (MANU)
open-finance/tpp/payments/v2/consents
Este endpoint utiliza o método POST
Um exemplo de uma requisição utilizando inserção de dados manuais informando os dados da conta do pagador (debtorAccount) e não informando os dados do pagador.
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"creditor": {
"personType": "enum",
"cpfCnpj": "string",
"name": "string"
},
"payment": {
"amount": "string
"details": {
"localInstrument": "MANU",
"creditorAccount": {
"ispb": "string",
"issuer": "string",
"number": "string",
"accountType": "enum"
}
},
"debtorAccount": {
"ispb": "string",
"issuer": "string",
"number": "string
"accountType": "string
}
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"creditor": {
"personType": "enum",
"cpfCnpj": "string",
"name": "string"
},
"payment": {
"amount": "string
"details": {
"localInstrument": "MANU",
"creditorAccount": {
"ispb": "string",
"issuer": "string",
"number": "string",
"accountType": "enum"
}
},
}
Criando um consentimento de pagamento utilizando chave PIX (DICT)
open-finance/tpp/payments/v2/consents
Este endpoint utiliza o método POST
Um exemplo de uma requisição utilizando uma chave PIX informando os dados da conta do pagador (debtorAccount) e não informando os dados do pagador.
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"payment": {
"amount": "string
"details": {
"localInstrument": "DICT",
"proxy": "string",
}
},
"debtorAccount": {
"ispb": "string",
"issuer": "string",
"number": "string
"accountType": "string
}
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"payment": {
"amount": "string
"details": {
"localInstrument": "DICT",
"proxy": "string",
}
},
}
Criando um consentimento de pagamento utilizando QR Code estático (QRES) QR code Dinâmico (QRDN)
open-finance/tpp/payments/v2/consents
Este endpoint utiliza o método POST
Um exemplo de uma requisição utilizando a inserção de um QR Code estático informando os dados da conta do pagador (debtorAccount), QR Code estático não informando os dados do pagador, QR Code dinâmico informando os dados da conta do pagador (debtorAccount), QR Code dinâmico não informando os dados do pagador.
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"payment": {
"amount": "string
"details": {
"localInstrument": "QRES",
"proxy": "string",
"qrCode": "string",
}
},
"debtorAccount": {
"ispb": "string",
"issuer": "string",
"number": "string
"accountType": "string
}
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"payment": {
"amount": "string
"details": {
"localInstrument": "QRES",
"qrCode": "string",
"proxy": "string"
}
}
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"payment": {
"amount": "string
"details": {
"localInstrument": "QRDN",
"proxy": "string",
"qrCode": "string",
}
},
"debtorAccount": {
"ispb": "string",
"issuer": "string",
"number": "string
"accountType": "string
}
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"payment": {
"amount": "string
"details": {
"localInstrument": "QRDN",
"proxy": "string",
"qrCode": "string",
}
},
}
Criando um consentimento de pagamento onde o recebedor é previamente conhecido (INIC)
open-finance/tpp/payments/v2/consents
Este endpoint utiliza o método POST
Um exemplo de uma requisição utilizando um pagamento onde o recebedor é previamente conhecido informando os dados da conta do pagador (debtorAccount) e não informando os dados do pagador.
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"payment": {
"amount": "string
"details": {
"localInstrument": "INIC",
"proxy": "string",
}
},
"debtorAccount": {
"ispb": "string",
"issuer": "string",
"number": "string
"accountType": "string
}
{
"authorisationServer": {
"organisationId": "string",
"authorisationServerId": "string"
},
"loggedUser": {
"document": {
"identification": "string",
"rel": "CPF"
}
},
"payment": {
"amount": "string
"details": {
"localInstrument": "INIC",
"proxy": "string",
}
},
}
Updated over 1 year ago