def trade():
    req = {}

    req["version"] = SDKConfig().version
    req["encoding"] = SDKConfig().encoding
    req["signMethod"] = "01"

    req["txnType"] = "78"
    req["txnSubType"] = "00"
    req["bizType"] = "000301"
    req["channelType"] = "07"

    req["merId"] = "777290058110097"
    req["orderId"] = datetime.now().strftime('%Y%m%d%H%M%S')
    req["txnTime"] = datetime.now().strftime('%Y%m%d%H%M%S')
    req["accessType"] = "0"
    req["accNo"] = AcpService.encryptData("6226090000000048")
    req["encryptCertId"] = AcpService.getEncryptCertId()

    # 签名示例
    req = AcpService.sign(req)
    url = SDKConfig().backTransUrl

    # post示例
    resp = AcpService.post(req, url)

    result = "请求报文:" + map2str(req) + "<br>\n"
    result = result + "应答报文:" + map2str(resp) + "<br>\n"

    # 验签示例
    result = result + "验签成功<br>\n" if AcpService.validate(
        resp) else "验签失败<br>\n"

    if "respCode" in resp:
        # 取应答报文里的参数的示例
        result = result + "respCode=" + resp["respCode"] + "<br>\n"
        result = result + "respMsg=" + resp["respMsg"] + "<br>\n"

        # 解密示例
        if "customerInfo" in resp:
            customerInfo = AcpService.parseCustomerInfo(
                resp["customerInfo"],
                SDKConfig().signCertPath,
                SDKConfig().signCertPwd)
            if "phoneNo" in customerInfo:
                result = result + "phoneNo=" + customerInfo[
                    "phoneNo"] + "<br>\n"

    return result
Beispiel #2
0
def getDemoHtml():
    accNo = "6226090000000048"
    customerInfo = {}
    customerInfo['phoneNo'] = '18100000000'
    customerInfo['certifTp'] = '01'
    customerInfo['certifId'] = '510265790128303'
    customerInfo['customerNm'] = '张三'
    customerInfo['cvn2'] = '248'
    customerInfo['expired'] = '1912'

    req = {}

    req["version"] = SDKConfig().version
    req["encoding"] = SDKConfig().encoding
    req["signMethod"] = SDKConfig().signMethod

    req["frontUrl"] = SDKConfig().frontUrl
    req["backUrl"] = SDKConfig().backUrl

    req["txnType"] = "79"
    req["txnSubType"] = "00"
    req["bizType"] = "000301"
    req["channelType"] = "07"

    req["merId"] = "777290058110097"
    req["orderId"] = datetime.now().strftime('%Y%m%d%H%M%S')
    req["txnTime"] = datetime.now().strftime('%Y%m%d%H%M%S')
    req["accessType"] = "0"

    # accNo、customerInfo组装示例
    req["accNo"] = AcpService.encryptData(accNo)
    req["customerInfo"] = AcpService.getCustomerInfoWithEncrypt(customerInfo)
    req["encryptCertId"] = AcpService.getEncryptCertId()

    # 签名示例
    req = AcpService.sign(req)
    url = SDKConfig().frontTransUrl

    # 前台自提交表单示例
    resp = AcpService.createAutoFormHtml(req, url)

    return resp