def post(self): # if FeedbackHandler.last_send == 0: # FeedbackHandler.last_send = time.time() # elif (time.time() - FeedbackHandler.last_send) < 10: # rsec = int(10 - (time.time() - FeedbackHandler.last_send)) # return self.render_json(code=0,msg=u"发送间隔为10秒,请再等待 %s 秒"% rsec) topic = self.get_argument("topic","") email = self.get_argument("email","") if not topic or len(topic.strip()) == 0: self.render_json(code=0,msg=u"描述不能为空") return if len(topic.strip()) > 90: self.render_json(code=0,msg=u"描述不能大于90个字符") return service_url = '%s/service/feedback'%self.settings.config.system.service_url param_data = dict( topic=utils.safestr(topic), email=email, uuid=get_uuid(), license=self.settings.config.system.license, content=utils.safestr(self.warp_content()) ) resp = yield httpclient.post(service_url.encode('utf-8'), data=param_data) content = yield resp.content() self.write(content)
def request(apiurl, data=None, **kwargs): headers = {"Content-Type": ["application/json"]} return httpclient.post(apiurl, data=data, **kwargs)
def notify_verify(self, request): params = {} params['is_success'] = request.get_argument('is_success', '') params['partnerId'] = request.get_argument('partnerId', '') params['notify_id'] = request.get_argument('notify_id', '') params['notify_type'] = request.get_argument('notify_type', '') params['notify_time'] = request.get_argument('notify_time', '') params['sign'] = request.get_argument('sign', '') params['sign_type'] = request.get_argument('sign_type', '') params['trade_no'] = request.get_argument('trade_no', '') params['subject'] = request.get_argument('subject', '') params['price'] = request.get_argument('price', '') params['quantity'] = request.get_argument('quantity', '') params['seller_email'] = request.get_argument('seller_email', '') params['seller_id'] = request.get_argument('seller_id', '') params['buyer_email'] = request.get_argument('buyer_email', '') params['buyer_id'] = request.get_argument('buyer_id', '') params['discount'] = request.get_argument('discount', '') params['total_fee'] = request.get_argument('total_fee', '') params['trade_status'] = request.get_argument('trade_status', '') params['is_total_fee_adjust'] = request.get_argument('is_total_fee_adjust', '') params['use_coupon'] = request.get_argument('use_coupon', '') params['body'] = request.get_argument('body', '') params['exterface'] = request.get_argument('exterface', '') params['out_trade_no'] = request.get_argument('out_trade_no', '') params['payment_type'] = request.get_argument('payment_type', '') params['logistics_type'] = request.get_argument('logistics_type', '') params['logistics_fee'] = request.get_argument('logistics_fee', '') params['logistics_payment'] = request.get_argument('logistics_payment', '') params['gmt_logistics_modify'] = request.get_argument('gmt_logistics_modify', '') params['buyer_actions'] = request.get_argument('buyer_actions', '') params['seller_actions'] = request.get_argument('seller_actions', '') params['gmt_create'] = request.get_argument('gmt_create', '') params['gmt_payment'] = request.get_argument('gmt_payment', '') params['refund_status'] = request.get_argument('refund_status', '') params['gmt_refund'] = request.get_argument('gmt_refund', '') params['receive_name'] = request.get_argument('receive_name', '') params['receive_address'] = request.get_argument('receive_address', '') params['receive_zip'] = request.get_argument('receive_zip', '') params['receive_phone'] = request.get_argument('receive_phone', '') params['receive_mobile'] = request.get_argument('receive_mobile', '') if not self.check_sign(request.get_argument('sign', '')): defer.returnValue(False) # 二级验证--查询支付宝服务器此条信息是否有效 params = {} params['partner'] = self.settings.ALIPAY_PARTNER params['notify_id'] = request.get_argument('notify_id', '') if self.settings.ALIPAY_TRANSPORT == 'https': params['service'] = 'notify_verify' gateway = 'https://mapi.alipay.com/gateway.do' else: gateway = 'http://notify.alipay.com/trade/notify_query.do' resp = yield requests.post(gateway,data=urlencode(params)) veryfy_result = yield resp.content() defer.returnValue(veryfy_result.lower().strip() == 'true')