Skip to content

Commit febf705

Browse files
Add darf-payment and tax-payment options to payment-requests
1 parent 68bc9d8 commit febf705

File tree

4 files changed

+23
-8
lines changed

4 files changed

+23
-8
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Given a version number MAJOR.MINOR.PATCH, increment:
1515
## [Unreleased]
1616
### Added
1717
- function to deposit.log resource get Deposit reversal receipt
18+
- TaxPayment and DarfPayment as PaymentRequest options
1819
### Fixed
1920
- README import on setup file
2021

starkbank/paymentrequest/__paymentrequest.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77
from ..brcodepayment.__brcodepayment import BrcodePayment
88
from ..boletopayment.__boletopayment import BoletoPayment
99
from ..utilitypayment.__utilitypayment import UtilityPayment
10+
from ..darfpayment.__darfpayment import DarfPayment
11+
from ..taxpayment.__taxpayment import TaxPayment
1012
from ..transfer.__transfer import _resource as _transfer_resource
1113
from ..transaction.__transaction import _resource as _transaction_resource
1214
from ..boletopayment.__boletopayment import _resource as _boleto_payment_resource
1315
from ..brcodepayment.__brcodepayment import _resource as _brcode_payment_resource
1416
from ..utilitypayment.__utilitypayment import _resource as _utility_payment_resource
15-
16-
17+
from ..darfpayment.__darfpayment import _resource as _darf_payment_resource
18+
from ..taxpayment.__taxpayment import _resource as _tax_payment_resource
1719
class PaymentRequest(Resource):
1820
"""# PaymentRequest object
1921
A PaymentRequest is an indirect request to access a specific cash-out service
@@ -23,7 +25,7 @@ class PaymentRequest(Resource):
2325
cost center page.
2426
## Parameters (required):
2527
- center_id [string]: target cost center ID. ex: "5656565656565656"
26-
- payment [Transfer, BoletoPayment, UtilityPayment, BrcodePayment, Transaction or dictionary]: payment entity that should be approved and executed.
28+
- payment [Transfer, BoletoPayment, UtilityPayment, BrcodePayment, Transaction, DarfPayment, TaxPayment or dictionary]: payment entity that should be approved and executed.
2729
## Parameters (conditionally required):
2830
- type [string]: payment type, inferred from the payment parameter if it is not a dictionary. ex: "transfer", "boleto-payment"
2931
## Parameters (optional):
@@ -65,6 +67,8 @@ def _parse_payment(payment, type):
6567
"boleto-payment": _boleto_payment_resource,
6668
"brcode-payment": _brcode_payment_resource,
6769
"utility-payment": _utility_payment_resource,
70+
"darf-payment": _darf_payment_resource,
71+
"tax-payment": _tax_payment_resource,
6872
}[type], payment)), type
6973
except KeyError:
7074
return payment, type
@@ -82,8 +86,10 @@ def _parse_payment(payment, type):
8286
return payment, "boleto-payment"
8387
if isinstance(payment, UtilityPayment):
8488
return payment, "utility-payment"
85-
if isinstance(payment, BrcodePayment):
86-
return payment, "brcode-payment"
89+
if isinstance(payment, DarfPayment):
90+
return payment, "darf-payment"
91+
if isinstance(payment, TaxPayment):
92+
return payment, "tax-payment"
8793

8894
raise Exception(
8995
"payment must be either "
@@ -93,7 +99,8 @@ def _parse_payment(payment, type):
9399
", a starkbank.BrcodePayment"
94100
", a starkbank.BoletoPayment"
95101
", a starkbank.UtilityPayment"
96-
" or a starkbank.BrcodePayment"
102+
", a starkbank.TaxPayment"
103+
" or a starkbank.DarfPayment"
97104
", but not a {}".format(type(payment))
98105
)
99106

tests/sdk/test_payment_request.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
class TestPaymentRequestPost(TestCase):
1313

1414
def test_success(self):
15-
requests = generateExamplePaymentRequestsJson(n=5)
15+
requests = generateExamplePaymentRequestsJson(n=7)
1616
requests = starkbank.paymentrequest.create(requests)
17-
self.assertEqual(len(requests), 5)
17+
self.assertEqual(len(requests), 7)
1818
for request in requests:
1919
print(request)
2020

tests/utils/paymentRequest.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
from .transfer import generateExampleTransfersJson
88
from .utilityPayment import generateExampleUtilityPaymentsJson
99
from .brcodePayment import generateExampleBrcodePaymentsJson
10+
from .taxPayment import generateExampleDarfPaymentsJson, generateExampleTaxPaymentsJson
11+
12+
1013
import os
1114

1215
center_id = os.environ["SANDBOX_CENTER_ID"]
@@ -22,6 +25,8 @@ def generateExamplePaymentRequestsJson(n=1):
2225
"utility-payment",
2326
"brcode-payment",
2427
"transaction",
28+
"darf-payment",
29+
"tax-payment",
2530
])
2631
for _ in range(n)
2732
]
@@ -34,6 +39,8 @@ def generateExamplePaymentRequestsJson(n=1):
3439
"utility-payment": generateExampleUtilityPaymentsJson,
3540
"brcode-payment": generateExampleBrcodePaymentsJson,
3641
"transaction": generateExampleTransactionsJson,
42+
"darf-payment": generateExampleDarfPaymentsJson,
43+
"tax-payment": generateExampleTaxPaymentsJson,
3744
}[type](n=types.count(type)))
3845

3946
for payment in payments:

0 commit comments

Comments
 (0)