Como usar a API para criar uma cobrança com split para Subconta?
Para a utilização desta funcionalidade é necessário possuir a funcionalidade Subconta
Para criar uma cobrança Pix com split para sub conta, você utiliza o endpoint /api/v1/charge da API.
Você pode acessar aqui a documentação referente a esse endpoint.
Os campos obrigatórios para criar uma cobrança Pix com Split são os seguintes:
- value: O valor em centavos da cobrança Pix a ser criado.
- correlationID: Um identificador único para a cobrança Pix. CorrelationID
- splits: Um array contendo as configurações de split realizado na hora do recebimento.
Exemplo
O body da sua requisição será semelhante a este exemplo:
{
  "value": 100,
  "correlationID": "c782e0ac-833d-4a89-9e73-9b60b2b41d3a",
  "splits": [
    {
      "pixKey": "[email protected]",
      "value": 15,
      "splitType": "SPLIT_SUB_ACCOUNT"
    }
  ]
}
O valor do campo value dentro do objeto no array de splits, é o valor desejado para a realização do split em centavos. O valor do split não será debitado da conta de origem pois transações de split para sub contas são transações virtuais, somente será debitado da conta de origem o valor integral do saldo da sub conta no momento do saque da mesma.
Após efetuar a requisição, se tudo ocorreu bem, o status code da requisição será 2xx e no body da resposta, além dos campos normais de cobrança criada, retornaremos os seguintes campos:
{
  "charge": {
    ...Charge Payload
    "splits": [
      { "pixKey": "[email protected]", "value": 15, splitType: "SPLIT_SUB_ACCOUNT" },
    ]
  },
  "correlationID": "c782e0ac-833d-4a89-9e73-9b60b2b41d3a",
  "brCode": "00020101021226990014br.gov.bcb.pix2577pix-h.bpp.com.br/23114447/qrs1/v2/011Q0PuArnNb5VzolFm8H9X0A7yQb5Ayi6wZ2Koj6RX52040000530398654043.335802BR5911Krusty_Krab6009Sao_Paulo62290525cac964d74db74c479add4eabc63047932"
}
Exemplos em código
- Shell + cURL
- JavaScript + Fetch
  curl 'https://api.openpix.com.br/api/v1/charge' -X POST \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -H "user-agent: node-fetch" \
      -H "Authorization": "app_id"
      --data-binary '{"correlationID":"c782e0ac-833d-4a89-9e73-9b60b2b41d3a","value":100, "splits": [{ "pixKey": "[email protected]", "value": 15, splitType:"SPLIT_SUB_ACCOUNT"  }]}'
fetch('https://api.openpix.com.br/api/v1/charge', {
  method: 'POST',
  body: JSON.stringify({
    value: 100,
    correlationID: 'c782e0ac-833d-4a89-9e73-9b60b2b41d3a',
    splits: [
      {
        pixKey: '[email protected]',
        value: 15,
        splitType: 'SPLIT_SUB_ACCOUNT',
      },
    ],
  }),
  headers: {
    Authorization: 'app_id',
    'Content-Type': 'application/json',
  },
}).then((res) => res.json());