Pagar um Boleto

Pagamento de contas (títulos/convênios/impostos)

O Pagamento de Contas na plataforma Bit Capital possui provedor próprio e exclusivo para execução das API's. Essa funcionalidade permite realizar pagamentos das mais diversas modalidades, incluindo contas de água, luz, gás, telefone, internet, multas, tributos e boletos.

Como realizar um pagamento de conta

ENDPOINT: https://kaizen.bt-staging.app/boletos-payment/pay

Esse endpoint utiliza o método POST.

Modelo de requisição:

{
	"source": "be527a4b-cadb-4c63-9a09-965ddfaa7972",
	"digitableLine": "83680000000 9 59420111000 6 00101020211 5 93596672787 4",
	"amount": "59.42",
	"asset": "BRLP",
	"extra": {
		"dueDate": "2022-02-15"
	}
}
curl --location --request POST 'https://{{APIURL}}/boletos/payment/pay' \
--header 'x-idempotence-key: ALGUMASTRINGS' \
--header 'Content-Type: application/json' \
--data-raw '{
	"source": "be527a4b-cadb-4c63-9a09-965ddfaa7972",
	"digitableLine": "83680000000 9 59420111000 6 00101020211 5 93596672787 4",
	"amount": "59.42",
	"asset": "BRLP",
	"extra": {
		"dueDate": "2022-02-15"
	}
}'

Descrição dos campos:

CampoDescrição
sourcenúmero da conta(wallet/account ID) da origem do pagamento
digitablelineLinha digitavel do boleto a ser pago
amountValor do pagamento
assetmoeda (BRLP/Real)
extraCampo livre
dueDateVencimento do boleto/documento

Modelo de Resposta

{
    "id": "bcc6dd6e-ee79-4d47-8a1c-7e6c8e258ad7",
    "type": "payment",
    "status": "executed",
    "createdAt": "2022-11-03T19:04:25.692Z",
    "updatedAt": "2022-11-03T19:04:28.668Z",
    "banking": null,
    "paymentInfo": {
        "payer": "PAGADOR AMBIENTE HOMOLOGACAO",
        "maxValue": 191.96,
        "minValue": 0.1,
        "recipient": "BENEFICIARIO AMBIENTE HOMOLOGACAO",
        "payDueDate": "2022-12-22T00:00:00",
        "totalUpdated": 96.03,
        "discountValue": 2.97,
        "documentPayer": "96.906.497/0001-00",
        "originalValue": 99,
        "dueDateRegister": "2022-11-23T00:00:00",
        "nextBusinessDay": null,
        "allowChangeValue": true,
        "documentRecipient": "21.568.259/0001-00",
        "totalWithDiscount": 2.97,
        "fineValueCalculated": 0,
        "totalWithAdditional": 0,
        "interestValueCalculated": 0
    },
    "payments": [
        {
            "amount": "99",
            "type": "payment",
            "status": "executed",
            "asset": {
                "name": "BRL Parati",
                "code": "BRLP",
                "root": true,
                "provider": "parati-provider",
                "required": true
            }
        }
    ],
    "payer": {
        "name": "PAGADOR AMBIENTE HOMOLOGACAO",
        "taxId": "96.906.497/0001-00"
    },
    "beneficiary": {
        "name": "BENEFICIARIO AMBIENTE HOMOLOGACAO",
        "taxId": "21.568.259/0001-00"
    },
    "additionalData": {}
}
curl --location --request POST 'https://kaizen.bt-staging.app/boletos-payment/pay' \
--header 'x-idempotence-key: 80095ac1-3df9-46b3-8df6-d5191c95caf6' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJtRE1HODVUSjc4YXk0amRKbEJreFpDd3pINF9vV3cwV0FxWjF1ODR3MUVjIn0.eyJleHAiOjE2Njc1MzY2MzgsImlhdCI6MTY2NzUwMDYzOCwianRpIjoiODM3MDk2Y2UtZjk4MC00ZWFmLWI0YWQtNjI1YWQ5MDExM2RkIiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmtleWNsb2FrOjgxODAvYXV0aC9yZWFsbXMvZGlnaXRhbC1hY2NvdW50IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6IjIzYTUzNTllLWZkMTUtNGM2NS1iMjEyLTlkZDlkMGU1NjViNyIsInR5cCI6IkJlYXJlciIsImF6cCI6IjM0OWQzNWNhLWQ2MjMtMTFlYy05ZDY0LTAyNDJhYzEyMDAwMiIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy1kaWdpdGFsLWFjY291bnQiXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJjbGllbnRIb3N0IjoiMTAuMTk3LjcuMTI2IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJjbGllbnRJZCI6IjM0OWQzNWNhLWQ2MjMtMTFlYy05ZDY0LTAyNDJhYzEyMDAwMiIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC0zNDlkMzVjYS1kNjIzLTExZWMtOWQ2NC0wMjQyYWMxMjAwMDIiLCJjbGllbnRBZGRyZXNzIjoiMTAuMTk3LjcuMTI2In0.ZIkegxSiiizbXbACGCap1BbtktbzLcDxZuxoyhnroh0qCO9s_MK2vOy4Y0gXfDDIGDy-UdfeyjSAfSwYte4rKQbW31pRWjLjRS4bW21g14X3XPdB6GPtwJcb6vlJ0GlK0HRgQfUhTTkWZTylqgiXus1zgTqLKr5xaqRlKaMxHE6LEQ7MmIH3QD1nh4E-Xh_oHSuuuY0sgn5XMLgDpGIC1eGK_aNzF6Zx0qu7JTpHGgwGDmTT7Pm-LMzycjI_CVD4vaMuww5LW1CDpGRTeQY8rvP3B9q4f8tMugx466E4YrPTbK0QDkfrQkpbYqhwz0_r3SNbNY4a2_xoWnKngcMiIw' \
--header 'Content-Type: application/json' \
--data-raw '    {
        "source": "a410c3de-9997-4138-a22e-62cf2737efcb",
        "digitableLine": "00190000090283633605305416182177190730000009900",
        "amount": "99.00",
        "asset": "BRLP",
        "extra": {
            "dueDate": "2022-11-03"
        }
    }'

