I am facing error while making transfer refund process though i am getting a successful refund on server console terminal
DATA[OUT -> https://api.sandbox.mangopay.com/v2.01/mysquare/transfers/20981790/refunds][4.527 seconds]
- status_code: 200
- headers: {'pragma': 'no-cache', 'cache-control': 'no-cache', 'date': 'Wed, 15 Feb 2017 08:15:09 GMT', 'content-type': 'application/json; charset=utf-8', 'content-length': '562', 'x-ratelimit-reset': '1487147400, 1487148300, 1487150100, 1487232840', 'x-ratelimit-remaining': '2251, 4450, 8742, 105534', 'x-ratelimit': '49, 50, 58, 66', 'expires': '-1', 'server': 'Leetchi'}
- content: {"Id":"20981813","Tag":null,"CreationDate":1487146508,"AuthorId":"20440919","CreditedUserId":null,"DebitedFunds":{"Currency":"GBP","Amount":100},"CreditedFunds":{"Currency":"GBP","Amount":100},"Fees":{"Currency":"GBP","Amount":0},"Status":"SUCCEEDED","ResultCode":"000000","ResultMessage":"Success","ExecutionDate":1487146509,"Type":"TRANSFER","Nature":"REFUND","InitialTransactionId":"20981790","InitialTransactionType":"TRANSFER","DebitedWalletId":"19646537","CreditedWalletId":"20440920","RefundReason":{"RefundReasonMessage":null,"RefundReasonType":"OTHER"}}
Following is the Error Stack i am getting:
Traceback (most recent call last):
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 1536, in call
rv = self.handle_exception(request, response, e)
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 1530, in call
rv = self.router.dispatch(request, response)
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 1102, in call
return handler.dispatch()
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "/home/test/RatedApp/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "/home/test/RatedApp/mysquare/server/mysquare/lib/auth.py", line 86, in wrapper
return func(self, *args, **kwargs)
File "/home/test/RatedApp/mysquare/server/mysquare/lib/auth.py", line 130, in wrapper
return func(self, *args, **kwargs)
File "/home/test/RatedApp/mysquare/server/mysquare_admin/handlers/admin.py", line 2090, in handle
transfer_refund.save()
File "/home/test/RatedApp/mysquare/server/mysquare/../lib/mangopay/base.py", line 204, in save
result = insert.execute(handler)
File "/home/test/RatedApp/mysquare/server/mysquare/../lib/mangopay/query.py", line 130, in execute
return dict(self.parse_result(data))
File "/home/test/RatedApp/mysquare/server/mysquare/../lib/mangopay/query.py", line 27, in parse_result
pairs[field_name] = field.python_value(result[api_name])
File "/home/test/RatedApp/mysquare/server/mysquare/../lib/mangopay/fields.py", line 298, in python_value
return Reason(type=value['RefusedReasonType'], message=value['RefusedReasonMessage'])
KeyError: 'RefusedReasonType'
the process i am following to get refund done is as follows:
user_author = User.get(user.mangopay_id)
transfer = Transfer.get(order.transaction_mangopay)
params = {
"author": user_author,
"transfer": transfer
}
transfer_refund = TransferRefund(**params)
transfer_refund.save()