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.

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)