Descrição dos campos:

CampoDescrição
idIdentificador único da transação (Transaction ID)
typeTipo de transação
statusStatus da transação de pagamento
createdAtData e Hora da transação de pagamento
updatedAtData e Hora da última atualização na transação
bankingCampo não utilizado
paymentinfo.payerNome do pagador do boleto
paymentinfo.maxValueValor máximo do boleto/ Valor máximo aceito para pagamento
paymentinfo.minValueValor mínimo do boleto/ Valor mínimo aceito para pagamento
paymentinfo.recipientBeneficiário / Emissor da cobrança
paymentinfo.payDueDateData de vencimento do boleto/documento
paymentinfo.totalUpdatedValor do pagamento
paymentinfo.discountValueValor do desconto (se houver)
paymentinfo.documentPayerCPF/CNPJ do pagador
paymentinfo.originalValueValor original do boleto (sem o desconto)
paymentinfo.dueDateRegisterData de registro do boleto na CIP
paymentinfo.nextBusinessDayPróximo dia útil
paymentinfo.allowChangeValuePermissão de alteração do valor do boleto
paymentinfo.documentRecipientCPF/CNPJ do recebedor
paymentinfo.totalWithDiscountValor total do desconto
paymentinfo.fineValueCalculatedValor multa já calculado
paymentinfo.totalWithAdditionalDesconto adicional
paymentinfo.interestValueCalculatedValor juros já calculado
payments.amountValor do boleto/documento
payments.typeTipo de operação
payments.statusStatus da transação
payments.assetInformações de Moeda
payer.nameNome do pagador
payer.taxIDCPF/CNPJ do pagador
beneficiary.nameNome do beneficiário/recebedor/emissor da cobrança
beneficiary.taxIDCPF/CNPJ do beneficiário/recebedor/emissor da cobrança
additionalDataCampo livre

🚧

Informação Importante

Antes de enviar uma solicitação de pagamento de um Boleto ou Conta, uma validação de registro de Boleto na CIP se faz necessário, isso irá reduzir muito o número de erros possíveis. No link "Validar um Boleto" você encontra mais informações sobre.

👍

Lista de Convênio de Pagamento de Boletos

LISTA DE CONVÊNIOS ACEITOS

📘

Massa para teste de Pagamento de Contas

Para utilizar o ambiente de homologação (staging) para testar o pagamento de contas, é necessário utilizar boletos padrões, disponibilizados abaixo:

Caso base, sem multa, sem juros, sem desconto

Ação
Apresentar ao usuário o valor retornado no campo “registerData.totalUpdated”, o qual representa o valor atualizado para pagamento.

