Skip to content
Closed
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: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
configured_endpoints: 239
openapi_spec_hash: f8d2bbed3081c9ffc1547d28f89a8a34
openapi_spec_hash: 4ae1f13b87ff5d150b34c8909d519bed
config_hash: 1ca082e374ef7000e2a5971e8da740e0
2 changes: 1 addition & 1 deletion scripts/mock

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions src/increase/resources/ach_prenotifications.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def create(

individual_id: Your identifier for the recipient.

individual_name: The name of therecipient. This value is informational and not verified by the
individual_name: The name of the recipient. This value is informational and not verified by the
recipient's bank.

standard_entry_class_code: The
Expand Down Expand Up @@ -346,7 +346,7 @@ async def create(

individual_id: Your identifier for the recipient.

individual_name: The name of therecipient. This value is informational and not verified by the
individual_name: The name of the recipient. This value is informational and not verified by the
recipient's bank.

standard_entry_class_code: The
Expand Down
16 changes: 0 additions & 16 deletions src/increase/resources/ach_transfers.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ def create(
"internet_initiated",
]
| Omit = omit,
transaction_timing: Literal["synchronous", "asynchronous"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -173,12 +172,6 @@ def create(
non-consumers to debit a consumer’s account. Credits can only be used for
consumer to consumer transactions.

transaction_timing: The timing of the transaction.

- `synchronous` - A Transaction will be created immediately.
- `asynchronous` - A Transaction will be created when the funds settle at the
Federal Reserve.

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand Down Expand Up @@ -211,7 +204,6 @@ def create(
"require_approval": require_approval,
"routing_number": routing_number,
"standard_entry_class_code": standard_entry_class_code,
"transaction_timing": transaction_timing,
},
ach_transfer_create_params.ACHTransferCreateParams,
),
Expand Down Expand Up @@ -461,7 +453,6 @@ async def create(
"internet_initiated",
]
| Omit = omit,
transaction_timing: Literal["synchronous", "asynchronous"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -563,12 +554,6 @@ async def create(
non-consumers to debit a consumer’s account. Credits can only be used for
consumer to consumer transactions.

transaction_timing: The timing of the transaction.

- `synchronous` - A Transaction will be created immediately.
- `asynchronous` - A Transaction will be created when the funds settle at the
Federal Reserve.

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request
Expand Down Expand Up @@ -601,7 +586,6 @@ async def create(
"require_approval": require_approval,
"routing_number": routing_number,
"standard_entry_class_code": standard_entry_class_code,
"transaction_timing": transaction_timing,
},
ach_transfer_create_params.ACHTransferCreateParams,
),
Expand Down
10 changes: 10 additions & 0 deletions src/increase/resources/cards.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ def create(
account_id: str,
authorization_controls: card_create_params.AuthorizationControls | Omit = omit,
billing_address: card_create_params.BillingAddress | Omit = omit,
cardholder_name: card_create_params.CardholderName | Omit = omit,
description: str | Omit = omit,
digital_wallet: card_create_params.DigitalWallet | Omit = omit,
entity_id: str | Omit = omit,
Expand All @@ -79,6 +80,9 @@ def create(

billing_address: The card's billing address.

cardholder_name: The name of the cardholder. Used to respond to Account Name Inquiry requests
from acquirers in Card Validations.

description: The description you choose to give the card.

digital_wallet: The contact information used in the two-factor steps for digital wallet card
Expand Down Expand Up @@ -107,6 +111,7 @@ def create(
"account_id": account_id,
"authorization_controls": authorization_controls,
"billing_address": billing_address,
"cardholder_name": cardholder_name,
"description": description,
"digital_wallet": digital_wallet,
"entity_id": entity_id,
Expand Down Expand Up @@ -462,6 +467,7 @@ async def create(
account_id: str,
authorization_controls: card_create_params.AuthorizationControls | Omit = omit,
billing_address: card_create_params.BillingAddress | Omit = omit,
cardholder_name: card_create_params.CardholderName | Omit = omit,
description: str | Omit = omit,
digital_wallet: card_create_params.DigitalWallet | Omit = omit,
entity_id: str | Omit = omit,
Expand All @@ -483,6 +489,9 @@ async def create(

billing_address: The card's billing address.

cardholder_name: The name of the cardholder. Used to respond to Account Name Inquiry requests
from acquirers in Card Validations.

description: The description you choose to give the card.

digital_wallet: The contact information used in the two-factor steps for digital wallet card
Expand Down Expand Up @@ -511,6 +520,7 @@ async def create(
"account_id": account_id,
"authorization_controls": authorization_controls,
"billing_address": billing_address,
"cardholder_name": cardholder_name,
"description": description,
"digital_wallet": digital_wallet,
"entity_id": entity_id,
Expand Down
10 changes: 10 additions & 0 deletions src/increase/resources/real_time_payments_transfers.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ def create(
account_number: str | Omit = omit,
debtor_name: str | Omit = omit,
external_account_id: str | Omit = omit,
inbound_real_time_payments_request_for_payment_id: str | Omit = omit,
require_approval: bool | Omit = omit,
routing_number: str | Omit = omit,
ultimate_creditor_name: str | Omit = omit,
Expand Down Expand Up @@ -85,6 +86,9 @@ def create(
external_account_id: The ID of an External Account to initiate a transfer to. If this parameter is
provided, `account_number` and `routing_number` must be absent.

inbound_real_time_payments_request_for_payment_id: The ID of an Inbound Real-Time Payments Request for Payment in response to which
this transfer is being sent.

require_approval: Whether the transfer requires explicit approval via the dashboard or API.

routing_number: The destination American Bankers' Association (ABA) Routing Transit Number
Expand Down Expand Up @@ -117,6 +121,7 @@ def create(
"account_number": account_number,
"debtor_name": debtor_name,
"external_account_id": external_account_id,
"inbound_real_time_payments_request_for_payment_id": inbound_real_time_payments_request_for_payment_id,
"require_approval": require_approval,
"routing_number": routing_number,
"ultimate_creditor_name": ultimate_creditor_name,
Expand Down Expand Up @@ -369,6 +374,7 @@ async def create(
account_number: str | Omit = omit,
debtor_name: str | Omit = omit,
external_account_id: str | Omit = omit,
inbound_real_time_payments_request_for_payment_id: str | Omit = omit,
require_approval: bool | Omit = omit,
routing_number: str | Omit = omit,
ultimate_creditor_name: str | Omit = omit,
Expand Down Expand Up @@ -402,6 +408,9 @@ async def create(
external_account_id: The ID of an External Account to initiate a transfer to. If this parameter is
provided, `account_number` and `routing_number` must be absent.

inbound_real_time_payments_request_for_payment_id: The ID of an Inbound Real-Time Payments Request for Payment in response to which
this transfer is being sent.

require_approval: Whether the transfer requires explicit approval via the dashboard or API.

routing_number: The destination American Bankers' Association (ABA) Routing Transit Number
Expand Down Expand Up @@ -434,6 +443,7 @@ async def create(
"account_number": account_number,
"debtor_name": debtor_name,
"external_account_id": external_account_id,
"inbound_real_time_payments_request_for_payment_id": inbound_real_time_payments_request_for_payment_id,
"require_approval": require_approval,
"routing_number": routing_number,
"ultimate_creditor_name": ultimate_creditor_name,
Expand Down
2 changes: 1 addition & 1 deletion src/increase/types/ach_prenotification_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class ACHPrenotificationCreateParams(TypedDict, total=False):
"""Your identifier for the recipient."""

individual_name: str
"""The name of therecipient.
"""The name of the recipient.

This value is informational and not verified by the recipient's bank.
"""
Expand Down
2 changes: 1 addition & 1 deletion src/increase/types/ach_transfer.py
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,7 @@ class Submission(BaseModel):
"""The timestamp by which any administrative returns are expected to be received
by.

This follows the NACHA guidelines for return windows, which are: "In general,
This follows the Nacha guidelines for return windows, which are: "In general,
return entries must be received by the RDFI’s ACH Operator by its deposit
deadline for the return entry to be made available to the ODFI no later than the
opening of business on the second banking day following the Settlement Date of
Expand Down
8 changes: 0 additions & 8 deletions src/increase/types/ach_transfer_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,14 +168,6 @@ class ACHTransferCreateParams(TypedDict, total=False):
consumer to consumer transactions.
"""

transaction_timing: Literal["synchronous", "asynchronous"]
"""The timing of the transaction.

- `synchronous` - A Transaction will be created immediately.
- `asynchronous` - A Transaction will be created when the funds settle at the
Federal Reserve.
"""


class AddendaFreeformEntry(TypedDict, total=False):
payment_related_information: Required[str]
Expand Down
18 changes: 18 additions & 0 deletions src/increase/types/balance_lookup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,24 @@ class Loan(BaseModel):
due_balance: int
"""The total amount due on the loan."""

due_fees: Optional[int] = None
"""The fees on the loan that are due and unpaid."""

due_interest: Optional[int] = None
"""The interest on the loan that is due and unpaid."""

due_principal: Optional[int] = None
"""The principal on the loan that is due and unpaid."""

not_due_fees: Optional[int] = None
"""The fees on the loan that are not yet due."""

not_due_interest: Optional[int] = None
"""The interest on the loan that is not yet due."""

not_due_principal: Optional[int] = None
"""The principal on the loan that is not yet due."""

past_due_balance: int
"""The amount past due on the loan."""

Expand Down
36 changes: 36 additions & 0 deletions src/increase/types/card.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"AuthorizationControlsUsageSingleUse",
"AuthorizationControlsUsageSingleUseSettlementAmount",
"BillingAddress",
"CardholderName",
"DigitalWallet",
]

Expand Down Expand Up @@ -211,6 +212,18 @@ class AuthorizationControls(BaseModel):
usage: Optional[AuthorizationControlsUsage] = None
"""Controls how many times this card can be used."""

if TYPE_CHECKING:
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
# value to this field, so for compatibility we avoid doing it at runtime.
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]

# Stub to indicate that arbitrary properties are accepted.
# To access properties that are not valid identifiers you can use `getattr`, e.g.
# `getattr(obj, '$type')`
def __getattr__(self, attr: str) -> object: ...
else:
__pydantic_extra__: Dict[str, object]


class BillingAddress(BaseModel):
"""The Card's billing address."""
Expand All @@ -231,6 +244,22 @@ class BillingAddress(BaseModel):
"""The US state of the billing address."""


class CardholderName(BaseModel):
"""The name of the cardholder.

Used to respond to Account Name Inquiry requests from acquirers in Card Validations.
"""

first: str
"""The cardholder's first name."""

last: str
"""The cardholder's last name."""

middle: Optional[str] = None
"""The cardholder's middle name."""


class DigitalWallet(BaseModel):
"""
The contact information used in the two-factor steps for digital wallet card creation. At least one field must be present to complete the digital wallet steps.
Expand Down Expand Up @@ -276,6 +305,13 @@ class Card(BaseModel):
bin: str
"""The Bank Identification Number (BIN) of the Card."""

cardholder_name: Optional[CardholderName] = None
"""The name of the cardholder.

Used to respond to Account Name Inquiry requests from acquirers in Card
Validations.
"""

created_at: datetime
"""
The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
Expand Down
26 changes: 25 additions & 1 deletion src/increase/types/card_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"AuthorizationControlsUsageSingleUse",
"AuthorizationControlsUsageSingleUseSettlementAmount",
"BillingAddress",
"CardholderName",
"DigitalWallet",
]

Expand All @@ -38,6 +39,13 @@ class CardCreateParams(TypedDict, total=False):
billing_address: BillingAddress
"""The card's billing address."""

cardholder_name: CardholderName
"""The name of the cardholder.

Used to respond to Account Name Inquiry requests from acquirers in Card
Validations.
"""

description: str
"""The description you choose to give the card."""

Expand Down Expand Up @@ -232,7 +240,7 @@ class AuthorizationControlsUsage(TypedDict, total=False):
"""


class AuthorizationControls(TypedDict, total=False):
class AuthorizationControls(TypedDict, total=False, extra_items=object): # type: ignore[call-arg]
"""Controls that restrict how this card can be used."""

merchant_acceptor_identifier: AuthorizationControlsMerchantAcceptorIdentifier
Expand Down Expand Up @@ -276,6 +284,22 @@ class BillingAddress(TypedDict, total=False):
"""The second line of the billing address."""


class CardholderName(TypedDict, total=False):
"""The name of the cardholder.

Used to respond to Account Name Inquiry requests from acquirers in Card Validations.
"""

first: Required[str]
"""The cardholder's first name."""

last: Required[str]
"""The cardholder's last name."""

middle: str
"""The cardholder's middle name."""


class DigitalWallet(TypedDict, total=False):
"""
The contact information used in the two-factor steps for digital wallet card creation. To add the card to a digital wallet, you may supply an email or phone number with this request. Otherwise, subscribe and then action a Real Time Decision with the category `digital_wallet_token_requested` or `digital_wallet_authentication_requested`.
Expand Down
5 changes: 3 additions & 2 deletions src/increase/types/card_dispute.py
Original file line number Diff line number Diff line change
Expand Up @@ -2727,8 +2727,9 @@ class CardDispute(BaseModel):
- `lost` - The Card Dispute has been lost and funds previously credited from the
acceptance have been debited.
- `won` - The Card Dispute has been won and no further action can be taken.
- `rejected` - The Card Dispute has been reviewed and rejected, please review
the explanation for more details.
- `rejected` - The Card Dispute was rejected before it was submitted to the
network, either by Increase or because the user withdrew it. Please review the
explanation for more details.
"""

type: Literal["card_dispute"]
Expand Down
9 changes: 9 additions & 0 deletions src/increase/types/card_payment.py
Original file line number Diff line number Diff line change
Expand Up @@ -1453,6 +1453,15 @@ class ElementCardAuthorization(BaseModel):
riskiest.
"""

original_card_payment_id: Optional[str] = None
"""
The ID of the Card Payment containing the original authorization or card
validation this transaction references. For a merchant-initiated transaction,
this is the Card Payment from when the card was first stored, which is typically
where the CVV2 was verified. The reference this is derived from is supplied by
the merchant or their acquirer, so it is not guaranteed to be present.
"""

pending_transaction_id: Optional[str] = None
"""The identifier of the Pending Transaction associated with this Transaction."""

Expand Down
2 changes: 1 addition & 1 deletion src/increase/types/card_update_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ class AuthorizationControlsUsage(TypedDict, total=False):
"""


class AuthorizationControls(TypedDict, total=False):
class AuthorizationControls(TypedDict, total=False, extra_items=object): # type: ignore[call-arg]
"""Controls that restrict how this card can be used."""

merchant_acceptor_identifier: AuthorizationControlsMerchantAcceptorIdentifier
Expand Down
Loading
Loading