|
| 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