Linha DigitavelCódigo de Barras
2379338128600830135285600006330778984000015000023797898400001500003381260083013525600006330
1219000005000000111144232524114180000000000000012198000000000000000000000000011114232524114
3369000009000000100412651442314940000000000000033694000000000000000000000000010042651442314
3649000019000150876040000070645750000000000999036495000000000099900000100015087600000070645
3419109008002573244590361649000369115000002000034196911500000200001090000257324450361649000

Caso com Desconto

Ação
Apresentar ao usuário os valores retornados nos campos “registerData.totalUpdated” (o qual representa o valor atualizado do pagamento), "registerData.originalValue" (valor original da cobrança) e o “registerData.totalWithDiscount” (representando o valor do desconto).

Linha DigitavelCodigo de Barras
3419886266653125227779221890000689043000003932234198904300000393228862665312522779221890000
7569143279010369004039242335001379115000000629475697911500000062941432701036900409242335001
3419109487707470008601107894000119124000002863534191912400000286351094870747000861107894000
7569143279010369004039017619001659084000000629475695908400000062941432701036900409017619001
1219000005000000111144588775114230000000000000012193000000000000000000000000011114588775114

Caso com Multa e Juros

Ação
Apresentar ao usuário os valores retornados nos campos “registerData.totalUpdated” (o qual representa o valor atualizado do pagamento), "registerData.originalValue" (valor original da cobrança) e os campos de multa (registerData.fineValueCalculated) e juros (registerData.interestValueCalculated).

Linha DigitavelCodigo de Barras
0019000009010015900070011736917339042000009888800193904200000988880000001001590000011736917
3419883008012235720490629012000219110000004237334191911000000423738830001223572040629012000
3419175355654741320430017309000290000000000000034199000000000000001753565474132040017309000
2379338128600858953516000006330979115000010020023797911500001002003381260085895356000006330
7489112222323260070050100111007919055000000000074891905500000000001122232326007000100111007

Caso de Multa e Vencido

Ação
Apresentar ao usuário o valor retornado no campo “registerData.totalUpdated” (o qual representa o valor atualizado do pagamento), "registerData.originalValue" (valor original da cobrança) e o campo de multa (registerData.fineValueCalculated) além de indicar o vencimento da conta.

Linha DigitavelCodigo de Barras
2379012400921740000070200544980219040000019157723791904000001915770124092174000000200544980
0019000009033733842251022152517299122000003410800191000000000341080000003373384221022152517
2379237403917181750102100836000619055000048099023791905500004809902374091718175012100836000
2379338128600859002767100006330699115000020000023799911500002000003381260085900277100006330
2379040203900000000840200115060239060000045457623793906000004545760402090000000080200115060

Caso de Juros e Vencimento

Ação
Apresentar ao usuário o valor retornado no campo “registerData.totalUpdated” (o qual representa o valor atualizado do pagamento), "registerData.originalValue" (valor original da cobrança) e o campo de juros (registerData.interestValueCalculated) além de indicar o vencimento da conta.

Linha DigitavelCodigo de Barras
2379028000922420000050401035600619114000008030023791911400000803000280092242000000401035600
7459318049231230280050008597278449085000002514574594908500000251453180423123028000008597278
6049000117120055952070199399694949060000045457660494906000004545760001112005595200199399694
2379339100291515422054500025170789114000001020323797000000000000003391029151542204500025170
3419109008276875103656768497000669034000007620034196903400000762001090027687510366768497000

Caso de Valor Máximo e Mínimo

Ação
Apresentar ao usuário um range o qual retornamos nos campos "registerData.minValue" e "registerData.maxValue", permitindo-o alterar o valor que será pago, desde que esteja dentro do intervalo apresentado.

Linha DigitavelCodigo de Barras
3419157007040469548164204220000829044000003220234192904400000322021570004046954814204220000
2379040203900000000508700115060349062000045457623794906200004545760402090000000058700115060
2379237403900227891104300033400399073000022000023799907300002200002374090022789114300033400
3419109073360932029398333743000929114000001335334192911400000133531090736093202938333743000
2379313006601030767783200609840779114000003157323797911400000315733130060103076773200609840
0339955510331000005963819220101069115000010738003396911500001073809555133100000593819220101

Caso de Valor Máximo e Mínimo com Juros

Ação
Apresentar ao usuário o valor original do pagamento (registerData.originalValue) e o de juros (registerData.interestValueCalculated), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue".

