Subcontas

Criar subconta PJ

Com esta funcionalidade você pode criar subcontas Pessoa Jurídica na ValidaPay. Ao criar a subconta ela ficará associada à sua conta (chamaremos de conta Master).

POST/v1/proposals
Base URL Produção:https://api.validapay.com.br
Base URL Sandbox:https://sandbox.validapay.com.br

Case de uso:

Como SaaS tenho vários Sellers, preciso gerar cobranças para esses Sellers e receber split em cada venda.

⚠️ Atenção: a criação de cada subconta custa R$ 15,00, debitados do saldo da conta master quando a proposta é enviada. Se não houver saldo, a criação é recusada com 409 INSUFFICIENT_BALANCE_FOR_SUBACCOUNT_FEE. No sandbox não há cobrança.

⚠️ Atenção: Não é possível criar uma subconta com mesmo email e telefone da master account

⚠️ Atenção: Dados de renda/faturamento no campo financialDetails são obrigatórios. Os respectivos códigos estão descritos no apêndice Campos Financeiros ao final da sessão Subcontas ValidaPay

Authorizations

bearer

Authorization

string obrigatório

Cabeçalho de autenticação Bearer no formato Bearer {{token}} onde {{token}} é o seu token OAuth2.

Escopos requeridos

proposals/write

Body

application/json

Content-Type:application/json
JSON
{
    "contactNumber": "+5511912345678",
    "documentNumber": "99665544000130",
    "businessEmail": "empresa@exemplo.com.br",
    "businessName": "Empresa Exemplo LTDA",
    "tradingName": "Empresa Exemplo",
    "companyType": "PJ",
    "owner": [
        {
            "ownerType": "SOCIO",
            "documentNumber": "22233344405",
            "fullName": "Cesar Lattes ",
            "phoneNumber": "+5511912345128",
            "email": "socio@exemplo.com.br",
            "motherName": "Marie Curie",
            "socialName": "Nome",
            "birthDate": "02-02-1990",
            "address": {
                "postalCode": "06455030",
                "street": "Alameda Xingu",
                "number": "50",
                "addressComplement": "",
                "neighborhood": "Alphaville Industrial",
                "city": "Barueri",
                "state": "SP"
            },
            "isPoliticallyExposedPerson": false,
            "financialOwnerDetails": {
                "ownerDeclaredIncome": "ODIB02", 
                "ownerDeclaredRevenue": "ODRB02" 
              }
        }
    ],
    "businessAddress": {
        "postalCode": "06455030",
        "street": "Alamed Xingu",
        "number": "350",
        "addressComplement": "",
        "neighborhood": "Alphaville Industrial",
        "city": "Barueri",
        "state": "SP"
    },
    "webhookUrl": "https://api.teste.com.br" 
}

Schema

contactNumberstringobrigatório
Telefone da empresa
documentNumberstringobrigatório
CNPJ da empresa
Regra:^(\d{11}|\d{14})$
businessEmailstringobrigatório
email da empresa
businessNamestringobrigatório
Razão social
tradingNamestringobrigatório
Nome fantasia
companyTypestringobrigatório
PJ, MEI ou ME
ownerarray[1]
businessAddressobject
webhookUrlstringopcional
URL onde você gostaria de receber a notificação de criação de conta
const url = 'https://sandbox.validapay.com.br/v1/proposals';

const options = {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {{token}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "contactNumber": "+5511912345678",
    "documentNumber": "99665544000130",
    "businessEmail": "empresa@exemplo.com.br",
    "businessName": "Empresa Exemplo LTDA",
    "tradingName": "Empresa Exemplo",
    "companyType": "PJ",
    "owner": [
        {
            "ownerType": "SOCIO",
            "documentNumber": "22233344405",
            "fullName": "Cesar Lattes ",
            "phoneNumber": "+5511912345128",
            "email": "socio@exemplo.com.br",
            "motherName": "Marie Curie",
            "socialName": "Nome",
            "birthDate": "02-02-1990",
            "address": {
                "postalCode": "06455030",
                "street": "Alameda Xingu",
                "number": "50",
                "addressComplement": "",
                "neighborhood": "Alphaville Industrial",
                "city": "Barueri",
                "state": "SP"
            },
            "isPoliticallyExposedPerson": false,
            "financialOwnerDetails": {
                "ownerDeclaredIncome": "ODIB02", 
                "ownerDeclaredRevenue": "ODRB02" 
              }
        }
    ],
    "businessAddress": {
        "postalCode": "06455030",
        "street": "Alamed Xingu",
        "number": "350",
        "addressComplement": "",
        "neighborhood": "Alphaville Industrial",
        "city": "Barueri",
        "state": "SP"
    },
    "webhookUrl": "https://api.teste.com.br" 
})
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

Response Examples

201▾
JSON
{
    "status": "UNFINISHED",
    "message": "Formulário criado com sucesso",
    "formId": "fb8cbb9d-d376-4604-940c-957e76e3dcbb"
}
200▾
JSON
{
    "status": "FINISHED",
    "message": "Formulário criado com sucesso",
    "formId": "8f82a068-ff1a-45b7-8f98-71f07176e0dd"
}