<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def close_report(self, ledger_id, report_id, callback_uri=None):
 u"""Close Report When you PUT to a report, it will start the process of closing it. When the closing process is complete (i.e. when report.status == 'closed') mCASH does a POST call to callback_uri, if provided. This call will contain JSON data similar to when GETing the Report. Closing a report automatically open a new one. The contents of a GET /merchant/v1/ledger/<ledger_id>/report/<report_id>/ is included in callback if callback is a secure URI, otherwise the link itself is sent in callback. Arguments: ledger_id: Id for ledger for report report_id: Report id assigned by mCASH callback_uri: Callback URI to be called when Report has finished closing. """

        arguments = {'callback_uri': callback_uri}
        return self.do_req('PUT',
                           self.merchant_api_base_url + '/ledger/' +
                           ledger_id + '/report/' +
                           report_id + '/', arguments)