Linha DigitavelCodigo de Barras
3419176007077863903725080074000819057000001390034191905700000139001760007786390375080074000
2379338128600858992135700006330589115000004500023798911500000450003381260085899215700006330
2379237403918181750192100836000669086000048099023796908600004809902374091818175012100836000
2379649920600000717733400017930849087000000150023794908700000015006499260000071773400017930
7489112222333711070050100111003899086000000000074899908600000000001122233371107000100111003

Caso de Valor Máximo e Mínimo com Desconto

Ação
Apresentar ao usuário o valor original do pagamento (registerData.originalValue) e o de desconto (registerData.totalWithDiscount), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue".

Linha DigitavelCodigo de Barras
0019000009028363360530541618217719073000000990000191907300000099000000002836336050541618217
2379338128600859008886600006330619116000000400023791911600000040003381260085900886600006330
2379237403596081350978600624800839087000003677323793908700000367732374059608135098600624800
4229711504000017565350061066872599120000005010042299912000000501007115000001756530061066872
1219000005000000111144966875114910000000000000012191000000000000000000000000011114966875114

Caso de Valor Máximo e Mínimo com Juros e Multa

Ação
Apresentar ao usuário os valores original do pagamento (registerData.originalValue), de multa (registerData.fineValueCalculated) e juros (registerData.interestValueCalculated), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue".

Linha DigitavelCodigo de Barras
2189001007021518208068376995418769125000002500021896912500000250000010002151820808376995418
2129000119011000229020039294090460000000000000021296000000000000000001101100022900039294090
6239000117010000900090167775738560000000000000062396000000000000000001101000090000167775738
6549702006010093375910000933769210000000000000065491000000000000007020001009337590000933769
1049967803260001000450383636160419038000000603010491903800000060309678026000100040383636160

Caso de Valor Máximo e Mínimo com Juros e Desconto

Ação
Apresentar ao usuário os valores original do pagamento (registerData.originalValue), de desconto (registerData.fineValueCalculated) e juros (registerData.interestValueCalculated), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue".

Linha DigitavelCodigo de Barras
2379066505900002156589100020000529040000017483823792904000001748380665090000215659100020000
3419175710017685025265043457000390000000000000034199000000000000001757101768502525043457000
2379237403909033939828900044490449106000063264123794910600006326412374090903393988900044490
3369000009000000100821610617243679115000004995033697911500000499500000000000010081610617243
0339905150361000164540076070101199115000000179003399911500000017909051536100016450076070101

Caso de Valor Máximo e Mínimo com Multa e Desconto

Ação
Apresentar ao usuário os valores original do pagamento (registerData.originalValue), de multa (registerData.fineValueCalculated) e juros (registerData.interestValueCalculated), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue".

Linha DigitavelCodigo de Barras
0019000009032057768123300340317819042000002550000191904200000255000000003205776813300340317
2379237403900230506786200033400319104000044000023791910400004400002374090023050676200033400
0779000116010013052088784312330510000000000000007791000000000000000001101001305208784312330
0339954349203792581201535460101319116000001805803391911600000180589543420379258121535460101
3369000009000000100580285427314780000000000000033698000000000000000000000000010050285427314

Caso de Valor Máximo e Mínimo com Multa, Desconto e Juros

Ação
Apresentar ao usuário os valores original do pagamento (registerData.originalValue), de multa (registerData.fineValueCalculated), de desconto (registerData.fineValueCalculated) e juros (registerData.interestValueCalculated), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue".

Linha DigitavelCodigo de Barras
3419157007000047009440996697000769037000002037634196903700000203761570000004700940996697000
2379339506900000783201100027550019011000010000023791901100001000003395090000078321100027550
2379339506900000783201200027550819011000009999923791901100000999993395090000078321200027550
2379339506900000817208800027550849057000000100023794905700000010003395090000081728800027550
2379294305922350010853500000340689109000001160023795911400000116002943092235001083500000340

Caso de Valor Máximo e Mínimo com Vencimento

Ação
Apresentar ao usuário um range o qual retornamos nos campos "registerData.minValue" e "registerData.maxValue", permitindo-o alterar o valor que será pago, desde que esteja dentro do intervalo apresentado e sinalizar o vencimento da conta em questão.

