发送现金红包

        :param user_id: 接收红包的用户在公众号下的 openid
        :param total_amount: 红包金额，单位分
        :param send_name: 商户名称
        :param act_name: 活动名称
        :param wishing: 红包祝福语
        :param remark: 备注
        :param client_ip: 可选，调用接口的机器 IP 地址
        :param total_num: 可选，红包发放总人数，默认为 1
        :param out_trade_no: 可选，商户订单号，默认会自动生成
        :param scene_id: 可选，发放红包使用场景，红包金额大于200时必传
        :param consume_mch_id: 可选，资金授权商户号。服务商替特约商户发放时使用
        :return: 返回的结果数据字典

def send(self, user_id, total_amount, send_name, act_name,
             wishing, remark, total_num=1, client_ip=None,
             out_trade_no=None, scene_id=None, consume_mch_id=None):
        """
        发送现金红包

        :param user_id: 接收红包的用户在公众号下的 openid
        :param total_amount: 红包金额，单位分
        :param send_name: 商户名称
        :param act_name: 活动名称
        :param wishing: 红包祝福语
        :param remark: 备注
        :param client_ip: 可选，调用接口的机器 IP 地址
        :param total_num: 可选，红包发放总人数，默认为 1
        :param out_trade_no: 可选，商户订单号，默认会自动生成
        :param scene_id: 可选，发放红包使用场景，红包金额大于200时必传
        :param consume_mch_id: 可选，资金授权商户号。服务商替特约商户发放时使用
        :return: 返回的结果数据字典
        """
        if not out_trade_no:
            now = datetime.now()
            out_trade_no = '{0}{1}{2}'.format(
                self.mch_id,
                now.strftime('%Y%m%d%H%M%S'),
                random.randint(1000, 10000)
            )
        data = {
            'wxappid': self.appid,
            're_openid': user_id,
            'total_amount': total_amount,
            'send_name': send_name,
            'act_name': act_name,
            'wishing': wishing,
            'remark': remark,
            'client_ip': client_ip or get_external_ip(),
            'total_num': total_num,
            'mch_billno': out_trade_no,
            'scene_id': scene_id,
            'risk_info': None,
            'consume_mch_id': consume_mch_id
        }
        return self._post('mmpaymkttransfers/sendredpack', data=data)