Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Given a version number MAJOR.MINOR.PATCH, increment:


## [Unreleased]
### Added
- display_description attribute to Transfer resource

## [2.34.0] - 2026-05-07
### Changed
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,7 @@ transfers = starkbank.transfer.create([
tax_id="012.345.678-90",
name="Jon Snow",
scheduled=datetime.utcnow() + timedelta(days=3),
display_description="Payment for service #1234",
rules=[
starkbank.transfer.Rule(
key="resendingLimit", # Set maximum number of retries if Transfer fails due to systemic issues at the receiver bank
Expand Down
4 changes: 3 additions & 1 deletion starkbank/transfer/__transfer.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ class Transfer(Resource):
- external_id [string, default None]: url safe string that must be unique among all your transfers. Duplicated external_ids will cause failures. By default, this parameter will block any transfer that repeats amount and receiver information on the same date. ex: "my-internal-id-123456"
- scheduled [datetime.date, datetime.datetime or string, default now]: date or datetime when the transfer will be processed. May be pushed to next business day if necessary. ex: datetime.datetime(2020, 3, 10, 10, 30, 0, 0)
- description [string, default None]: optional description to override default description to be shown in the bank statement. ex: "Payment for service #1234"
- display_description [string, default None]: optional description to be shown in the receiver bank interface. ex: 'Payment for service #1234'
- tags [list of strings, default []]: list of strings for reference when searching for transfers. ex: ["employees", "monthly"]
- rules [list of Transfer.Rules, default []]: list of Transfer.Rule objects for modifying transfer behavior. ex: [Transfer.Rule(key="resendingLimit", value=5)]
## Attributes (return-only):
Expand All @@ -36,7 +37,7 @@ class Transfer(Resource):
"""

def __init__(self, amount, name, tax_id, bank_code, branch_code, account_number, account_type,
external_id=None, scheduled=None, description=None, transaction_ids=None, metadata=None,
external_id=None, scheduled=None, description=None, display_description=None, transaction_ids=None, metadata=None,
fee=None, tags=None, rules=None, status=None, id=None, created=None, updated=None
):
Resource.__init__(self, id=id)
Expand All @@ -51,6 +52,7 @@ def __init__(self, amount, name, tax_id, bank_code, branch_code, account_number,
self.external_id = external_id
self.scheduled = check_datetime_or_date(scheduled)
self.description = description
self.display_description = display_description
self.tags = tags
self.rules = _parse_rules(rules)
self.fee = fee
Expand Down
1 change: 1 addition & 0 deletions tests/utils/transfer.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ def generateExampleTransfersJson(n=1, randomSchedule=False):
)
]
transfer.description = choice([None, "Test description"])
transfer.display_description = choice([None, "Test display description"])
if randomSchedule:
transfer.scheduled = choice([date.today(), datetime.utcnow()]) + timedelta(days=randint(0, 10))
transfers.append(transfer)
Expand Down
Loading