Linha DigitavelCodigo de Barras
3419109008025682110111108840000459045000010750034195904500001075001090002568211011108840000
2379415009404071851782900005000489118000015097523798911800001509754150040407185172900005000
0779000116010013052080522354658090000000000000007799000000000000000001101001305200522354658
0019000009030633280030013159217299068000020000200199906800002000020000003063328000013159217
2379237205900003026391300368170099118000001027123799911800000102712372090000302631300368170

Caso de Valor Máximo e Mínimo com Juros e Vencimento

Ação
Apresentar ao usuário o valor original do pagamento (registerData.originalValue) e o de juros (registerData.interestValueCalculated), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue", sinalizando também o vencimento da conta em questão.

Linha DigitavelCodigo de Barras
3419115021858264696959084001000479060000010004034197906000001000401150285826469699084001000
0019000009030633280030013158117549068000021111300194906800002111130000003063328000013158117
0019000009033917912290859773317259078000000999000195907800000099900000003391791220859773317
3689000101935006350601600200020210000000000000036891000000000000000001093500635061600200020
2379312925690016575482501581080419115000004854123791911500000485413129269001657542501581080

Caso de Valor Máximo e Mínimo com Multa e Vencimento

Ação
Apresentar ao usuário o valor original do pagamento (registerData.originalValue) e o de multa (registerData.fineValueCalculated), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue", sinalizando também o vencimento da conta em questão.

Linha DigitavelCodigo de Barras
3419109057761036392335215028000789044000002363634198904400000236361090576103639235215028000
3419109099142703503752002386000899088000000775934199908800000077591090914270350372002386000
2379339100291714773175200025170319119000001306623799000000000000003391029171477315200025170
7569130789010241385294029082001479114000000999075697911400000099901307801024138524029082001
3369000009000000100821610622243929115000002258033692911500000225800000000000010081610622243

Caso de Valor Máximo e Mínimo com Desconto e Vencimento

Ação
Apresentar ao usuário o valor original do pagamento (registerData.originalValue) e o de desconto (registerData.totalWithDiscount), além de permitir o usuário final alterar o valor do pagamento, respeitando o intervalo apresentado nos campos "registerData.minValue" e "registerData.maxValue", sinalizando também o vencimento da conta em questão.

Linha Digitavel
3419109008041869310043278601000289057000005750034198905700000575001090004186931003278601000
0019000009034385080578125693017369119000000500000196911900000050000000003438508058125693017
7399000004000012270085006464034040000000000000073994000000000000000000000001227005006464034
0019000009032689260075546846217519089000007893700191908900000789370000003268926005546846217
2379649920600000750892400017930979120000004500023797912000000450006499260000075082400017930

Caso com valor máximo de 999999999999.99

Ação
Apresentar o valor nominal ao usuário, permitindo-o alterar o valor e realizando uma verificação se o valor inserido comporta o intervalo apresentado nos campos "registerData.maxValue" e "registerData.minValue".

Linha DigitavelCodigo de Barras
3419175538885749425255045163000380000000000000034198000000000000001755388574942525045163000
3649000027000169690080000083844180000000000599936498000000000059990000200016969000000083844
0019000009028172280976468223217429093000001051700192909300000105170000002817228096468223217
1049549767550001000440000264383189099000000898010498909900000089805497655000100040000264383
0339939233002000000163611980101119114000000999003391911400000099909392300200000013611980101

Erros de pagamento:

A tabela abaixo lista alguns possíveis erros que podem acontecer no fluxo de pagamento de contas:

Mensagem de erroCódigo do erroTipo da transaçãoResolução
TRANSACAO NAO ENCONTRADA24TodasDeve ser retornado para o usuário que o código de barras ou linha digitável é inválido.
FALHA NA COMUNIC JUNTO AO NOSSO PARCEIRO. FAVOR TENTE NOVAMENTE.658TodasNesse caso, como a BIT Capital não teve sucesso ao tentar realizar a tentativa do pagamento, o recomendado é pedir ao usuário que tente efetuar o pagamento novamente.
FALHA NA COMUNIC COM A INSTITUICAO. FAVOR TENTE NOVAMENTE.620TodasNesse caso, como a BIT Capital não teve sucesso ao tentar realizar a tentativa do pagamento, o recomendado é pedir ao usuário que tente efetuar o pagamento novamente.
SPTRANS INDISPONIVEL. POR FAVOR, TENTE NOVAMENTE.714TodasInformar que ocorreu uma intermitência e pedir para tentar novamente.