-
Notifications
You must be signed in to change notification settings - Fork 117
Open
Labels
Description
General information
- SDK/Library version: 4.6.0
- Environment: Sandbox
- Language, language version, and OS: Python 3.9.1 on a python:alpine docker container
Issue description
When I try and gateway.transaction.find
a transaction using a gateway that was initialised with a client_id and secret, I receive a TypeError
"can only concatenate str (not "NoneType") to str".
Had a look, this happens because the BraintreeGateway.merchant_id is not set if you initialise it using a client_id and secret.
Steps to reproduce:
# gateway using my credentials
gateway = braintree.BraintreeGateway(
client_id=os.getenv('BT_CID'),
client_secret=os.getenv('BT_SECRET')
)
result = gateway.transaction.sale({
"amount": '1.00',
"payment_method_nonce": 'fake-valid-nonce',
"options": {
"submit_for_settlement": True
}
})
transaction = result.transaction
result = gateway.transaction.find(transaction.id)
Traceback:
Traceback (most recent call last):
File "/test.py", line 89, in <module>
result = my_gateway.transaction.sale({
File "/usr/local/lib/python3.9/site-packages/braintree/transaction_gateway.py", line 84, in sale
return self.create(params)
File "/usr/local/lib/python3.9/site-packages/braintree/transaction_gateway.py", line 31, in create
return self._post("/transactions", {"transaction": params})
File "/usr/local/lib/python3.9/site-packages/braintree/transaction_gateway.py", line 168, in _post
response = self.config.http().post(self.config.base_merchant_path() + url, params)
File "/usr/local/lib/python3.9/site-packages/braintree/configuration.py", line 113, in base_merchant_path
return "/merchants/" + self.merchant_id
TypeError: can only concatenate str (not "NoneType") to str