def _getPaymentActionResponse(self, id, action, value, track_id, **kwargs): self._log_info('{} - {} - {}'.format(action.capitalize(), id, track_id if track_id else '<no track id>')) Utils.validate_id(id) request = { 'trackId': track_id } if value is not None: Utils.validate_transaction(value=value) request['value'] = value # add remaining properties request.update(kwargs) return self._send_http_request( 'charges/{}/{}'.format(id, action), HttpMethod.POST, request)
def test_validate_id_with_wrong_id_type(self): with self.assertRaises(TypeError): Utils.validate_id(self.INVALID_ID)
def test_validate_id_with_missing_id(self): with self.assertRaises(ValueError): Utils.validate_id(None)
def test_validate_id(self): try: Utils.validate_id(self.VALID_ID) except Exception: self.fail( 'Utils.validate_payment_id raised an exception unexpectedly.')
def history(self, id): self._log_info('Getting charge history for {}'.format(id)) Utils.validate_id(id) return PaymentHistory(self._send_http_request('charges/{}/history'.format(id), HttpMethod.GET))
def get(self, id): self._log_info('Get {}'.format(id)) Utils.validate_id(id) return PaymentProcessed(self._send_http_request('charges/{}'.format(id), HttpMethod.GET))