Beispiel #1
0
    def _pay_request(cls, chargeInfo, mi, mo, bankIndex):

        rparam = cls._get_pay_requset_params(chargeInfo, mi, mo, bankIndex)
        if not rparam:
            return PayConst.CHARGE_STATE_REQUEST_RETRY

        purl = cls.pay_request_url + PayHelper.createLinkString4Get(rparam)

        TyContext.ftlog.info(cls.__name__, '_pay_request->return bankIndex=',
                             bankIndex, 'purl=', purl)
        response, purl = TyContext.WebPage.webget(purl)
        TyContext.ftlog.info(cls.__name__, '_pay_request->return bankIndex=',
                             bankIndex, 'purl=', purl, 'response=', response)

        if response == None:
            response = ''
        else:
            response = response.strip()

        mo.setResult('payData', '')
        if response[0:7] == 'success':
            return PayConst.CHARGE_STATE_REQUEST
        elif response[0] == '{':
            try:
                jsondatas = json.loads(response)
                if jsondatas['code'] == 'success':
                    mo.setResult('payData', jsondatas['paydata'])
                else:
                    if 'info' in jsondatas:
                        errInfo = jsondatas['info']
                        mo.setResult('info', jsondatas['info'])
                    else:
                        errInfo = '360充值请求错误'
                    mo.setError(1, errInfo)
                return PayConst.CHARGE_STATE_REQUEST
            except:
                pass

        i = response.find('<h2>[')
        if i > 0:
            j = response.find('</h2>', i)
            errInfo = response[i + 4:j]
            errInfo = errInfo.decode('gb2312')
            mo.setError(1, errInfo)
            return PayConst.CHARGE_STATE_REQUEST_IGNORE
        else:
            try:
                errInfo = response.decode('gb2312')
            except:
                errInfo = response
            if errInfo.find('failed:') == 0:
                errInfo = errInfo[7:]
            mo.setError(1, errInfo)
            return PayConst.CHARGE_STATE_ERROR_REQUEST
Beispiel #2
0
    def __pay_card_request__(cls, chargeInfo, mi, mo, cardType):
        rparam = cls.__get_card_request_params__(chargeInfo, mi, mo, cardType)
        if not rparam:
            return PayConst.CHARGE_STATE_REQUEST_RETRY

        cardUrl = cls.szf_url + '?' + PayHelper.createLinkString4Get(rparam)
        TyContext.ftlog.info('TuYouPaySzf->requestUrl=', cardUrl)
        response, cardUrl = TyContext.WebPage.webget(cardUrl, {})
        TyContext.ftlog.info('TuYouPaySzf->requestUrl=', cardUrl, 'response=', response)
        status = 0
        try:
            status = int(response)
        except:
            status = 0
        if status != 200:
            if status in cls.szf_request_code:
                errInfo = cls.szf_request_code[status]
            else:
                errInfo = '充值卡支付失败'
            errInfo = errInfo.decode('utf-8')
            mo.setError(1, errInfo)
            return PayConst.CHARGE_STATE_REQUEST_IGNORE
        else:
            return PayConst.CHARGE_STATE_REQUEST