The Split resource allows you to distribute Invoice and Boleto payments among multiple receivers automatically.
First, configure the Split Profile to define the default behavior for transferring funds. Then, register Split Receivers with their bank account details. Finally, create Invoices or Boletos with the splits parameter to split payments among your receivers.
When a payment with splits is received, a Split entity is created for each receiver. You can track these Splits to confirm when each receiver's share has been transferred.
NOTE: Read Core Concepts before continuing this guide.
The Split Profile defines the default behavior for transferring funds from your Workspace to the Split Receivers.
Two parameters are essential for the transfer to occur: the Interval and the Delay.
Use the Split Profile to configure how and when split funds are transferred to receivers.
Interval
The period during which the transfer of funds from the Workspace to the receiver's destination account will be conducted.
You can choose from four methods to execute the interval:
| Period | When |
|---|---|
| Instantaneous | - |
| Daily | Everyday at 7a.m |
| Weekly | Mondays at 7a.m |
| Monthly | Every 1st at 7a.m |
Delay
The period during which the value will be "retained" in the main Workspace until it is transferred to the receiver's destination account.
The Delay is configured by the client, allowing it to determine how long the value should be "retained" before the transfer occurs.
For clients who do not configure the Split Profile rules for interval and delay as desired, by default, the Payment Split will have the following properties:
Interval - monthly
Delay - 7 days
import starkbank
payload ={
"interval": "day",
"delay": 0
}
splitprofile = starkbank.splitprofile.update([payload])
for profile in splitprofile:
print(profile)
Not yet available. Please contact us if you need this SDK.
use StarkBank\SplitProfile;
$profile = [
new SplitProfile([
"interval"=> "day",
"delay"=> 0,
]),
];
$profile = SplitProfile::put($profile);
print_r($profile)
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request PUT '{{baseUrl}}/v2/split-profile'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
--data '{
"profiles": [
{
"interval": "day",
"delay": 0
}
]
}'
SplitProfile(
created=2023-10-24 00:23:08.831127,
delay=0,
id=6206954716266496,
interval=day,
status=created,
tags=[],
updated=2024-02-26 17:56:13.304200
)
Not yet available. Please contact us if you need this SDK.
StarkBank\SplitProfile Object
(
[0] => StarkBank\SplitProfile Object
(
[id] => 6206954716266496
[interval] => day
[delay] => 0
[tags] => Array
(
)
[status] => created
[created] => DateTime Object
(
[date] => 2023-10-24 00:23:08.831127
[timezone_type] => 1
[timezone] => +00:00
)
[updated] => DateTime Object
(
[date] => 2024-03-08 18:13:40.980533
[timezone_type] => 1
[timezone] => +00:00
)
)
)
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
}
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"profiles": [
{
"created": "2023-10-23T23:04:57.558292+00:00",
"delay": 0,
"id": "5634161670881280",
"interval": "day",
"status": "created",
"tags": [],
"updated": "2024-02-26T17:59:37.507079+00:00"
}
]
}
Before creating an Invoice or Boleto with splits, you need to create a Split Receiver for each party that will receive part of the payment.
Provide the receiver's name, tax ID (CPF or CNPJ), and bank account details.
Create a Split Receiver by providing the receiver's bank account details. You can create multiple receivers at once.
import starkbank
receiver = starkbank.splitreceiver.create(
receiver=starkbank.SplitReceiver(
name="Daenerys Targaryen Stormborn",
tax_id="594.739.480-42",
bank_code="665",
branch_code="2201",
account_number="76543-8",
account_type="salary"
)
)
print(receiver) Not yet available. Please contact us if you need this SDK.
use StarkBank\SplitReceiver;
$receivers = [
new SplitReceiver([
"name"=> "John Snow",
"taxId"=> "01234567890",
"bankCode"=> "18236120",
"branchCode"=> "0001",
"accountNumber"=> "10000-0",
"accountType"=> "checking",
"tags"=> ["war supplies"],
]),
new SplitReceiver([
"name"=> "Arya Stark",
"taxId"=> "01234567890",
"bankCode"=> "18236120",
"branchCode"=> "0001",
"accountNumber"=> "10000-0",
"accountType"=> "checking",
"tags"=> ["war supplies"],
]),
];
$receivers = SplitReceiver::create($receivers);
print_r($receivers);
import com.starkbank.*;
import java.util.Map;
import java.util.List;
import java.util.HashMap;
import java.util.ArrayList;
Map<String, Object> data = new HashMap<>();
data.put("name", "Daenerys Targaryen Stormborn");
data.put("taxId", "594.739.480-42");
data.put("bankCode", "665");
data.put("branchCode", "2201");
data.put("accountNumber", "76543-8");
data.put("accountType", "salary");
SplitReceiver receiver = SplitReceiver.create(new SplitReceiver(data));
System.out.println(receiver); Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request POST '{{baseUrl}}/v2/split-receiver'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
--header 'Content-Type: application/json'
--data-raw '{
"receivers": [
{
"name": "Daenerys Targaryen Stormborn",
"taxId": "594.739.480-42",
"bankCode": "665",
"branchCode": "2201",
"accountNumber": "76543-8",
"accountType": "salary"
}
]
}'
SplitReceiver(
account_number=76543-8,
account_type=salary,
bank_code=665,
branch_code=2201,
created=2024-01-30 20:17:12.586145,
id=5710191014182912,
name=Daenerys Targaryen Stormborn,
status=created,
tags=[],
tax_id=594.739.480-42,
updated=2024-01-30 20:17:12.586152
)
Not yet available. Please contact us if you need this SDK.
(
[0] => StarkBank\SplitReceiver Object
(
[id] => 5741077466185728
[name] => John Snow
[taxId] => 012.345.678-90
[bankCode] => 18236120
[branchCode] => 0001
[accountNumber] => 10000-0
[accountType] => checking
[tags] => Array
(
[0] => war supplies
)
[status] => created
[created] => DateTime Object
(
[date] => 2024-03-08 19:34:38.416934
[timezone_type] => 1
[timezone] => +00:00
)
[updated] =>
)
[1] => StarkBank\SplitReceiver Object
(
[id] => 5178127512764416
[name] => Arya Stark
[taxId] => 012.345.678-90
[bankCode] => 18236120
[branchCode] => 0001
[accountNumber] => 10000-0
[accountType] => checking
[tags] => Array
(
[0] => war supplies
)
[status] => created
[created] => DateTime Object
(
[date] => 2024-03-08 19:34:38.417140
[timezone_type] => 1
[timezone] => +00:00
)
[updated] =>
)
)
SplitReceiver({
"accountNumber": 76543-8,
"accountType": salary,
"bankCode": 665,
"branchCode": 2201,
"created": 2024-01-30 20:17:12.586145,
"id": 5710191014182912,
"name": Daenerys Targaryen Stormborn,
"status": created,
"tags": [],
"taxId": 594.739.480-42,
"updated": 2024-01-30 20:17:12.586152
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"receivers": [
{
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5642933638266880",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.182039+00:00"
}
]
}
You can list all Split Receivers that match your filters.
import starkbank
receivers = starkbank.splitreceiver.query(limit=1)
for receiver in receivers:
print(receiver)
Not yet available. Please contact us if you need this SDK.
use StarkBank\SplitReceiver;
$splitReceivers = iterator_to_array(SplitReceiver::query(["limit" => 10, "before" => new DateTime("now")]));
foreach($splitReceivers as $splitReceiver) {
print_r($splitReceiver);
}
import com.starkbank.*; import java.util.Map; import java.util.HashMap; Mapparams = new HashMap<>(); params.put("limit", 1); Generator receivers = SplitReceiver.query(params); for (SplitReceiver receiver : receivers) { System.out.println(receiver); }
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request GET '{{baseUrl}}/v2/split-receiver?after=2024-01-01&before=2024-12-01'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
SplitReceiver(
account_number=73068305-0,
account_type=salary,
bank_code=18236120,
branch_code=250,
created=2024-01-30 20:17:12.586344,
id=5147241060761600,
name=Lucille Jette,
status=created,
tags=[],
tax_id=949.887.518-99,
updated=2024-01-30 20:17:13.685002
)
Not yet available. Please contact us if you need this SDK.
StarkBank\SplitReceiver Object
(
[id] => 5077405228072960
[name] => Arya Stark
[taxId] => 012.345.678-90
[bankCode] => 18236120
[branchCode] => 0001
[accountNumber] => 10000-0
[accountType] => checking
[tags] => Array
(
[0] => war supplies
)
[status] => created
[created] => DateTime Object
(
[date] => 2024-03-08 19:35:29.107252
[timezone_type] => 1
[timezone] => +00:00
)
[updated] =>
)
SplitReceiver({
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5642933638266880",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.310309+00:00"
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK. }
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"cursor": null,
"receivers": [
{
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5642933638266880",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.310309+00:00"
}
]
}
You can get a specific Split Receiver by its ID.
import starkbank
receiver = starkbank.splitreceiver.get("5155165527080960")
print(receiver)
Not yet available. Please contact us if you need this SDK.
use StarkBank\SplitReceiver;
$splitReceiver = SplitReceiver::get("5155165527080960");
print_r($splitReceiver);
import com.starkbank.*;
SplitReceiver receiver = SplitReceiver.get("5155165527080960");
System.out.println(receiver);
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request GET '{{baseUrl}}/v2/split-receiver/5155165527080960'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
SplitReceiver(
account_number=73068305-0,
account_type=salary,
bank_code=18236120,
branch_code=250,
created=2024-01-30 20:17:12.586344,
id=5155165527080960,
name=Lucille Jette,
status=created,
tags=[],
tax_id=949.887.518-99,
updated=2024-01-30 20:17:13.685002
)
Not yet available. Please contact us if you need this SDK.
StarkBank\SplitReceiver Object
(
[id] => 5155165527080960
[name] => Arya Stark
[taxId] => 012.345.678-90
[bankCode] => 18236120
[branchCode] => 0001
[accountNumber] => 10000-0
[accountType] => checking
[tags] => Array
(
[0] => war supplies
)
[status] => created
[created] => DateTime Object
(
[date] => 2024-03-08 19:35:29.107252
[timezone_type] => 1
[timezone] => +00:00
)
[updated] =>
)
SplitReceiver({
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5155165527080960",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.310309+00:00"
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK. }
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"receiver": {
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5155165527080960",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.310309+00:00"
}
} You can list all Split Receiver Logs to track status changes.
import starkbank
log = starkbank.splitreceiver.log.get(
after="2024-10-30",
before="2024-10-01"
)
print(log)
Not yet available. Please contact us if you need this SDK.
use StarkBank\SplitReceiver\Log;
$splitReceiverLogs = iterator_to_array(Log::query(["limit" => 10]));
foreach($splitReceiverLogs as log) {
print_r($log);
}
import com.starkbank.*; import java.util.Map; import java.util.HashMap; Mapparams = new HashMap<>(); params.put("limit", 1); Generator logs = SplitReceiver.Log.query(params); for (Split.Log log : logs) { System.out.println(log); }
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request GET '{{baseUrl}}/v2/split-receiver/log?limit=1'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
Log(
created=2024-01-30 20:17:12.611535,
errors=None,
id=4865766084050944,
receiver=SplitReceiver(
account_number=73068305-0,
account_type=salary,
bank_code=18236120,
branch_code=250,
created=2024-01-30 20:17:12.586344,
id=5147241060761600,
name=Lucille Jette,
status=created,
tags=[],
tax_id=949.887.518-99,
updated=2024-01-30 20:17:13.712424
),
type=created
) Not yet available. Please contact us if you need this SDK.
StarkBank\SplitReceiver\Log Object
(
[id] => 4795930251362304
[created] => DateTime Object
(
[date] => 2024-03-08 19:35:29.140174
[timezone_type] => 1
[timezone] => +00:00
)
[type] => created
[errors] =>
[splitReceiver] => StarkBankSplitReceiver Object
(
[id] => 5077405228072960
[name] => Maria
[taxId] => 012.345.678-90
[bankCode] => 18236120
[branchCode] => 0001
[accountNumber] => 10000-0
[accountType] => checking
[tags] => Array
(
[0] => test sdk-php
)
[status] => created
[created] => DateTime Object
(
[date] => 2024-03-08 19:35:29.107252
[timezone_type] => 1
[timezone] => +00:00
)
[updated] =>
)
)
Log({
"created": "2024-01-30T20:32:56.214350+00:00",
"id": "5079983684845568",
"receiver": {
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5642933638266880",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.335505+00:00"
},
"type": "created"
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"cursor": null,
"logs": [
{
"created": "2024-01-30T20:32:56.214350+00:00",
"id": "5079983684845568",
"receiver": {
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5642933638266880",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.335505+00:00"
},
"type": "created"
}
]
}
You can get a specific Split Receiver Log by its ID.
import starkbank
log = starkbank.splitreceiver.log.get("5155165527080960")
print(log)
Not yet available. Please contact us if you need this SDK.
use StarkBank\SplitReceiver\Log;
$splitReceiverLogs = Log::get("5155165527080960");
print_r($splitReceiverLogs);
import com.starkbank.*;
SplitReceiver.Log log = SplitReceiver.Log.get("5155165527080960");
System.out.println(log);
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request GET '{{baseUrl}}/v2/split-receiver/log/5155165527080960'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
Log(
created=2024-01-30 20:17:12.611535,
errors=None,
id=5155165527080960,
receiver=SplitReceiver(
account_number=73068305-0,
account_type=salary,
bank_code=18236120,
branch_code=250,
created=2024-01-30 20:17:12.586344,
id=5147241060761600,
name=Lucille Jette,
status=created,
tags=[],
tax_id=949.887.518-99,
updated=2024-01-30 20:17:13.712424
),
type=created
) Not yet available. Please contact us if you need this SDK.
StarkBank\SplitReceiver\Log Object
(
[id] => 4795930251362304
[created] => DateTime Object
(
[date] => 2024-03-08 19:35:29.140174
[timezone_type] => 1
[timezone] => +00:00
)
[type] => created
[errors] =>
[splitReceiver] => StarkBank\SplitReceiver Object
(
[id] => 5077405228072960
[name] => Maria
[taxId] => 012.345.678-90
[bankCode] => 18236120
[branchCode] => 0001
[accountNumber] => 10000-0
[accountType] => checking
[tags] => Array
(
[0] => test sdk-php
)
[status] => created
[created] => DateTime Object
(
[date] => 2024-03-08 19:35:29.107252
[timezone_type] => 1
[timezone] => +00:00
)
[updated] =>
)
)
Log({
"created": "2024-01-30T20:32:56.214350+00:00",
"id": "5155165527080960",
"receiver": {
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5642933638266880",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.335505+00:00"
},
"type": "created"
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"log": {
"created": "2024-01-30T20:32:56.214350+00:00",
"id": "5155165527080960",
"receiver": {
"accountNumber": "76543-8",
"accountType": "salary",
"bankCode": "665",
"branchCode": "2201",
"created": "2024-01-30T20:32:56.182031+00:00",
"id": "5642933638266880",
"name": "Daenerys Targaryen Stormborn",
"status": "created",
"tags": [],
"taxId": "594.739.480-42",
"updated": "2024-01-30T20:32:56.335505+00:00"
},
"type": "created"
}
}
When an Invoice or Boleto with splits is paid, a Split entity is created for each receiver. You can track these Splits to confirm when each receiver's share has been transferred.
After creating your Split Receivers, you can create an Invoice with the splits parameter.
Each split entry includes a receiver ID and the amount they should receive.
import starkbank
from datetime import datetime
invoices = starkbank.invoice.create([
starkbank.Invoice(
amount=400000,
descriptions=[{'key': 'Arya', 'value': 'Not today'}],
discounts=[{'percentage': 10, 'due': datetime(2021, 3, 12, 15, 23, 26, 689377)}],
due=datetime(2021, 5, 12, 15, 23, 26, 689377),
expiration=123456789,
fine=2.5,
interest=1.3,
name="Arya Stark",
tags=['War supply', 'Invoice #1234'],
tax_id="012.345.678-90",
splits=[
Split(
amount=3000,
receiverId="5742447426535424"
),
Split(
amount=5000,
receiverId="5743243941642240"
)
]
)
])
for invoice in invoices:
print(invoice)
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request POST '{{baseUrl}}/v2/invoice'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
--header 'Content-Type: application/json'
--data-raw '{
"invoices": [
{
"amount": 400000,
"due": "2021-05-12T17:59:26.000000+00:00",
"expiration": 123456789,
"name": "Arya Stark",
"taxId": "012.345.678-90",
"fine": 2.5,
"interest": 1.3,
"tags": [
"War supply",
"Invoice #1234"
]
"descriptions": [
{
"key": "Arya",
"value": "Not today"
}
],
"discounts": [
{
"percentage": 10,
"due": "2021-03-12T17:59:26.000000+00:00"
}
],
"splits": [
{
"receiverId": "5742447426535424",
"amount": 3000
},
{
"receiverId": "5743243941642240",
"amount": 5000
}
]
}
]
}
Invoice(
amount=400000,
brcode=00020101021226600014br.gov.bcb.pix2538invoice-h.sandbox.starkbank.com/57301741758054405204000053039865802BR5910NightKing6010Winterfell62280524invoice/573017417580544063046B79,
created=2020-10-26 17:10:57.261868,
descriptions=[{'key': 'Arya', 'value': 'Not today'}],
discount_amount=0,
discounts=[{'percentage': 10.0, 'due': '2021-03-12T18:23:26+00:00'}],
due=2021-05-12 15:23:26,
expiration=123456789,
fee=0,
pdf=https://invoice-h.sandbox.starkbank.com/pdf/851ff545535c40ba88e24a05accb9978,
link=https://invoice-h.sandbox.starkbank.com/invoicelink/851ff545535c40ba88e24a05accb9978,
fine=2.5,
fine_amount=0,
id=4600131349381120,
interest=1.3,
interest_amount=0,
name=Arya Stark,
nominal_amount=400000,
status=created,
tags=['War supply', 'Invoice #1234'],
transaction_ids=[],
tax_id=012.345.678-90,
updated=2020-10-26 17:10:57.261877,
splits=[
Split(
amount=3000,
receiver_id=5742447426535424
),
Split(
amount=5000,
receiver_id=5743243941642240
)
]
)
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"message": "Invoice(s) successfully created",
"invoices": [
{
"id": "4600131349381120",
"status": "created",
"amount": 400000,
"nominalAmount": 400000,
"fineAmount": 0,
"interestAmount": 0,
"discountAmount": 0,
"expiration": 123456789,
"discounts": [
{
"percentage": 5.0
"due": 2021-03-12T01:50:50.264656+00:00
}
],
"descriptions": [
{
"key": "Arya"
"value": "Not today"
}
],
"name": "Arya Stark",
"taxId": "012.345.678-90",
"fee": 0,
"pdf": "https://invoice-h.sandbox.starkbank.com/pdf/851ff545535c40ba88e24a05accb9978",
"link": "https://invoice-h.sandbox.starkbank.com/invoicelink/851ff545535c40ba88e24a05accb9978",
"fine": 2.5,
"interest": 1.3,
"tags": [
"War supply",
"Invoice #1234"
],
"transactionIds": [],
"brcode": "00020101021226600014br.gov.bcb.pix2538invoice-h.sandbox.starkbank.com/57301741758054405204000053039865802BR5910NightKing6010Winterfell62280524invoice/573017417580544063046B79",
"created": "2020-10-26T01:50:50.264656+00:00",
"updated": "2020-10-26T01:50:50.264656+00:00",
"due": "2020-05-12T17:59:26.000000+00:00",
"splits": [
{
"amount": 3000,
"receiverId": "5742447426535424",
),
{
"amount": 5000,
"receiverId": "5743243941642240",
}
]
}
]
}
You can also create a Boleto with the splits parameter. Each split entry includes a receiver ID and the amount they should receive.
If there are 3 parties in the transaction, include 3 entries — each with the receiver ID and their share.
import starkbank
boletos = starkbank.boleto.create([
starkbank.Boleto(
amount=400000,
due="2020-05-20",
name="Iron Bank S.A.",
tax_id="20.018.183/0001-80",
fine=2.5,
interest=1.3,
overdue_limit=5,
street_line_1="Av. Faria Lima, 1844",
street_line_2="CJ 13",
district="Itaim Bibi",
city="São Paulo",
state_code="SP",
zip_code="01500-000",
tags=["War supply", "Invoice #1234"],
discounts=[
{"percentage": 10, "date": "2020-04-25"}
],
splits=[
Split(
amount=3000,
receiverId="5742447426535424"
),
Split(
amount=5000,
receiverId="5743243941642240"
)
]
)
])
for boleto in boletos:
print(boleto)
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request POST '{{baseUrl}}/v2/boleto'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
--header 'Content-Type: application/json'
--data-raw '{
"boletos": [
{
"amount": 400000,
"due": "2020-05-20",
"name": "Iron Bank S.A.",
"taxId": "20.018.183/0001-80",
"fine": 2.5,
"interest": 1.3,
"overdueLimit": 5,
"streetLine1": "Av. Faria Lima, 1844",
"streetLine2": "CJ 13",
"district": "Itaim Bibi",
"city": "São Paulo",
"stateCode": "SP",
"zipCode": "01500-000",
"tags": ["War supply", "Invoice #1234"]
"discounts": [ {
"percentage": 10,
"date": "2020-04-25"
}
],
"splits": [
{
"receiverId": "5742447426535424",
"amount": 3000
},
{
"receiverId": "5743243941642240",
"amount": 5000
}
]
},
]
}'
Boleto(
id=6655767935451136,
amount=400000,
bar_code=34191826100004000001091007175647307144464000,
city=São Paulo,
created=2020-04-23 23:36:08.129614,
descriptions=[],
discounts=[{'date': '2020-04-26T02:59:59.999999+00:00', 'percentage': 10.0}],
district=Itaim Bibi,
due=2020-05-21,
fee=0,
fine=2.5,
interest=1.3,
line=34191.09107 07175.647309 71444.640008 1 82610000400000,
name=Iron Bank S.A.,
our_number=10445145,
transaction_ids=[],
overdue_limit=5,
receiver_name=Winterfell S. A.,
receiver_tax_id=71.735.814/0001-12,
state_code=SP,
status=created,
street_line_1=Av. Faria Lima, 1844,
street_line_2=CJ 13,
tags=['war supply', 'invoice #1234'],
tax_id=20.018.183/0001-80,
zip_code=01500-000,
workspace_id=5083989094170624,
splits=[
Split(
amount=3000,
receiver_id=5742447426535424
),
Split(
amount=5000,
receiver_id=5743243941642240
)
]
)
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"message": "Boleto(s) successfully created",
"boletos": [
{
"id": "6655767935451136",
"status": "created",
"line": "34191.09107 07175.647309 71444.640008 1 82610000400000",
"barCode": "34191826100004000001091007175647307144464000",
"amount": 400000,
"due": "2020-05-21T02:59:59.999999+00:00",
"name": "Iron Bank S.A.",
"taxId": "20.018.183/0001-80",
"fine": 2.5,
"interest": 1.3,
"ourNumber": "10445145",
"transactionIds": [],
"overdueLimit": 5,
"receiverName": "Winterfell S.A.",
"receiverTaxId": "71.735.814/0001-12",
"streetLine1": "Av. Faria Lima, 1844",
"streetLine2": "CJ 13",
"district": "Itaim Bibi",
"city": "São Paulo",
"stateCode": "SP",
"zipCode": "01500-000",
"tags": ["War supply", "Invoice #1234"],
"workspaceId": "5083989094170624",
"fee": 0,
"descriptions": [],
"discounts": [
{
"percentage": 10,
"date": "2020-04-25"
}
],
"workspaceId": "5083989094170624"
},
"splits": [
{
"amount": 3000,
"receiverId": "5742447426535424",
),
{
"amount": 5000,
"receiverId": "5743243941642240",
}
]
]
}
You can list all Splits that match your filters. Use the after and before parameters to filter by creation date.
import starkbank
splits = starkbank.split.query(
after="2024-01-30",
before="2024-02-01",
limit=1
)
for split in splits:
print(split)
Not yet available. Please contact us if you need this SDK.
use StarkBank\Split;
$splits = iterator_to_array(Split::query(["limit" => 10, "before" => new DateTime("now")]));
foreach($splits as $split) {
print_r($split);
}
import com.starkbank.*; import java.util.Map; import java.util.HashMap; Mapparams = new HashMap<>(); params.put("limit", 1); Generator splits = Split.query(params); for (Split split : splits) { System.out.println(split); }
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request GET '{{baseUrl}}/v2/split?after=2024-01-30&before=2024-02-01'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
Split(
amount=10000,
created=2024-01-30 16:10:59.874663,
external_id=invoice/5163468596445184/receiver/5143677177430016,
id=5745664021495808,
receiver_id=5143677177430016,
scheduled=2024-01-30 16:10:59.840821,
source=invoice/5163468596445184,
status=created,
tags=['invoice/5163468596445184'],
updated=2024-01-30 16:21:03.973723
) Not yet available. Please contact us if you need this SDK.
StarkBank\Split Object
(
[id] => 5105697184284672
[amount] => 159
[receiverId] => 5706627130851328
[source] => invoice/4952232030109696
[externalId] => invoice/4952232030109696/receiver/5706627130851328
[tags] => Array
(
[0] => invoice/4952232030109696
)
[scheduled] =>
[status] => success
[created] =>
[updated] =>
)
Split({
"amount": 10000,
"created": "2024-01-30 16:10:59.874824",
"external_id": invoice/5163468596445184/receiver/5706627130851328,
"id": 5182714068074496,
"receiver_id": 5706627130851328,
"scheduled": "2024-01-30 16:10:59.840821",
"source": invoice/5163468596445184,
"status": created,
"tags": ['invoice/5163468596445184'],
"updated": 2024-01-30 16:10:59.874829
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"cursor": null,
"splits": [
{
"amount": 10000,
"created": "2023-10-23T23:40:04.809130+00:00",
"externalId": "invoice/6394476721340416/receiver/5644004762845184",
"id": "5714489739575296",
"receiverId": "5644004762845184",
"scheduled": "2023-11-01T10:00:00+00:00",
"source": "invoice/6394476721340416",
"status": "success",
"tags": [],
"updated": "2023-11-01T09:51:02.985959+00:00"
}
]
}
You can get a specific Split by its ID.
import starkbank
split = starkbank.split.get("5155165527080960")
print(split)
Not yet available. Please contact us if you need this SDK.
use StarkBank\Split;
$split = Split::get("5155165527080960");
print_r($split);
import com.starkbank.*;
Split split = Split.get("5155165527080960");
System.out.println(split);
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request GET '{{baseUrl}}/v2/split/5155165527080960'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
Split(
amount=10000,
created=2024-01-30 16:10:59.874824,
external_id=invoice/5163468596445184/receiver/5706627130851328,
id=5155165527080960,
receiver_id=5706627130851328,
scheduled=2024-01-30 16:10:59.840821,
source=invoice/5163468596445184,
status=created,
tags=['invoice/5163468596445184'],
updated=2024-01-30 16:10:59.874829
)
Not yet available. Please contact us if you need this SDK.
StarkBank\Split Object
(
[id] => 5155165527080960
[amount] => 159
[receiverId] => 5706627130851328
[source] => invoice/4952232030109696
[externalId] => invoice/4952232030109696/receiver/5706627130851328
[tags] => Array
(
[0] => invoice/4952232030109696
)
[scheduled] =>
[status] => success
[created] =>
[updated] =>
)
Split({
"amount": 10000,
"created": "2024-01-30 16:10:59.874824",
"external_id": invoice/5163468596445184/receiver/5706627130851328,
"id": 5155165527080960,
"receiver_id": 5706627130851328,
"scheduled": "2024-01-30 16:10:59.840821",
"source": invoice/5163468596445184,
"status": created,
"tags": ['invoice/5163468596445184'],
"updated": 2024-01-30 16:10:59.874829
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK. }
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"split": {
"amount": 10000,
"created": "2024-01-30 16:10:59.874824",
"external_id": invoice/5163468596445184/receiver/5706627130851328,
"id": 5155165527080960,
"receiver_id": 5706627130851328,
"scheduled": "2024-01-30 16:10:59.840821",
"source": invoice/5163468596445184,
"status": created,
"tags": ['invoice/5163468596445184'],
"updated": 2024-01-30 16:10:59.874829
}
}
You can list all Split Logs to track status changes throughout the transaction lifecycle.
import starkbank
logs = starkbank.split.log.query(
after="2020-10-01",
before="2020-10-30"
)
for log in logs:
print(log)
Not yet available. Please contact us if you need this SDK.
use StarkBank\Split\Log;
$splitLogs = iterator_to_array(Log::query(["limit" => 10]));
foreach($splitLogs as log) {
print_r($log);
}
import com.starkbank.*; import java.util.Map; import java.util.HashMap; Mapparams = new HashMap<>(); params.put("limit", 1); Generator logs = split.Log.query(params); for (Split.Log log : logs) { System.out.println(log); }
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request GET '{{baseUrl}}/v2/split-receiver/log?limit=1'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
Log(
created=2024-01-30 16:21:03.459601,
errors=None,
id=5659211052613632,
split=Split(
amount=10000,
created=2024-01-30 16:10:59.874663,
external_id=invoice/5163468596445184/receiver/5143677177430016,
id=5745664021495808,
receiver_id=5143677177430016,
scheduled=2024-01-30 16:10:59.840821,
source=invoice/5163468596445184,
status=created,
tags=['invoice/5163468596445184'],
updated=2024-01-30 16:21:04.002158
),
type=created
)
Not yet available. Please contact us if you need this SDK.
StarkBank\Split\Log Object
(
[id] => 5730447380185088
[created] => DateTime Object
(
[date] => 2024-03-08 10:10:07.198713
[timezone_type] => 1
[timezone] => +00:00
)
[type] => success
[errors] =>
[split] => StarkBank\Split Object
(
[id] => 5128899402924032
[amount] => 37
[receiverId] => 5706627130851328
[source] => invoice/5120509326917632
[externalId] => invoice/5120509326917632/receiver/5706627130851328
[tags] => Array
(
[0] => invoice/5120509326917632
)
[scheduled] =>
[status] => success
[created] =>
[updated] =>
)
)
Log({
"created": "2024-01-30T20:32:56.214350+00:00",
"id": "5079983684845568",
"split": {
"amount": 10000,
"created": "2023-10-23T23:40:04.809130+00:00",
"externalId": "invoice/6394476721340416/receiver/5644004762845184",
"id": "5714489739575296",
"receiverId": "5644004762845184",
"scheduled": "2023-11-01T10:00:00+00:00",
"source": "invoice/6394476721340416",
"status": "success",
"tags": [],
"updated": "2023-11-01T09:51:03.015157+00:00"
},
"type": "success"
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"cursor": null,
"logs": [
{
"created": "2023-11-01T09:51:02.882114+00:00",
"id": "5729450050191360",
"split": {
"amount": 10000,
"created": "2023-10-23T23:40:04.809130+00:00",
"externalId": "invoice/6394476721340416/receiver/5644004762845184",
"id": "5714489739575296",
"receiverId": "5644004762845184",
"scheduled": "2023-11-01T10:00:00+00:00",
"source": "invoice/6394476721340416",
"status": "success",
"tags": [],
"updated": "2023-11-01T09:51:03.015157+00:00"
},
"type": "success"
}
]
}
You can get a specific Split Log by its ID.
import starkbank
log = starkbank.split.log.get("5729450050191360")
print(log)
Not yet available. Please contact us if you need this SDK.
use StarkBank\Split\Log;
$splitLog = Log::get("5729450050191360");
print_r($splitLog);
import com.starkbank.*;
Split.Log log = Split.Log.get("5729450050191360");
System.out.println(log);
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
curl --location --request GET '{{baseUrl}}/v2/split/log/5729450050191360'
--header 'Access-Id: {{accessId}}'
--header 'Access-Time: {{accessTime}}'
--header 'Access-Signature: {{accessSignature}}'
Log(
created=2024-01-30 16:21:03.459601,
errors=None,
id=5729450050191360,
split=Split(
amount=10000,
created=2024-01-30 16:10:59.874663,
external_id=invoice/5163468596445184/receiver/5143677177430016,
id=5745664021495808,
receiver_id=5143677177430016,
scheduled=2024-01-30 16:10:59.840821,
source=invoice/5163468596445184,
status=success,
tags=['invoice/5163468596445184'],
updated=2024-01-30 16:21:04.002158
),
type=success
)
Not yet available. Please contact us if you need this SDK.
StarkBank\Split\Log Object
(
[id] => 5729450050191360
[created] => DateTime Object
(
[date] => 2024-03-08 10:10:07.198713
[timezone_type] => 1
[timezone] => +00:00
)
[type] => success
[errors] =>
[split] => StarkBank\Split Object
(
[id] => 5128899402924032
[amount] => 37
[receiverId] => 5706627130851328
[source] => invoice/5120509326917632
[externalId] => invoice/5120509326917632/receiver/5706627130851328
[tags] => Array
(
[0] => invoice/5120509326917632
)
[scheduled] =>
[status] => success
[created] =>
[updated] =>
)
)
Log({
"created": "2024-01-30 16:21:03.459601",
"errors": None,
"id": 5729450050191360,
"split": Split({
"amount": 10000,
"created":" 2024-01-30 16:10:59.874663",
"external_id": invoice/5163468596445184/receiver/5143677177430016,
"id": 5745664021495808,
"receiver_id": 5143677177430016,
"scheduled": "2024-01-30 16:10:59.840821",
"source": invoice/5163468596445184,
"status": success,
"tags": ['invoice/5163468596445184'],
"updated": "2024-01-30 16:21:04.002158"
}),
"type": success
})
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
Not yet available. Please contact us if you need this SDK.
{
"cursor": null,
"logs": [
{
"created": "2023-11-01T09:51:02.882114+00:00",
"id": "5729450050191360",
"split": {
"amount": 10000,
"created": "2023-10-23T23:40:04.809130+00:00",
"externalId": "invoice/6394476721340416/receiver/5644004762845184",
"id": "6742710681600000",
"receiverId": "5644004762845184",
"scheduled": "2023-11-01T10:00:00+00:00",
"source": "invoice/6394476721340416",
"status": "success",
"tags": [],
"updated": "2023-11-01T09:51:03.015157+00:00"
},
"type": "success"
}
]
}