11from ..utils import rest
22from starkcore .utils .resource import Resource
3+ from starkcore .utils .api import from_api_json
4+ from ..subscription .__subscription import Subscription
35from starkcore .utils .checks import check_datetime_or_date
6+ from ..subscription .__subscription import _resource as _subscription_resource
47
58
69class BrcodePreview (Resource ):
@@ -25,6 +28,7 @@ class BrcodePreview(Resource):
2528 - cashier_bank_code [string]: Cashier's bank code. ex: "20018183"
2629 - cashier_type [string]: Cashier's type. Options: "merchant", "participant" and "other"
2730 - discount_amount [integer]: Discount value calculated over nominal_amount. ex: 3000
31+ - due [datetime.datetime]: BR Code due date. ex: datetime(2020, 3, 10)
2832 - fine_amount [integer]: Fine value calculated over nominal_amount. ex: 20000
2933 - interest_amount [integer]: Interest value calculated over nominal_amount. ex: 10000
3034 - key_id [string]: Receiver's PixKey id. ex: "+5511989898989"
@@ -34,13 +38,14 @@ class BrcodePreview(Resource):
3438 - reduction_amount [integer]: Reduction value to discount from nominal_amount. ex: 1000
3539 - scheduled [datetime.datetime]: date of payment execution. ex: datetime(2020, 3, 10)
3640 - status [string]: Payment status. ex: "created", "paid", "canceled" or "expired"
41+ - subscription [Subscription]: BR code subscription information
3742 - tax_id [string]: Payment receiver tax ID. ex: "012.345.678-90"
3843 """
3944
4045 def __init__ (self , id , payer_id , account_number = None , account_type = None , amount = None , amount_type = None , bank_code = None ,
41- branch_code = None , cash_amount = None , cashier_bank_code = None , cashier_type = None , discount_amount = None ,
46+ branch_code = None , cash_amount = None , cashier_bank_code = None , cashier_type = None , discount_amount = None , due = None ,
4247 fine_amount = None , interest_amount = None , key_id = None , name = None , nominal_amount = None , end_to_end_id = None ,
43- reconciliation_id = None , reduction_amount = None , scheduled = None , status = None , tax_id = None , description = None ):
48+ reconciliation_id = None , reduction_amount = None , scheduled = None , subscription = None , status = None , tax_id = None , description = None ):
4449 Resource .__init__ (self , id = id )
4550
4651 self .payer_id = payer_id
@@ -55,6 +60,9 @@ def __init__(self, id, payer_id, account_number=None, account_type=None, amount=
5560 self .cashier_bank_code = cashier_bank_code
5661 self .cashier_type = cashier_type
5762 self .discount_amount = discount_amount
63+ if (due == "" ):
64+ due = None
65+ self .due = check_datetime_or_date (due )
5866 self .fine_amount = fine_amount
5967 self .interest_amount = interest_amount
6068 self .key_id = key_id
@@ -64,12 +72,19 @@ def __init__(self, id, payer_id, account_number=None, account_type=None, amount=
6472 self .reduction_amount = reduction_amount
6573 self .scheduled = check_datetime_or_date (scheduled )
6674 self .status = status
75+ self .subscription = _parse_subscription (subscription )
6776 self .tax_id = tax_id
6877 self .description = description
6978
7079
7180_resource = {"class" : BrcodePreview , "name" : "BrcodePreview" }
7281
82+ def _parse_subscription (subscription ):
83+ if not subscription or subscription is None :
84+ return None
85+ if isinstance (subscription , Subscription ):
86+ return subscription
87+ return from_api_json (_subscription_resource , subscription )
7388
7489def create (previews , user = None ):
7590 """# Retrieve BrcodePreviews
0 commit comments