Skip to content

Commit 763f0b4

Browse files
committed
Accept data via kwargs in payment's capture request
1 parent 7d5ec54 commit 763f0b4

3 files changed

Lines changed: 15 additions & 8 deletions

File tree

braspag_sdk/apps/payments/requests/update_sale.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import json
2+
13
from braspag_sdk.utils import ApiBase
24

35
from braspag_sdk.apps.payments.environment import PaymentsEnvironment
@@ -14,22 +16,22 @@ def __init__(self, type: str, merchant_credentials: MerchantCredentials, environ
1416
self.type = type
1517
self.service_tax_amount = None
1618
self.amount = None
17-
self.split_payments = None
19+
self.data = None
1820

1921
def execute(self, payment_id):
2022

2123
uri = '%s/v2/sales/%s/%s' % (self.environment.api, payment_id, self.type)
2224

23-
params = {}
2425
data = {}
26+
params = {}
2527

2628
if self.amount:
2729
params['amount'] = self.amount
2830

2931
if self.service_tax_amount:
3032
params['serviceTaxAmount'] = self.service_tax_amount
3133

32-
if self.split_payments:
33-
data['SplitPayments'] = [split.toJSON() for split in self.split_payments]
34+
if self.data:
35+
data = self.data
3436

35-
return self.send_request('PUT', uri, params=params)
37+
return self.send_request('PUT', uri, params=params, data=data)

braspag_sdk/apps/payments/services.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,16 @@ def create_sale(self, sale: Sale):
1616
request = CreateSale(self.merchant_credentials, self._environment)
1717
return request.execute(sale)
1818

19-
def capture_sale(self, payment_id: str, amount=None, service_tax_amount=None, split_payments=None):
19+
def capture_sale(self, payment_id: str, amount=None, service_tax_amount=None, **kwargs):
2020
request = UpdateSale('capture', self.merchant_credentials, self._environment)
2121
request.amount = amount
2222
request.service_tax_amount = service_tax_amount
23-
request.split_payments = split_payments
23+
24+
data = None
25+
if kwargs:
26+
data = json.dumps(kwargs)
27+
request.data = data
28+
2429
return request.execute(payment_id)
2530

2631
def cancel_sale(self, payment_id: str, amount=None):

braspag_sdk/utils/base_request.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def send_request(self, method, uri, data=None, params=None):
2727

2828
if not body:
2929
headers['Content-Length'] = '0'
30-
elif not isinstance(data, dict):
30+
elif not isinstance(data, str):
3131
body = body.toJSON()
3232

3333
if 'Content-Type' not in headers:

0 commit comments

Comments
 (0)