Skip to content

Commit 93fa2d1

Browse files
authored
Merge pull request #73 from mwarzybok-sumoheavy/feature/SP-738
SP-738 Type Review: Python
2 parents 646e232 + a9a9831 commit 93fa2d1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+6832
-3
lines changed

src/bitpay/models/invoice/invoice.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from pydantic import Field
66
from .buyer import Buyer
77
from .buyer_provided_info import BuyerProvidedInfo
8+
from .invoice_refund_addresses import InvoiceRefundAddresses
89
from .miner_fees import MinerFees
910
from .refund_info import RefundInfo
1011
from .shopper import Shopper
@@ -46,7 +47,7 @@ class Invoice(BitPayModel):
4647
payment_codes: Union[Dict[str, Dict[str, str]], None] = None
4748
acceptance_window: Union[int, None] = None
4849
buyer: Union[Buyer, None] = None
49-
refund_addresses: Union[List[str], None] = None
50+
refund_addresses: Union[List[Dict[str, InvoiceRefundAddresses]], None] = None
5051
close_url: Union[str, None] = Field(alias="closeURL", default=None)
5152
auto_redirect: Union[bool, None] = False
5253
json_paypro_required: Union[bool, None] = False
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from datetime import datetime
2+
from pydantic import field_serializer
3+
from typing import Union
4+
5+
from bitpay.models.bitpay_model import BitPayModel
6+
7+
8+
class InvoiceRefundAddresses(BitPayModel):
9+
date: Union[datetime, None]
10+
email: Union[str, None]
11+
tag: Union[int, None] = None
12+
type: Union[str, None] = None
13+
14+
@field_serializer("date")
15+
def serialize_datetime(self, dt: datetime) -> str:
16+
return super().serialize_datetime_to_iso8601(dt)

src/bitpay/models/invoice/invoice_webhook.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@ class InvoiceWebhook(BitPayModel):
2121
status: Union[str, None] = None
2222
transaction_currency: Union[str, None] = None
2323
url: Union[str, None] = None
24+
in_invoice_id: Union[str, None] = None
25+
in_payment_request: Union[str, None] = None

src/bitpay/models/invoice/refund_webhook.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ class RefundWebhook(BitPayModel):
1818
request_date: Union[datetime, None] = None
1919
status: Union[str, None] = None
2020
support_request: Union[str, None] = None
21+
reference: Union[str, None] = None
22+
guid: Union[str, None] = None
23+
refund_address: Union[str, None] = None
24+
type: Union[str, None] = None
25+
txid: Union[str, None] = None
26+
transaction_currency: Union[str, None] = None
27+
transaction_amount: Union[float, None] = None
28+
transaction_refund_fee: Union[float, None] = None
2129

2230
@field_serializer("request_date", "last_refund_notification")
2331
def serialize_datetime(self, dt: datetime) -> str:

src/bitpay/models/payout/payout_transaction.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class PayoutTransaction(BitPayModel):
1515
txid: Union[str, None] = None
1616
amount: Union[float, None] = None
1717
date: Union[datetime, None] = None
18-
confirmations: Union[str, None] = None
18+
confirmations: Union[int, None] = None
1919

2020
@field_serializer("date")
2121
def serialize_datetime_to_iso8601(self, dt: datetime) -> str:
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from datetime import datetime
2+
from pydantic import field_serializer
3+
from typing import Union, Dict, List
4+
5+
from bitpay.models.bitpay_model import BitPayModel
6+
from bitpay.models.payout.payout_transaction import PayoutTransaction
7+
8+
9+
class PayoutWebhook(BitPayModel):
10+
id: Union[str, None] = None
11+
recipient_id: Union[str, None] = None
12+
shopper_id: Union[str, None] = None
13+
price: Union[float, None] = None
14+
currency: Union[str, None] = None
15+
ledger_currency: Union[str, None] = None
16+
exchange_rates: Union[Dict[str, Dict[str, float]], None] = None
17+
email: Union[str, None] = None
18+
reference: Union[str, None] = None
19+
label: Union[str, None] = None
20+
notification_url: Union[str, None] = None
21+
notification_email: Union[str, None] = None
22+
effective_date: Union[datetime, None] = None
23+
request_date: Union[datetime, None] = None
24+
status: Union[str, None] = None
25+
transactions: Union[List[PayoutTransaction], None] = None
26+
account_id: Union[str, None] = None
27+
date_executed: Union[datetime, None] = None
28+
group_id: Union[str, None] = None
29+
30+
@field_serializer("effective_date", "request_date")
31+
def serialize_datetime(self, dt: datetime) -> str:
32+
return super().serialize_datetime_to_iso8601(dt)

0 commit comments

Comments
 (0)