"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NotifyPayCodeRefundResultRequest = exports.NotifyPayCodeRefundResultHeaders = exports.NotifyPayCodePayResultResponse = exports.NotifyPayCodePayResultResponseBody = exports.NotifyPayCodePayResultRequest = exports.NotifyPayCodePayResultHeaders = exports.ModifySubInstitutionResponse = exports.ModifySubInstitutionResponseBody = exports.ModifySubInstitutionRequest = exports.ModifySubInstitutionHeaders = exports.FinanceLoanNotifyRegisterResponse = exports.FinanceLoanNotifyRegisterResponseBody = exports.FinanceLoanNotifyRegisterRequest = exports.FinanceLoanNotifyRegisterHeaders = exports.DecodePayCodeResponse = exports.DecodePayCodeResponseBody = exports.DecodePayCodeRequest = exports.DecodePayCodeHeaders = exports.CreateUserCodeInstanceResponse = exports.CreateUserCodeInstanceResponseBody = exports.CreateUserCodeInstanceRequest = exports.CreateUserCodeInstanceHeaders = exports.CreateSubInstitutionResponse = exports.CreateSubInstitutionResponseBody = exports.CreateSubInstitutionRequest = exports.CreateSubInstitutionHeaders = exports.CreateBatchTradeOrderResponse = exports.CreateBatchTradeOrderResponseBody = exports.CreateBatchTradeOrderRequest = exports.CreateBatchTradeOrderHeaders = exports.CreateAcquireRefundOrderResponse = exports.CreateAcquireRefundOrderResponseBody = exports.CreateAcquireRefundOrderRequest = exports.CreateAcquireRefundOrderHeaders = exports.CreatWithholdingOrderAndPayResponse = exports.CreatWithholdingOrderAndPayResponseBody = exports.CreatWithholdingOrderAndPayRequest = exports.CreatWithholdingOrderAndPayHeaders = exports.ConsultCreateSubInstitutionResponse = exports.ConsultCreateSubInstitutionResponseBody = exports.ConsultCreateSubInstitutionRequest = exports.ConsultCreateSubInstitutionHeaders = exports.CloseLoanEntranceResponse = exports.CloseLoanEntranceResponseBody = exports.CloseLoanEntranceRequest = exports.CloseLoanEntranceHeaders = exports.ApplyBatchPayResponse = exports.ApplyBatchPayResponseBody = exports.ApplyBatchPayRequest = exports.ApplyBatchPayHeaders = void 0;
exports.UpateUserCodeInstanceResponseBody = exports.UpateUserCodeInstanceRequest = exports.UpateUserCodeInstanceHeaders = exports.UnsignUserAgreementResponse = exports.UnsignUserAgreementRequest = exports.UnsignUserAgreementHeaders = exports.SaveCorpPayCodeResponse = exports.SaveCorpPayCodeResponseBody = exports.SaveCorpPayCodeRequest = exports.SaveCorpPayCodeHeaders = exports.QueryWithholdingOrderResponse = exports.QueryWithholdingOrderResponseBody = exports.QueryWithholdingOrderRequest = exports.QueryWithholdingOrderHeaders = exports.QueryUserAlipayAccountResponse = exports.QueryUserAlipayAccountResponseBody = exports.QueryUserAlipayAccountHeaders = exports.QueryUserAgreementResponse = exports.QueryUserAgreementResponseBody = exports.QueryUserAgreementRequest = exports.QueryUserAgreementHeaders = exports.QueryRegisterOrderResponse = exports.QueryRegisterOrderResponseBody = exports.QueryRegisterOrderRequest = exports.QueryRegisterOrderHeaders = exports.QueryPayAccountListResponse = exports.QueryPayAccountListResponseBody = exports.QueryPayAccountListHeaders = exports.QueryBatchTradeOrderResponse = exports.QueryBatchTradeOrderResponseBody = exports.QueryBatchTradeOrderRequest = exports.QueryBatchTradeOrderHeaders = exports.QueryBatchTradeDetailListResponse = exports.QueryBatchTradeDetailListResponseBody = exports.QueryBatchTradeDetailListRequest = exports.QueryBatchTradeDetailListHeaders = exports.QueryAcquireRefundOrderResponse = exports.QueryAcquireRefundOrderResponseBody = exports.QueryAcquireRefundOrderRequest = exports.QueryAcquireRefundOrderHeaders = exports.PreCreateGroupBillOrderResponse = exports.PreCreateGroupBillOrderResponseBody = exports.PreCreateGroupBillOrderRequest = exports.PreCreateGroupBillOrderHeaders = exports.NotifyVerifyResultResponse = exports.NotifyVerifyResultResponseBody = exports.NotifyVerifyResultRequest = exports.NotifyVerifyResultHeaders = exports.NotifyPayCodeRefundResultResponse = exports.NotifyPayCodeRefundResultResponseBody = void 0;
exports.CreateSubInstitutionRequestSubInstInvoiceInfoMailAddress = exports.CreateSubInstitutionRequestSubInstCertifyInfo = exports.CreateSubInstitutionRequestSubInstBasicInfo = exports.CreateSubInstitutionRequestSubInstAuthInfo = exports.CreateSubInstitutionRequestSubInstAddressInfo = exports.CreateSubInstitutionRequestSettleInfo = exports.CreateSubInstitutionRequestQualificationInfos = exports.CreateSubInstitutionRequestLegalPersonCertInfo = exports.CreateSubInstitutionRequestContactInfo = exports.CreateBatchTradeOrderRequestBatchTradeDetails = exports.CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoList = exports.CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoListFundToolDetailInfoList = exports.CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoList = exports.CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoListFundToolDetailInfoList = exports.ConsultCreateSubInstitutionRequestSubInstShopInfo = exports.ConsultCreateSubInstitutionRequestSubInstInvoiceInfo = exports.ConsultCreateSubInstitutionRequestSubInstInvoiceInfoMailAddress = exports.ConsultCreateSubInstitutionRequestSubInstCertifyInfo = exports.ConsultCreateSubInstitutionRequestSubInstBasicInfo = exports.ConsultCreateSubInstitutionRequestSubInstAuthInfo = exports.ConsultCreateSubInstitutionRequestSubInstAddressInfo = exports.ConsultCreateSubInstitutionRequestSettleInfo = exports.ConsultCreateSubInstitutionRequestQualificationInfos = exports.ConsultCreateSubInstitutionRequestLegalPersonCertInfo = exports.ConsultCreateSubInstitutionRequestContactInfo = exports.UserAgreementPageSignResponse = exports.UserAgreementPageSignResponseBody = exports.UserAgreementPageSignRequest = exports.UserAgreementPageSignHeaders = exports.UploadRegisterImageResponse = exports.UploadRegisterImageResponseBody = exports.UploadRegisterImageRequest = exports.UploadRegisterImageHeaders = exports.UploadInvoiceByMobileResponse = exports.UploadInvoiceByMobileResponseBody = exports.UploadInvoiceByMobileRequest = exports.UploadInvoiceByMobileHeaders = exports.UploadInvoiceByAuthResponse = exports.UploadInvoiceByAuthResponseBody = exports.UploadInvoiceByAuthRequest = exports.UploadInvoiceByAuthHeaders = exports.UploadInvoiceResponse = exports.UploadInvoiceResponseBody = exports.UploadInvoiceRequest = exports.UploadInvoiceHeaders = exports.UpdateInvoiceVerifyStatusResponse = exports.UpdateInvoiceVerifyStatusResponseBody = exports.UpdateInvoiceVerifyStatusRequest = exports.UpdateInvoiceVerifyStatusHeaders = exports.UpateUserCodeInstanceResponse = void 0;
exports.UploadInvoiceByMobileResponseBodyResult = exports.UploadInvoiceByMobileResponseBodyResultResults = exports.UploadInvoiceByMobileRequestInvoices = exports.UploadInvoiceByAuthResponseBodyResult = exports.UploadInvoiceByAuthResponseBodyResultResults = exports.UploadInvoiceByAuthRequestInvoices = exports.UploadInvoiceByAuthRequestExtension = exports.UploadInvoiceResponseBodyResult = exports.UploadInvoiceResponseBodyResultResults = exports.UploadInvoiceRequestUserIdentity = exports.UploadInvoiceRequestInvoices = exports.UploadInvoiceRequestExtension = exports.UpateUserCodeInstanceRequestAvailableTimes = exports.QueryPayAccountListResponseBodyPayAccountVOList = exports.QueryBatchTradeOrderResponseBodyBatchTradeOrderVOs = exports.QueryBatchTradeDetailListResponseBodyBatchTradeDetailList = exports.PreCreateGroupBillOrderResponseBodyResult = exports.PreCreateGroupBillOrderRequestBillItemList = exports.NotifyPayCodeRefundResultRequestPayChannelDetailList = exports.NotifyPayCodeRefundResultRequestPayChannelDetailListFundToolDetailList = exports.NotifyPayCodePayResultRequestPayChannelDetailList = exports.NotifyPayCodePayResultRequestPayChannelDetailListFundToolDetailList = exports.ModifySubInstitutionRequestSubInstShopInfo = exports.ModifySubInstitutionRequestSubInstInvoiceInfo = exports.ModifySubInstitutionRequestSubInstInvoiceInfoMailAddress = exports.ModifySubInstitutionRequestSubInstCertifyInfo = exports.ModifySubInstitutionRequestSubInstBasicInfo = exports.ModifySubInstitutionRequestSubInstAuthInfo = exports.ModifySubInstitutionRequestSubInstAddressInfo = exports.ModifySubInstitutionRequestSettleInfo = exports.ModifySubInstitutionRequestQualificationInfos = exports.ModifySubInstitutionRequestLegalPersonCertInfo = exports.ModifySubInstitutionRequestContactInfo = exports.CreateUserCodeInstanceRequestAvailableTimes = exports.CreateSubInstitutionRequestSubInstShopInfo = exports.CreateSubInstitutionRequestSubInstInvoiceInfo = void 0;
// This file is auto-generated, don't edit it
/**
 */
const tea_util_1 = __importStar(require("@alicloud/tea-util")), $Util = tea_util_1;
const gateway_dingtalk_1 = __importDefault(require("@alicloud/gateway-dingtalk"));
const openapi_client_1 = __importStar(require("@alicloud/openapi-client")), $OpenApi = openapi_client_1;
const openapi_util_1 = __importDefault(require("@alicloud/openapi-util"));
const $tea = __importStar(require("@alicloud/tea-typescript"));
class ApplyBatchPayHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ApplyBatchPayHeaders = ApplyBatchPayHeaders;
class ApplyBatchPayRequest extends $tea.Model {
    static names() {
        return {
            accountId: 'accountId',
            orderNo: 'orderNo',
            passBackParams: 'passBackParams',
            payTerminal: 'payTerminal',
            returnUrl: 'returnUrl',
            staffId: 'staffId',
            transAmount: 'transAmount',
            transExpireTime: 'transExpireTime',
        };
    }
    static types() {
        return {
            accountId: 'string',
            orderNo: 'string',
            passBackParams: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            payTerminal: 'string',
            returnUrl: 'string',
            staffId: 'string',
            transAmount: 'string',
            transExpireTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ApplyBatchPayRequest = ApplyBatchPayRequest;
class ApplyBatchPayResponseBody extends $tea.Model {
    static names() {
        return {
            orderNo: 'orderNo',
            payData: 'payData',
        };
    }
    static types() {
        return {
            orderNo: 'string',
            payData: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ApplyBatchPayResponseBody = ApplyBatchPayResponseBody;
class ApplyBatchPayResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: ApplyBatchPayResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ApplyBatchPayResponse = ApplyBatchPayResponse;
class CloseLoanEntranceHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CloseLoanEntranceHeaders = CloseLoanEntranceHeaders;
class CloseLoanEntranceRequest extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
        };
    }
    static types() {
        return {
            requestId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CloseLoanEntranceRequest = CloseLoanEntranceRequest;
class CloseLoanEntranceResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CloseLoanEntranceResponseBody = CloseLoanEntranceResponseBody;
class CloseLoanEntranceResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: CloseLoanEntranceResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CloseLoanEntranceResponse = CloseLoanEntranceResponse;
class ConsultCreateSubInstitutionHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionHeaders = ConsultCreateSubInstitutionHeaders;
class ConsultCreateSubInstitutionRequest extends $tea.Model {
    static names() {
        return {
            bindingAlipayLogonId: 'bindingAlipayLogonId',
            contactInfo: 'contactInfo',
            instId: 'instId',
            legalPersonCertInfo: 'legalPersonCertInfo',
            outTradeNo: 'outTradeNo',
            payChannel: 'payChannel',
            qualificationInfos: 'qualificationInfos',
            services: 'services',
            settleInfo: 'settleInfo',
            solution: 'solution',
            subInstAddressInfo: 'subInstAddressInfo',
            subInstAuthInfo: 'subInstAuthInfo',
            subInstBasicInfo: 'subInstBasicInfo',
            subInstCertifyInfo: 'subInstCertifyInfo',
            subInstId: 'subInstId',
            subInstInvoiceInfo: 'subInstInvoiceInfo',
            subInstShopInfo: 'subInstShopInfo',
        };
    }
    static types() {
        return {
            bindingAlipayLogonId: 'string',
            contactInfo: ConsultCreateSubInstitutionRequestContactInfo,
            instId: 'string',
            legalPersonCertInfo: ConsultCreateSubInstitutionRequestLegalPersonCertInfo,
            outTradeNo: 'string',
            payChannel: 'string',
            qualificationInfos: { 'type': 'array', 'itemType': ConsultCreateSubInstitutionRequestQualificationInfos },
            services: { 'type': 'array', 'itemType': 'string' },
            settleInfo: ConsultCreateSubInstitutionRequestSettleInfo,
            solution: 'string',
            subInstAddressInfo: ConsultCreateSubInstitutionRequestSubInstAddressInfo,
            subInstAuthInfo: ConsultCreateSubInstitutionRequestSubInstAuthInfo,
            subInstBasicInfo: ConsultCreateSubInstitutionRequestSubInstBasicInfo,
            subInstCertifyInfo: ConsultCreateSubInstitutionRequestSubInstCertifyInfo,
            subInstId: 'string',
            subInstInvoiceInfo: ConsultCreateSubInstitutionRequestSubInstInvoiceInfo,
            subInstShopInfo: ConsultCreateSubInstitutionRequestSubInstShopInfo,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequest = ConsultCreateSubInstitutionRequest;
class ConsultCreateSubInstitutionResponseBody extends $tea.Model {
    static names() {
        return {
            orderId: 'orderId',
        };
    }
    static types() {
        return {
            orderId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionResponseBody = ConsultCreateSubInstitutionResponseBody;
class ConsultCreateSubInstitutionResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: ConsultCreateSubInstitutionResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionResponse = ConsultCreateSubInstitutionResponse;
class CreatWithholdingOrderAndPayHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreatWithholdingOrderAndPayHeaders = CreatWithholdingOrderAndPayHeaders;
class CreatWithholdingOrderAndPayRequest extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            instId: 'instId',
            otherPayChannelDetailInfoList: 'otherPayChannelDetailInfoList',
            outTradeNo: 'outTradeNo',
            payChannel: 'payChannel',
            payerUserId: 'payerUserId',
            remark: 'remark',
            subInstId: 'subInstId',
            timeOutExpress: 'timeOutExpress',
            title: 'title',
        };
    }
    static types() {
        return {
            amount: 'string',
            instId: 'string',
            otherPayChannelDetailInfoList: { 'type': 'array', 'itemType': CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoList },
            outTradeNo: 'string',
            payChannel: 'string',
            payerUserId: 'string',
            remark: 'string',
            subInstId: 'string',
            timeOutExpress: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreatWithholdingOrderAndPayRequest = CreatWithholdingOrderAndPayRequest;
class CreatWithholdingOrderAndPayResponseBody extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            gmtPay: 'gmtPay',
            instId: 'instId',
            orderNo: 'orderNo',
            outTradeNo: 'outTradeNo',
            payChannel: 'payChannel',
            payChannelAccountNo: 'payChannelAccountNo',
            payerStaffId: 'payerStaffId',
            remark: 'remark',
            status: 'status',
            subInstId: 'subInstId',
            title: 'title',
        };
    }
    static types() {
        return {
            amount: 'string',
            gmtPay: 'string',
            instId: 'string',
            orderNo: 'string',
            outTradeNo: 'string',
            payChannel: 'string',
            payChannelAccountNo: 'string',
            payerStaffId: 'string',
            remark: 'string',
            status: 'string',
            subInstId: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreatWithholdingOrderAndPayResponseBody = CreatWithholdingOrderAndPayResponseBody;
class CreatWithholdingOrderAndPayResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: CreatWithholdingOrderAndPayResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreatWithholdingOrderAndPayResponse = CreatWithholdingOrderAndPayResponse;
class CreateAcquireRefundOrderHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateAcquireRefundOrderHeaders = CreateAcquireRefundOrderHeaders;
class CreateAcquireRefundOrderRequest extends $tea.Model {
    static names() {
        return {
            instId: 'instId',
            operatorUserId: 'operatorUserId',
            originOutTradeNo: 'originOutTradeNo',
            otherPayChannelDetailInfoList: 'otherPayChannelDetailInfoList',
            outRefundNo: 'outRefundNo',
            refundAmount: 'refundAmount',
            remark: 'remark',
            subInstId: 'subInstId',
            title: 'title',
        };
    }
    static types() {
        return {
            instId: 'string',
            operatorUserId: 'string',
            originOutTradeNo: 'string',
            otherPayChannelDetailInfoList: { 'type': 'array', 'itemType': CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoList },
            outRefundNo: 'string',
            refundAmount: 'string',
            remark: 'string',
            subInstId: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateAcquireRefundOrderRequest = CreateAcquireRefundOrderRequest;
class CreateAcquireRefundOrderResponseBody extends $tea.Model {
    static names() {
        return {
            outRefundNo: 'outRefundNo',
            refundOrderNo: 'refundOrderNo',
            status: 'status',
        };
    }
    static types() {
        return {
            outRefundNo: 'string',
            refundOrderNo: 'string',
            status: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateAcquireRefundOrderResponseBody = CreateAcquireRefundOrderResponseBody;
class CreateAcquireRefundOrderResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: CreateAcquireRefundOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateAcquireRefundOrderResponse = CreateAcquireRefundOrderResponse;
class CreateBatchTradeOrderHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateBatchTradeOrderHeaders = CreateBatchTradeOrderHeaders;
class CreateBatchTradeOrderRequest extends $tea.Model {
    static names() {
        return {
            accountId: 'accountId',
            accountNo: 'accountNo',
            batchRemark: 'batchRemark',
            batchTradeDetails: 'batchTradeDetails',
            outBatchNo: 'outBatchNo',
            staffId: 'staffId',
            totalAmount: 'totalAmount',
            totalCount: 'totalCount',
            tradeTitle: 'tradeTitle',
        };
    }
    static types() {
        return {
            accountId: 'string',
            accountNo: 'string',
            batchRemark: 'string',
            batchTradeDetails: { 'type': 'array', 'itemType': CreateBatchTradeOrderRequestBatchTradeDetails },
            outBatchNo: 'string',
            staffId: 'string',
            totalAmount: 'string',
            totalCount: 'number',
            tradeTitle: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateBatchTradeOrderRequest = CreateBatchTradeOrderRequest;
class CreateBatchTradeOrderResponseBody extends $tea.Model {
    static names() {
        return {
            orderNo: 'orderNo',
            orderStatus: 'orderStatus',
            outBatchNo: 'outBatchNo',
        };
    }
    static types() {
        return {
            orderNo: 'string',
            orderStatus: 'string',
            outBatchNo: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateBatchTradeOrderResponseBody = CreateBatchTradeOrderResponseBody;
class CreateBatchTradeOrderResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: CreateBatchTradeOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateBatchTradeOrderResponse = CreateBatchTradeOrderResponse;
class CreateSubInstitutionHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionHeaders = CreateSubInstitutionHeaders;
class CreateSubInstitutionRequest extends $tea.Model {
    static names() {
        return {
            bindingAlipayLogonId: 'bindingAlipayLogonId',
            contactInfo: 'contactInfo',
            instId: 'instId',
            legalPersonCertInfo: 'legalPersonCertInfo',
            outTradeNo: 'outTradeNo',
            payChannel: 'payChannel',
            qualificationInfos: 'qualificationInfos',
            services: 'services',
            settleInfo: 'settleInfo',
            solution: 'solution',
            subInstAddressInfo: 'subInstAddressInfo',
            subInstAuthInfo: 'subInstAuthInfo',
            subInstBasicInfo: 'subInstBasicInfo',
            subInstCertifyInfo: 'subInstCertifyInfo',
            subInstId: 'subInstId',
            subInstInvoiceInfo: 'subInstInvoiceInfo',
            subInstShopInfo: 'subInstShopInfo',
        };
    }
    static types() {
        return {
            bindingAlipayLogonId: 'string',
            contactInfo: CreateSubInstitutionRequestContactInfo,
            instId: 'string',
            legalPersonCertInfo: CreateSubInstitutionRequestLegalPersonCertInfo,
            outTradeNo: 'string',
            payChannel: 'string',
            qualificationInfos: { 'type': 'array', 'itemType': CreateSubInstitutionRequestQualificationInfos },
            services: { 'type': 'array', 'itemType': 'string' },
            settleInfo: CreateSubInstitutionRequestSettleInfo,
            solution: 'string',
            subInstAddressInfo: CreateSubInstitutionRequestSubInstAddressInfo,
            subInstAuthInfo: CreateSubInstitutionRequestSubInstAuthInfo,
            subInstBasicInfo: CreateSubInstitutionRequestSubInstBasicInfo,
            subInstCertifyInfo: CreateSubInstitutionRequestSubInstCertifyInfo,
            subInstId: 'string',
            subInstInvoiceInfo: CreateSubInstitutionRequestSubInstInvoiceInfo,
            subInstShopInfo: CreateSubInstitutionRequestSubInstShopInfo,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequest = CreateSubInstitutionRequest;
class CreateSubInstitutionResponseBody extends $tea.Model {
    static names() {
        return {
            orderId: 'orderId',
        };
    }
    static types() {
        return {
            orderId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionResponseBody = CreateSubInstitutionResponseBody;
class CreateSubInstitutionResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: CreateSubInstitutionResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionResponse = CreateSubInstitutionResponse;
class CreateUserCodeInstanceHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateUserCodeInstanceHeaders = CreateUserCodeInstanceHeaders;
class CreateUserCodeInstanceRequest extends $tea.Model {
    static names() {
        return {
            availableTimes: 'availableTimes',
            codeIdentity: 'codeIdentity',
            codeValue: 'codeValue',
            codeValueType: 'codeValueType',
            corpId: 'corpId',
            extInfo: 'extInfo',
            gmtExpired: 'gmtExpired',
            requestId: 'requestId',
            status: 'status',
            userCorpRelationType: 'userCorpRelationType',
            userIdentity: 'userIdentity',
        };
    }
    static types() {
        return {
            availableTimes: { 'type': 'array', 'itemType': CreateUserCodeInstanceRequestAvailableTimes },
            codeIdentity: 'string',
            codeValue: 'string',
            codeValueType: 'string',
            corpId: 'string',
            extInfo: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            gmtExpired: 'string',
            requestId: 'string',
            status: 'string',
            userCorpRelationType: 'string',
            userIdentity: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateUserCodeInstanceRequest = CreateUserCodeInstanceRequest;
class CreateUserCodeInstanceResponseBody extends $tea.Model {
    static names() {
        return {
            codeDetailUrl: 'codeDetailUrl',
            codeId: 'codeId',
        };
    }
    static types() {
        return {
            codeDetailUrl: 'string',
            codeId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateUserCodeInstanceResponseBody = CreateUserCodeInstanceResponseBody;
class CreateUserCodeInstanceResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: CreateUserCodeInstanceResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateUserCodeInstanceResponse = CreateUserCodeInstanceResponse;
class DecodePayCodeHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DecodePayCodeHeaders = DecodePayCodeHeaders;
class DecodePayCodeRequest extends $tea.Model {
    static names() {
        return {
            payCode: 'payCode',
            requestId: 'requestId',
        };
    }
    static types() {
        return {
            payCode: 'string',
            requestId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DecodePayCodeRequest = DecodePayCodeRequest;
class DecodePayCodeResponseBody extends $tea.Model {
    static names() {
        return {
            alipayCode: 'alipayCode',
            codeId: 'codeId',
            codeIdentity: 'codeIdentity',
            codeType: 'codeType',
            corpId: 'corpId',
            extInfo: 'extInfo',
            outBizId: 'outBizId',
            userCorpRelationType: 'userCorpRelationType',
            userId: 'userId',
            userInCorp: 'userInCorp',
        };
    }
    static types() {
        return {
            alipayCode: 'string',
            codeId: 'string',
            codeIdentity: 'string',
            codeType: 'string',
            corpId: 'string',
            extInfo: 'string',
            outBizId: 'string',
            userCorpRelationType: 'string',
            userId: 'string',
            userInCorp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DecodePayCodeResponseBody = DecodePayCodeResponseBody;
class DecodePayCodeResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: DecodePayCodeResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DecodePayCodeResponse = DecodePayCodeResponse;
class FinanceLoanNotifyRegisterHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.FinanceLoanNotifyRegisterHeaders = FinanceLoanNotifyRegisterHeaders;
class FinanceLoanNotifyRegisterRequest extends $tea.Model {
    static names() {
        return {
            completeTime: 'completeTime',
            extension: 'extension',
            idCardNo: 'idCardNo',
            openChannelName: 'openChannelName',
            openProductCode: 'openProductCode',
            openProductName: 'openProductName',
            openProductType: 'openProductType',
            processingStatus: 'processingStatus',
            refuseCode: 'refuseCode',
            refuseReason: 'refuseReason',
            registerNo: 'registerNo',
            status: 'status',
            submitTime: 'submitTime',
            userMobile: 'userMobile',
        };
    }
    static types() {
        return {
            completeTime: 'string',
            extension: 'string',
            idCardNo: 'string',
            openChannelName: 'string',
            openProductCode: 'string',
            openProductName: 'string',
            openProductType: 'string',
            processingStatus: 'string',
            refuseCode: 'string',
            refuseReason: 'string',
            registerNo: 'string',
            status: 'string',
            submitTime: 'string',
            userMobile: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.FinanceLoanNotifyRegisterRequest = FinanceLoanNotifyRegisterRequest;
class FinanceLoanNotifyRegisterResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.FinanceLoanNotifyRegisterResponseBody = FinanceLoanNotifyRegisterResponseBody;
class FinanceLoanNotifyRegisterResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: FinanceLoanNotifyRegisterResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.FinanceLoanNotifyRegisterResponse = FinanceLoanNotifyRegisterResponse;
class ModifySubInstitutionHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionHeaders = ModifySubInstitutionHeaders;
class ModifySubInstitutionRequest extends $tea.Model {
    static names() {
        return {
            bindingAlipayLogonId: 'bindingAlipayLogonId',
            contactInfo: 'contactInfo',
            instId: 'instId',
            legalPersonCertInfo: 'legalPersonCertInfo',
            outTradeNo: 'outTradeNo',
            payChannel: 'payChannel',
            qualificationInfos: 'qualificationInfos',
            services: 'services',
            settleInfo: 'settleInfo',
            subInstAddressInfo: 'subInstAddressInfo',
            subInstAuthInfo: 'subInstAuthInfo',
            subInstBasicInfo: 'subInstBasicInfo',
            subInstCertifyInfo: 'subInstCertifyInfo',
            subInstId: 'subInstId',
            subInstInvoiceInfo: 'subInstInvoiceInfo',
            subInstShopInfo: 'subInstShopInfo',
        };
    }
    static types() {
        return {
            bindingAlipayLogonId: 'string',
            contactInfo: ModifySubInstitutionRequestContactInfo,
            instId: 'string',
            legalPersonCertInfo: ModifySubInstitutionRequestLegalPersonCertInfo,
            outTradeNo: 'string',
            payChannel: 'string',
            qualificationInfos: { 'type': 'array', 'itemType': ModifySubInstitutionRequestQualificationInfos },
            services: { 'type': 'array', 'itemType': 'string' },
            settleInfo: ModifySubInstitutionRequestSettleInfo,
            subInstAddressInfo: ModifySubInstitutionRequestSubInstAddressInfo,
            subInstAuthInfo: ModifySubInstitutionRequestSubInstAuthInfo,
            subInstBasicInfo: ModifySubInstitutionRequestSubInstBasicInfo,
            subInstCertifyInfo: ModifySubInstitutionRequestSubInstCertifyInfo,
            subInstId: 'string',
            subInstInvoiceInfo: ModifySubInstitutionRequestSubInstInvoiceInfo,
            subInstShopInfo: ModifySubInstitutionRequestSubInstShopInfo,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequest = ModifySubInstitutionRequest;
class ModifySubInstitutionResponseBody extends $tea.Model {
    static names() {
        return {
            orderId: 'orderId',
        };
    }
    static types() {
        return {
            orderId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionResponseBody = ModifySubInstitutionResponseBody;
class ModifySubInstitutionResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: ModifySubInstitutionResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionResponse = ModifySubInstitutionResponse;
class NotifyPayCodePayResultHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodePayResultHeaders = NotifyPayCodePayResultHeaders;
class NotifyPayCodePayResultRequest extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            chargeAmount: 'chargeAmount',
            corpId: 'corpId',
            extInfo: 'extInfo',
            gmtTradeCreate: 'gmtTradeCreate',
            gmtTradeFinish: 'gmtTradeFinish',
            merchantName: 'merchantName',
            payChannelDetailList: 'payChannelDetailList',
            payCode: 'payCode',
            promotionAmount: 'promotionAmount',
            remark: 'remark',
            title: 'title',
            tradeErrorCode: 'tradeErrorCode',
            tradeErrorMsg: 'tradeErrorMsg',
            tradeNo: 'tradeNo',
            tradeStatus: 'tradeStatus',
            userId: 'userId',
        };
    }
    static types() {
        return {
            amount: 'string',
            chargeAmount: 'string',
            corpId: 'string',
            extInfo: 'string',
            gmtTradeCreate: 'string',
            gmtTradeFinish: 'string',
            merchantName: 'string',
            payChannelDetailList: { 'type': 'array', 'itemType': NotifyPayCodePayResultRequestPayChannelDetailList },
            payCode: 'string',
            promotionAmount: 'string',
            remark: 'string',
            title: 'string',
            tradeErrorCode: 'string',
            tradeErrorMsg: 'string',
            tradeNo: 'string',
            tradeStatus: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodePayResultRequest = NotifyPayCodePayResultRequest;
class NotifyPayCodePayResultResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodePayResultResponseBody = NotifyPayCodePayResultResponseBody;
class NotifyPayCodePayResultResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: NotifyPayCodePayResultResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodePayResultResponse = NotifyPayCodePayResultResponse;
class NotifyPayCodeRefundResultHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodeRefundResultHeaders = NotifyPayCodeRefundResultHeaders;
class NotifyPayCodeRefundResultRequest extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            gmtRefund: 'gmtRefund',
            payChannelDetailList: 'payChannelDetailList',
            payCode: 'payCode',
            refundAmount: 'refundAmount',
            refundOrderNo: 'refundOrderNo',
            refundPromotionAmount: 'refundPromotionAmount',
            remark: 'remark',
            tradeNo: 'tradeNo',
            userId: 'userId',
        };
    }
    static types() {
        return {
            corpId: 'string',
            gmtRefund: 'string',
            payChannelDetailList: { 'type': 'array', 'itemType': NotifyPayCodeRefundResultRequestPayChannelDetailList },
            payCode: 'string',
            refundAmount: 'string',
            refundOrderNo: 'string',
            refundPromotionAmount: 'string',
            remark: 'string',
            tradeNo: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodeRefundResultRequest = NotifyPayCodeRefundResultRequest;
class NotifyPayCodeRefundResultResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodeRefundResultResponseBody = NotifyPayCodeRefundResultResponseBody;
class NotifyPayCodeRefundResultResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: NotifyPayCodeRefundResultResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodeRefundResultResponse = NotifyPayCodeRefundResultResponse;
class NotifyVerifyResultHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyVerifyResultHeaders = NotifyVerifyResultHeaders;
class NotifyVerifyResultRequest extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            payCode: 'payCode',
            remark: 'remark',
            userCorpRelationType: 'userCorpRelationType',
            userIdentity: 'userIdentity',
            verifyEvent: 'verifyEvent',
            verifyLocation: 'verifyLocation',
            verifyNo: 'verifyNo',
            verifyResult: 'verifyResult',
            verifyTime: 'verifyTime',
        };
    }
    static types() {
        return {
            corpId: 'string',
            payCode: 'string',
            remark: 'string',
            userCorpRelationType: 'string',
            userIdentity: 'string',
            verifyEvent: 'string',
            verifyLocation: 'string',
            verifyNo: 'string',
            verifyResult: 'boolean',
            verifyTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyVerifyResultRequest = NotifyVerifyResultRequest;
class NotifyVerifyResultResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyVerifyResultResponseBody = NotifyVerifyResultResponseBody;
class NotifyVerifyResultResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: NotifyVerifyResultResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyVerifyResultResponse = NotifyVerifyResultResponse;
class PreCreateGroupBillOrderHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCreateGroupBillOrderHeaders = PreCreateGroupBillOrderHeaders;
class PreCreateGroupBillOrderRequest extends $tea.Model {
    static names() {
        return {
            billItemList: 'billItemList',
            extParams: 'extParams',
            headCount: 'headCount',
            isAverageAmount: 'isAverageAmount',
            merchantId: 'merchantId',
            openCid: 'openCid',
            outBizNo: 'outBizNo',
            payeeCorpId: 'payeeCorpId',
            payeeUnionId: 'payeeUnionId',
            remark: 'remark',
            totalAmount: 'totalAmount',
        };
    }
    static types() {
        return {
            billItemList: { 'type': 'array', 'itemType': PreCreateGroupBillOrderRequestBillItemList },
            extParams: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            headCount: 'number',
            isAverageAmount: 'number',
            merchantId: 'string',
            openCid: 'string',
            outBizNo: 'string',
            payeeCorpId: 'string',
            payeeUnionId: 'string',
            remark: 'string',
            totalAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCreateGroupBillOrderRequest = PreCreateGroupBillOrderRequest;
class PreCreateGroupBillOrderResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: PreCreateGroupBillOrderResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCreateGroupBillOrderResponseBody = PreCreateGroupBillOrderResponseBody;
class PreCreateGroupBillOrderResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: PreCreateGroupBillOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCreateGroupBillOrderResponse = PreCreateGroupBillOrderResponse;
class QueryAcquireRefundOrderHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryAcquireRefundOrderHeaders = QueryAcquireRefundOrderHeaders;
class QueryAcquireRefundOrderRequest extends $tea.Model {
    static names() {
        return {
            outRefundNo: 'outRefundNo',
        };
    }
    static types() {
        return {
            outRefundNo: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryAcquireRefundOrderRequest = QueryAcquireRefundOrderRequest;
class QueryAcquireRefundOrderResponseBody extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            gmtCreate: 'gmtCreate',
            gmtRefund: 'gmtRefund',
            instId: 'instId',
            orderNo: 'orderNo',
            originOutTradeNo: 'originOutTradeNo',
            outRefundNo: 'outRefundNo',
            payChannel: 'payChannel',
            payChannelAccountNo: 'payChannelAccountNo',
            payerUserId: 'payerUserId',
            remark: 'remark',
            status: 'status',
            subInstId: 'subInstId',
            title: 'title',
        };
    }
    static types() {
        return {
            amount: 'string',
            gmtCreate: 'string',
            gmtRefund: 'string',
            instId: 'string',
            orderNo: 'string',
            originOutTradeNo: 'string',
            outRefundNo: 'string',
            payChannel: 'string',
            payChannelAccountNo: 'string',
            payerUserId: 'string',
            remark: 'string',
            status: 'string',
            subInstId: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryAcquireRefundOrderResponseBody = QueryAcquireRefundOrderResponseBody;
class QueryAcquireRefundOrderResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryAcquireRefundOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryAcquireRefundOrderResponse = QueryAcquireRefundOrderResponse;
class QueryBatchTradeDetailListHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeDetailListHeaders = QueryBatchTradeDetailListHeaders;
class QueryBatchTradeDetailListRequest extends $tea.Model {
    static names() {
        return {
            outBatchNo: 'outBatchNo',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
        };
    }
    static types() {
        return {
            outBatchNo: 'string',
            pageNumber: 'number',
            pageSize: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeDetailListRequest = QueryBatchTradeDetailListRequest;
class QueryBatchTradeDetailListResponseBody extends $tea.Model {
    static names() {
        return {
            batchTradeDetailList: 'batchTradeDetailList',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            total: 'total',
            totalPageNumber: 'totalPageNumber',
        };
    }
    static types() {
        return {
            batchTradeDetailList: { 'type': 'array', 'itemType': QueryBatchTradeDetailListResponseBodyBatchTradeDetailList },
            pageNumber: 'number',
            pageSize: 'number',
            total: 'number',
            totalPageNumber: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeDetailListResponseBody = QueryBatchTradeDetailListResponseBody;
class QueryBatchTradeDetailListResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryBatchTradeDetailListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeDetailListResponse = QueryBatchTradeDetailListResponse;
class QueryBatchTradeOrderHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeOrderHeaders = QueryBatchTradeOrderHeaders;
class QueryBatchTradeOrderRequest extends $tea.Model {
    static names() {
        return {
            outBatchNos: 'outBatchNos',
        };
    }
    static types() {
        return {
            outBatchNos: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeOrderRequest = QueryBatchTradeOrderRequest;
class QueryBatchTradeOrderResponseBody extends $tea.Model {
    static names() {
        return {
            batchTradeOrderVOs: 'batchTradeOrderVOs',
        };
    }
    static types() {
        return {
            batchTradeOrderVOs: { 'type': 'array', 'itemType': QueryBatchTradeOrderResponseBodyBatchTradeOrderVOs },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeOrderResponseBody = QueryBatchTradeOrderResponseBody;
class QueryBatchTradeOrderResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryBatchTradeOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeOrderResponse = QueryBatchTradeOrderResponse;
class QueryPayAccountListHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPayAccountListHeaders = QueryPayAccountListHeaders;
class QueryPayAccountListResponseBody extends $tea.Model {
    static names() {
        return {
            payAccountVOList: 'payAccountVOList',
        };
    }
    static types() {
        return {
            payAccountVOList: { 'type': 'array', 'itemType': QueryPayAccountListResponseBodyPayAccountVOList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPayAccountListResponseBody = QueryPayAccountListResponseBody;
class QueryPayAccountListResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryPayAccountListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPayAccountListResponse = QueryPayAccountListResponse;
class QueryRegisterOrderHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryRegisterOrderHeaders = QueryRegisterOrderHeaders;
class QueryRegisterOrderRequest extends $tea.Model {
    static names() {
        return {
            instId: 'instId',
            orderId: 'orderId',
            outTradeNo: 'outTradeNo',
            subInstId: 'subInstId',
        };
    }
    static types() {
        return {
            instId: 'string',
            orderId: 'string',
            outTradeNo: 'string',
            subInstId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryRegisterOrderRequest = QueryRegisterOrderRequest;
class QueryRegisterOrderResponseBody extends $tea.Model {
    static names() {
        return {
            failReason: 'failReason',
            gmtAudit: 'gmtAudit',
            instId: 'instId',
            orderId: 'orderId',
            outTradeNo: 'outTradeNo',
            status: 'status',
            subInstId: 'subInstId',
            subInstName: 'subInstName',
        };
    }
    static types() {
        return {
            failReason: 'string',
            gmtAudit: 'string',
            instId: 'string',
            orderId: 'string',
            outTradeNo: 'string',
            status: 'string',
            subInstId: 'string',
            subInstName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryRegisterOrderResponseBody = QueryRegisterOrderResponseBody;
class QueryRegisterOrderResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryRegisterOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryRegisterOrderResponse = QueryRegisterOrderResponse;
class QueryUserAgreementHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserAgreementHeaders = QueryUserAgreementHeaders;
class QueryUserAgreementRequest extends $tea.Model {
    static names() {
        return {
            bizCode: 'bizCode',
            bizScene: 'bizScene',
            instId: 'instId',
            subInstId: 'subInstId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            bizCode: 'string',
            bizScene: 'string',
            instId: 'string',
            subInstId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserAgreementRequest = QueryUserAgreementRequest;
class QueryUserAgreementResponseBody extends $tea.Model {
    static names() {
        return {
            agreementNo: 'agreementNo',
            corpId: 'corpId',
            gmtExpire: 'gmtExpire',
            gmtSign: 'gmtSign',
            gmtValid: 'gmtValid',
            instId: 'instId',
            payChannel: 'payChannel',
            payChannelAccountName: 'payChannelAccountName',
            payChannelAccountNo: 'payChannelAccountNo',
            status: 'status',
            subInstId: 'subInstId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            agreementNo: 'string',
            corpId: 'string',
            gmtExpire: 'string',
            gmtSign: 'string',
            gmtValid: 'string',
            instId: 'string',
            payChannel: 'string',
            payChannelAccountName: 'string',
            payChannelAccountNo: 'string',
            status: 'string',
            subInstId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserAgreementResponseBody = QueryUserAgreementResponseBody;
class QueryUserAgreementResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryUserAgreementResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserAgreementResponse = QueryUserAgreementResponse;
class QueryUserAlipayAccountHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserAlipayAccountHeaders = QueryUserAlipayAccountHeaders;
class QueryUserAlipayAccountResponseBody extends $tea.Model {
    static names() {
        return {
            alipayUid: 'alipayUid',
        };
    }
    static types() {
        return {
            alipayUid: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserAlipayAccountResponseBody = QueryUserAlipayAccountResponseBody;
class QueryUserAlipayAccountResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryUserAlipayAccountResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserAlipayAccountResponse = QueryUserAlipayAccountResponse;
class QueryWithholdingOrderHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryWithholdingOrderHeaders = QueryWithholdingOrderHeaders;
class QueryWithholdingOrderRequest extends $tea.Model {
    static names() {
        return {
            outTradeNo: 'outTradeNo',
        };
    }
    static types() {
        return {
            outTradeNo: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryWithholdingOrderRequest = QueryWithholdingOrderRequest;
class QueryWithholdingOrderResponseBody extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            gmtCreate: 'gmtCreate',
            gmtPay: 'gmtPay',
            instId: 'instId',
            orderNo: 'orderNo',
            outTradeNo: 'outTradeNo',
            payChannel: 'payChannel',
            payChannelAccountNo: 'payChannelAccountNo',
            payerUserId: 'payerUserId',
            remark: 'remark',
            status: 'status',
            subInstId: 'subInstId',
            title: 'title',
        };
    }
    static types() {
        return {
            amount: 'string',
            gmtCreate: 'string',
            gmtPay: 'string',
            instId: 'string',
            orderNo: 'string',
            outTradeNo: 'string',
            payChannel: 'string',
            payChannelAccountNo: 'string',
            payerUserId: 'string',
            remark: 'string',
            status: 'string',
            subInstId: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryWithholdingOrderResponseBody = QueryWithholdingOrderResponseBody;
class QueryWithholdingOrderResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryWithholdingOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryWithholdingOrderResponse = QueryWithholdingOrderResponse;
class SaveCorpPayCodeHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SaveCorpPayCodeHeaders = SaveCorpPayCodeHeaders;
class SaveCorpPayCodeRequest extends $tea.Model {
    static names() {
        return {
            codeIdentity: 'codeIdentity',
            corpId: 'corpId',
            extInfo: 'extInfo',
            status: 'status',
        };
    }
    static types() {
        return {
            codeIdentity: 'string',
            corpId: 'string',
            extInfo: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            status: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SaveCorpPayCodeRequest = SaveCorpPayCodeRequest;
class SaveCorpPayCodeResponseBody extends $tea.Model {
    static names() {
        return {
            codeIdentity: 'codeIdentity',
            corpId: 'corpId',
            extInfo: 'extInfo',
            status: 'status',
        };
    }
    static types() {
        return {
            codeIdentity: 'string',
            corpId: 'string',
            extInfo: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            status: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SaveCorpPayCodeResponseBody = SaveCorpPayCodeResponseBody;
class SaveCorpPayCodeResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: SaveCorpPayCodeResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SaveCorpPayCodeResponse = SaveCorpPayCodeResponse;
class UnsignUserAgreementHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UnsignUserAgreementHeaders = UnsignUserAgreementHeaders;
class UnsignUserAgreementRequest extends $tea.Model {
    static names() {
        return {
            agreementNo: 'agreementNo',
            bizCode: 'bizCode',
            bizScene: 'bizScene',
            instId: 'instId',
            subInstId: 'subInstId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            agreementNo: 'string',
            bizCode: 'string',
            bizScene: 'string',
            instId: 'string',
            subInstId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UnsignUserAgreementRequest = UnsignUserAgreementRequest;
class UnsignUserAgreementResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UnsignUserAgreementResponse = UnsignUserAgreementResponse;
class UpateUserCodeInstanceHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpateUserCodeInstanceHeaders = UpateUserCodeInstanceHeaders;
class UpateUserCodeInstanceRequest extends $tea.Model {
    static names() {
        return {
            availableTimes: 'availableTimes',
            codeId: 'codeId',
            codeIdentity: 'codeIdentity',
            codeValue: 'codeValue',
            corpId: 'corpId',
            extInfo: 'extInfo',
            gmtExpired: 'gmtExpired',
            status: 'status',
            userCorpRelationType: 'userCorpRelationType',
            userIdentity: 'userIdentity',
        };
    }
    static types() {
        return {
            availableTimes: { 'type': 'array', 'itemType': UpateUserCodeInstanceRequestAvailableTimes },
            codeId: 'string',
            codeIdentity: 'string',
            codeValue: 'string',
            corpId: 'string',
            extInfo: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            gmtExpired: 'string',
            status: 'string',
            userCorpRelationType: 'string',
            userIdentity: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpateUserCodeInstanceRequest = UpateUserCodeInstanceRequest;
class UpateUserCodeInstanceResponseBody extends $tea.Model {
    static names() {
        return {
            codeId: 'codeId',
        };
    }
    static types() {
        return {
            codeId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpateUserCodeInstanceResponseBody = UpateUserCodeInstanceResponseBody;
class UpateUserCodeInstanceResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpateUserCodeInstanceResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpateUserCodeInstanceResponse = UpateUserCodeInstanceResponse;
class UpdateInvoiceVerifyStatusHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateInvoiceVerifyStatusHeaders = UpdateInvoiceVerifyStatusHeaders;
class UpdateInvoiceVerifyStatusRequest extends $tea.Model {
    static names() {
        return {
            bizId: 'bizId',
            checkingResult: 'checkingResult',
            checkingStatus: 'checkingStatus',
            code: 'code',
            corpId: 'corpId',
            extension: 'extension',
            invoiceCode: 'invoiceCode',
            invoiceNo: 'invoiceNo',
            invoiceStatus: 'invoiceStatus',
            invoiceVerifyId: 'invoiceVerifyId',
            msg: 'msg',
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            bizId: 'string',
            checkingResult: 'number',
            checkingStatus: 'number',
            code: 'string',
            corpId: 'string',
            extension: 'string',
            invoiceCode: 'string',
            invoiceNo: 'string',
            invoiceStatus: 'number',
            invoiceVerifyId: 'string',
            msg: 'string',
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateInvoiceVerifyStatusRequest = UpdateInvoiceVerifyStatusRequest;
class UpdateInvoiceVerifyStatusResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateInvoiceVerifyStatusResponseBody = UpdateInvoiceVerifyStatusResponseBody;
class UpdateInvoiceVerifyStatusResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateInvoiceVerifyStatusResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateInvoiceVerifyStatusResponse = UpdateInvoiceVerifyStatusResponse;
class UploadInvoiceHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceHeaders = UploadInvoiceHeaders;
class UploadInvoiceRequest extends $tea.Model {
    static names() {
        return {
            extension: 'extension',
            invoices: 'invoices',
            userIdentity: 'userIdentity',
        };
    }
    static types() {
        return {
            extension: UploadInvoiceRequestExtension,
            invoices: { 'type': 'array', 'itemType': UploadInvoiceRequestInvoices },
            userIdentity: UploadInvoiceRequestUserIdentity,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceRequest = UploadInvoiceRequest;
class UploadInvoiceResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: UploadInvoiceResponseBodyResult,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceResponseBody = UploadInvoiceResponseBody;
class UploadInvoiceResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UploadInvoiceResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceResponse = UploadInvoiceResponse;
class UploadInvoiceByAuthHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByAuthHeaders = UploadInvoiceByAuthHeaders;
class UploadInvoiceByAuthRequest extends $tea.Model {
    static names() {
        return {
            extension: 'extension',
            invoices: 'invoices',
        };
    }
    static types() {
        return {
            extension: UploadInvoiceByAuthRequestExtension,
            invoices: { 'type': 'array', 'itemType': UploadInvoiceByAuthRequestInvoices },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByAuthRequest = UploadInvoiceByAuthRequest;
class UploadInvoiceByAuthResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: UploadInvoiceByAuthResponseBodyResult,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByAuthResponseBody = UploadInvoiceByAuthResponseBody;
class UploadInvoiceByAuthResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UploadInvoiceByAuthResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByAuthResponse = UploadInvoiceByAuthResponse;
class UploadInvoiceByMobileHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByMobileHeaders = UploadInvoiceByMobileHeaders;
class UploadInvoiceByMobileRequest extends $tea.Model {
    static names() {
        return {
            invoices: 'invoices',
            mobile: 'mobile',
            mobileStateCode: 'mobileStateCode',
        };
    }
    static types() {
        return {
            invoices: { 'type': 'array', 'itemType': UploadInvoiceByMobileRequestInvoices },
            mobile: 'string',
            mobileStateCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByMobileRequest = UploadInvoiceByMobileRequest;
class UploadInvoiceByMobileResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: UploadInvoiceByMobileResponseBodyResult,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByMobileResponseBody = UploadInvoiceByMobileResponseBody;
class UploadInvoiceByMobileResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UploadInvoiceByMobileResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByMobileResponse = UploadInvoiceByMobileResponse;
class UploadRegisterImageHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadRegisterImageHeaders = UploadRegisterImageHeaders;
class UploadRegisterImageRequest extends $tea.Model {
    static names() {
        return {
            imageContent: 'imageContent',
            imageName: 'imageName',
            imageType: 'imageType',
            instId: 'instId',
            payChannel: 'payChannel',
        };
    }
    static types() {
        return {
            imageContent: 'string',
            imageName: 'string',
            imageType: 'string',
            instId: 'string',
            payChannel: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadRegisterImageRequest = UploadRegisterImageRequest;
class UploadRegisterImageResponseBody extends $tea.Model {
    static names() {
        return {
            ossUrl: 'ossUrl',
        };
    }
    static types() {
        return {
            ossUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadRegisterImageResponseBody = UploadRegisterImageResponseBody;
class UploadRegisterImageResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UploadRegisterImageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadRegisterImageResponse = UploadRegisterImageResponse;
class UserAgreementPageSignHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserAgreementPageSignHeaders = UserAgreementPageSignHeaders;
class UserAgreementPageSignRequest extends $tea.Model {
    static names() {
        return {
            bizCode: 'bizCode',
            bizScene: 'bizScene',
            instId: 'instId',
            payChannel: 'payChannel',
            remark: 'remark',
            returnUrl: 'returnUrl',
            signScene: 'signScene',
            subInstId: 'subInstId',
            subMerchantName: 'subMerchantName',
            subMerchantServiceDesc: 'subMerchantServiceDesc',
            subMerchantServiceName: 'subMerchantServiceName',
            userId: 'userId',
        };
    }
    static types() {
        return {
            bizCode: 'string',
            bizScene: 'string',
            instId: 'string',
            payChannel: 'string',
            remark: 'string',
            returnUrl: 'string',
            signScene: 'string',
            subInstId: 'string',
            subMerchantName: 'string',
            subMerchantServiceDesc: 'string',
            subMerchantServiceName: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserAgreementPageSignRequest = UserAgreementPageSignRequest;
class UserAgreementPageSignResponseBody extends $tea.Model {
    static names() {
        return {
            pageData: 'pageData',
        };
    }
    static types() {
        return {
            pageData: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserAgreementPageSignResponseBody = UserAgreementPageSignResponseBody;
class UserAgreementPageSignResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UserAgreementPageSignResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserAgreementPageSignResponse = UserAgreementPageSignResponse;
class ConsultCreateSubInstitutionRequestContactInfo extends $tea.Model {
    static names() {
        return {
            contactName: 'contactName',
            mobile: 'mobile',
        };
    }
    static types() {
        return {
            contactName: 'string',
            mobile: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestContactInfo = ConsultCreateSubInstitutionRequestContactInfo;
class ConsultCreateSubInstitutionRequestLegalPersonCertInfo extends $tea.Model {
    static names() {
        return {
            certBackImage: 'certBackImage',
            certFrontImage: 'certFrontImage',
            certName: 'certName',
            certType: 'certType',
            idCardNo: 'idCardNo',
        };
    }
    static types() {
        return {
            certBackImage: 'string',
            certFrontImage: 'string',
            certName: 'string',
            certType: 'string',
            idCardNo: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestLegalPersonCertInfo = ConsultCreateSubInstitutionRequestLegalPersonCertInfo;
class ConsultCreateSubInstitutionRequestQualificationInfos extends $tea.Model {
    static names() {
        return {
            qualificationImage: 'qualificationImage',
            qualificationType: 'qualificationType',
        };
    }
    static types() {
        return {
            qualificationImage: 'string',
            qualificationType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestQualificationInfos = ConsultCreateSubInstitutionRequestQualificationInfos;
class ConsultCreateSubInstitutionRequestSettleInfo extends $tea.Model {
    static names() {
        return {
            accountId: 'accountId',
            accountName: 'accountName',
            accountType: 'accountType',
            bankBranchName: 'bankBranchName',
            bankCity: 'bankCity',
            bankCode: 'bankCode',
            bankName: 'bankName',
            bankProvince: 'bankProvince',
            bankShortNameCode: 'bankShortNameCode',
            type: 'type',
            usageType: 'usageType',
        };
    }
    static types() {
        return {
            accountId: 'string',
            accountName: 'string',
            accountType: 'string',
            bankBranchName: 'string',
            bankCity: 'string',
            bankCode: 'string',
            bankName: 'string',
            bankProvince: 'string',
            bankShortNameCode: 'string',
            type: 'string',
            usageType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestSettleInfo = ConsultCreateSubInstitutionRequestSettleInfo;
class ConsultCreateSubInstitutionRequestSubInstAddressInfo extends $tea.Model {
    static names() {
        return {
            address: 'address',
            cityCode: 'cityCode',
            districtCode: 'districtCode',
            provinceCode: 'provinceCode',
        };
    }
    static types() {
        return {
            address: 'string',
            cityCode: 'string',
            districtCode: 'string',
            provinceCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestSubInstAddressInfo = ConsultCreateSubInstitutionRequestSubInstAddressInfo;
class ConsultCreateSubInstitutionRequestSubInstAuthInfo extends $tea.Model {
    static names() {
        return {
            authorizationLetterUrl: 'authorizationLetterUrl',
        };
    }
    static types() {
        return {
            authorizationLetterUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestSubInstAuthInfo = ConsultCreateSubInstitutionRequestSubInstAuthInfo;
class ConsultCreateSubInstitutionRequestSubInstBasicInfo extends $tea.Model {
    static names() {
        return {
            aliasName: 'aliasName',
            mcc: 'mcc',
            subInstName: 'subInstName',
            type: 'type',
        };
    }
    static types() {
        return {
            aliasName: 'string',
            mcc: 'string',
            subInstName: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestSubInstBasicInfo = ConsultCreateSubInstitutionRequestSubInstBasicInfo;
class ConsultCreateSubInstitutionRequestSubInstCertifyInfo extends $tea.Model {
    static names() {
        return {
            certImage: 'certImage',
            certNo: 'certNo',
            certType: 'certType',
        };
    }
    static types() {
        return {
            certImage: 'string',
            certNo: 'string',
            certType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestSubInstCertifyInfo = ConsultCreateSubInstitutionRequestSubInstCertifyInfo;
class ConsultCreateSubInstitutionRequestSubInstInvoiceInfoMailAddress extends $tea.Model {
    static names() {
        return {
            address: 'address',
            cityCode: 'cityCode',
            districtCode: 'districtCode',
            provinceCode: 'provinceCode',
        };
    }
    static types() {
        return {
            address: 'string',
            cityCode: 'string',
            districtCode: 'string',
            provinceCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestSubInstInvoiceInfoMailAddress = ConsultCreateSubInstitutionRequestSubInstInvoiceInfoMailAddress;
class ConsultCreateSubInstitutionRequestSubInstInvoiceInfo extends $tea.Model {
    static names() {
        return {
            acceptElectronic: 'acceptElectronic',
            address: 'address',
            autoInvoice: 'autoInvoice',
            bankAccount: 'bankAccount',
            bankName: 'bankName',
            mailAddress: 'mailAddress',
            mailName: 'mailName',
            mailPhone: 'mailPhone',
            taxNo: 'taxNo',
            taxPayerQualification: 'taxPayerQualification',
            taxPayerValidDate: 'taxPayerValidDate',
            telephone: 'telephone',
            title: 'title',
        };
    }
    static types() {
        return {
            acceptElectronic: 'boolean',
            address: 'string',
            autoInvoice: 'boolean',
            bankAccount: 'string',
            bankName: 'string',
            mailAddress: ConsultCreateSubInstitutionRequestSubInstInvoiceInfoMailAddress,
            mailName: 'string',
            mailPhone: 'string',
            taxNo: 'string',
            taxPayerQualification: 'string',
            taxPayerValidDate: 'string',
            telephone: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestSubInstInvoiceInfo = ConsultCreateSubInstitutionRequestSubInstInvoiceInfo;
class ConsultCreateSubInstitutionRequestSubInstShopInfo extends $tea.Model {
    static names() {
        return {
            inDoorImages: 'inDoorImages',
            outDoorImages: 'outDoorImages',
        };
    }
    static types() {
        return {
            inDoorImages: { 'type': 'array', 'itemType': 'string' },
            outDoorImages: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsultCreateSubInstitutionRequestSubInstShopInfo = ConsultCreateSubInstitutionRequestSubInstShopInfo;
class CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoListFundToolDetailInfoList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            extInfo: 'extInfo',
            fundToolName: 'fundToolName',
            gmtCreate: 'gmtCreate',
            gmtFinish: 'gmtFinish',
            promotionFundTool: 'promotionFundTool',
        };
    }
    static types() {
        return {
            amount: 'string',
            extInfo: 'string',
            fundToolName: 'string',
            gmtCreate: 'string',
            gmtFinish: 'string',
            promotionFundTool: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoListFundToolDetailInfoList = CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoListFundToolDetailInfoList;
class CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            fundToolDetailInfoList: 'fundToolDetailInfoList',
            payChannelName: 'payChannelName',
            payChannelOrderNo: 'payChannelOrderNo',
            payChannelType: 'payChannelType',
            promotionAmount: 'promotionAmount',
        };
    }
    static types() {
        return {
            amount: 'string',
            fundToolDetailInfoList: { 'type': 'array', 'itemType': CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoListFundToolDetailInfoList },
            payChannelName: 'string',
            payChannelOrderNo: 'string',
            payChannelType: 'string',
            promotionAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoList = CreatWithholdingOrderAndPayRequestOtherPayChannelDetailInfoList;
class CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoListFundToolDetailInfoList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            extInfo: 'extInfo',
            fundToolName: 'fundToolName',
            gmtCreate: 'gmtCreate',
            gmtFinish: 'gmtFinish',
            promotionFundTool: 'promotionFundTool',
        };
    }
    static types() {
        return {
            amount: 'string',
            extInfo: 'string',
            fundToolName: 'string',
            gmtCreate: 'string',
            gmtFinish: 'string',
            promotionFundTool: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoListFundToolDetailInfoList = CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoListFundToolDetailInfoList;
class CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            fundToolDetailInfoList: 'fundToolDetailInfoList',
            payChannelName: 'payChannelName',
            payChannelOrderNo: 'payChannelOrderNo',
            payChannelType: 'payChannelType',
            promotionAmount: 'promotionAmount',
        };
    }
    static types() {
        return {
            amount: 'string',
            fundToolDetailInfoList: { 'type': 'array', 'itemType': CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoListFundToolDetailInfoList },
            payChannelName: 'string',
            payChannelOrderNo: 'string',
            payChannelType: 'string',
            promotionAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoList = CreateAcquireRefundOrderRequestOtherPayChannelDetailInfoList;
class CreateBatchTradeOrderRequestBatchTradeDetails extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            memo: 'memo',
            payeeAccountName: 'payeeAccountName',
            payeeAccountNo: 'payeeAccountNo',
            payeeAccountType: 'payeeAccountType',
            serialNo: 'serialNo',
        };
    }
    static types() {
        return {
            amount: 'string',
            memo: 'string',
            payeeAccountName: 'string',
            payeeAccountNo: 'string',
            payeeAccountType: 'string',
            serialNo: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateBatchTradeOrderRequestBatchTradeDetails = CreateBatchTradeOrderRequestBatchTradeDetails;
class CreateSubInstitutionRequestContactInfo extends $tea.Model {
    static names() {
        return {
            contactName: 'contactName',
            mobile: 'mobile',
        };
    }
    static types() {
        return {
            contactName: 'string',
            mobile: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestContactInfo = CreateSubInstitutionRequestContactInfo;
class CreateSubInstitutionRequestLegalPersonCertInfo extends $tea.Model {
    static names() {
        return {
            certBackImage: 'certBackImage',
            certFrontImage: 'certFrontImage',
            certName: 'certName',
            certType: 'certType',
            idCardNo: 'idCardNo',
        };
    }
    static types() {
        return {
            certBackImage: 'string',
            certFrontImage: 'string',
            certName: 'string',
            certType: 'string',
            idCardNo: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestLegalPersonCertInfo = CreateSubInstitutionRequestLegalPersonCertInfo;
class CreateSubInstitutionRequestQualificationInfos extends $tea.Model {
    static names() {
        return {
            qualificationImage: 'qualificationImage',
            qualificationType: 'qualificationType',
        };
    }
    static types() {
        return {
            qualificationImage: 'string',
            qualificationType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestQualificationInfos = CreateSubInstitutionRequestQualificationInfos;
class CreateSubInstitutionRequestSettleInfo extends $tea.Model {
    static names() {
        return {
            accountId: 'accountId',
            accountName: 'accountName',
            accountType: 'accountType',
            bankBranchName: 'bankBranchName',
            bankCity: 'bankCity',
            bankCode: 'bankCode',
            bankName: 'bankName',
            bankProvince: 'bankProvince',
            bankShortNameCode: 'bankShortNameCode',
            type: 'type',
            usageType: 'usageType',
        };
    }
    static types() {
        return {
            accountId: 'string',
            accountName: 'string',
            accountType: 'string',
            bankBranchName: 'string',
            bankCity: 'string',
            bankCode: 'string',
            bankName: 'string',
            bankProvince: 'string',
            bankShortNameCode: 'string',
            type: 'string',
            usageType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestSettleInfo = CreateSubInstitutionRequestSettleInfo;
class CreateSubInstitutionRequestSubInstAddressInfo extends $tea.Model {
    static names() {
        return {
            address: 'address',
            cityCode: 'cityCode',
            districtCode: 'districtCode',
            provinceCode: 'provinceCode',
        };
    }
    static types() {
        return {
            address: 'string',
            cityCode: 'string',
            districtCode: 'string',
            provinceCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestSubInstAddressInfo = CreateSubInstitutionRequestSubInstAddressInfo;
class CreateSubInstitutionRequestSubInstAuthInfo extends $tea.Model {
    static names() {
        return {
            authorizationLetterUrl: 'authorizationLetterUrl',
        };
    }
    static types() {
        return {
            authorizationLetterUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestSubInstAuthInfo = CreateSubInstitutionRequestSubInstAuthInfo;
class CreateSubInstitutionRequestSubInstBasicInfo extends $tea.Model {
    static names() {
        return {
            aliasName: 'aliasName',
            mcc: 'mcc',
            subInstName: 'subInstName',
            type: 'type',
        };
    }
    static types() {
        return {
            aliasName: 'string',
            mcc: 'string',
            subInstName: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestSubInstBasicInfo = CreateSubInstitutionRequestSubInstBasicInfo;
class CreateSubInstitutionRequestSubInstCertifyInfo extends $tea.Model {
    static names() {
        return {
            certImage: 'certImage',
            certNo: 'certNo',
            certType: 'certType',
        };
    }
    static types() {
        return {
            certImage: 'string',
            certNo: 'string',
            certType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestSubInstCertifyInfo = CreateSubInstitutionRequestSubInstCertifyInfo;
class CreateSubInstitutionRequestSubInstInvoiceInfoMailAddress extends $tea.Model {
    static names() {
        return {
            address: 'address',
            cityCode: 'cityCode',
            districtCode: 'districtCode',
            provinceCode: 'provinceCode',
        };
    }
    static types() {
        return {
            address: 'string',
            cityCode: 'string',
            districtCode: 'string',
            provinceCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestSubInstInvoiceInfoMailAddress = CreateSubInstitutionRequestSubInstInvoiceInfoMailAddress;
class CreateSubInstitutionRequestSubInstInvoiceInfo extends $tea.Model {
    static names() {
        return {
            acceptElectronic: 'acceptElectronic',
            address: 'address',
            autoInvoice: 'autoInvoice',
            bankAccount: 'bankAccount',
            bankName: 'bankName',
            mailAddress: 'mailAddress',
            mailName: 'mailName',
            mailPhone: 'mailPhone',
            taxNo: 'taxNo',
            taxPayerQualification: 'taxPayerQualification',
            taxPayerValidDate: 'taxPayerValidDate',
            telephone: 'telephone',
            title: 'title',
        };
    }
    static types() {
        return {
            acceptElectronic: 'boolean',
            address: 'string',
            autoInvoice: 'boolean',
            bankAccount: 'string',
            bankName: 'string',
            mailAddress: CreateSubInstitutionRequestSubInstInvoiceInfoMailAddress,
            mailName: 'string',
            mailPhone: 'string',
            taxNo: 'string',
            taxPayerQualification: 'string',
            taxPayerValidDate: 'string',
            telephone: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestSubInstInvoiceInfo = CreateSubInstitutionRequestSubInstInvoiceInfo;
class CreateSubInstitutionRequestSubInstShopInfo extends $tea.Model {
    static names() {
        return {
            inDoorImages: 'inDoorImages',
            outDoorImages: 'outDoorImages',
        };
    }
    static types() {
        return {
            inDoorImages: { 'type': 'array', 'itemType': 'string' },
            outDoorImages: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSubInstitutionRequestSubInstShopInfo = CreateSubInstitutionRequestSubInstShopInfo;
class CreateUserCodeInstanceRequestAvailableTimes extends $tea.Model {
    static names() {
        return {
            gmtEnd: 'gmtEnd',
            gmtStart: 'gmtStart',
        };
    }
    static types() {
        return {
            gmtEnd: 'string',
            gmtStart: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateUserCodeInstanceRequestAvailableTimes = CreateUserCodeInstanceRequestAvailableTimes;
class ModifySubInstitutionRequestContactInfo extends $tea.Model {
    static names() {
        return {
            contactName: 'contactName',
            mobile: 'mobile',
        };
    }
    static types() {
        return {
            contactName: 'string',
            mobile: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestContactInfo = ModifySubInstitutionRequestContactInfo;
class ModifySubInstitutionRequestLegalPersonCertInfo extends $tea.Model {
    static names() {
        return {
            certBackImage: 'certBackImage',
            certFrontImage: 'certFrontImage',
            certName: 'certName',
            certType: 'certType',
            idCardNo: 'idCardNo',
        };
    }
    static types() {
        return {
            certBackImage: 'string',
            certFrontImage: 'string',
            certName: 'string',
            certType: 'string',
            idCardNo: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestLegalPersonCertInfo = ModifySubInstitutionRequestLegalPersonCertInfo;
class ModifySubInstitutionRequestQualificationInfos extends $tea.Model {
    static names() {
        return {
            qualificationImage: 'qualificationImage',
            qualificationType: 'qualificationType',
        };
    }
    static types() {
        return {
            qualificationImage: 'string',
            qualificationType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestQualificationInfos = ModifySubInstitutionRequestQualificationInfos;
class ModifySubInstitutionRequestSettleInfo extends $tea.Model {
    static names() {
        return {
            accountId: 'accountId',
            accountName: 'accountName',
            accountType: 'accountType',
            bankBranchName: 'bankBranchName',
            bankCity: 'bankCity',
            bankCode: 'bankCode',
            bankName: 'bankName',
            bankProvince: 'bankProvince',
            bankShortNameCode: 'bankShortNameCode',
            type: 'type',
            usageType: 'usageType',
        };
    }
    static types() {
        return {
            accountId: 'string',
            accountName: 'string',
            accountType: 'string',
            bankBranchName: 'string',
            bankCity: 'string',
            bankCode: 'string',
            bankName: 'string',
            bankProvince: 'string',
            bankShortNameCode: 'string',
            type: 'string',
            usageType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestSettleInfo = ModifySubInstitutionRequestSettleInfo;
class ModifySubInstitutionRequestSubInstAddressInfo extends $tea.Model {
    static names() {
        return {
            address: 'address',
            cityCode: 'cityCode',
            districtCode: 'districtCode',
            provinceCode: 'provinceCode',
        };
    }
    static types() {
        return {
            address: 'string',
            cityCode: 'string',
            districtCode: 'string',
            provinceCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestSubInstAddressInfo = ModifySubInstitutionRequestSubInstAddressInfo;
class ModifySubInstitutionRequestSubInstAuthInfo extends $tea.Model {
    static names() {
        return {
            authorizationLetterUrl: 'authorizationLetterUrl',
        };
    }
    static types() {
        return {
            authorizationLetterUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestSubInstAuthInfo = ModifySubInstitutionRequestSubInstAuthInfo;
class ModifySubInstitutionRequestSubInstBasicInfo extends $tea.Model {
    static names() {
        return {
            aliasName: 'aliasName',
            mcc: 'mcc',
            subInstName: 'subInstName',
            type: 'type',
        };
    }
    static types() {
        return {
            aliasName: 'string',
            mcc: 'string',
            subInstName: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestSubInstBasicInfo = ModifySubInstitutionRequestSubInstBasicInfo;
class ModifySubInstitutionRequestSubInstCertifyInfo extends $tea.Model {
    static names() {
        return {
            certImage: 'certImage',
            certNo: 'certNo',
            certType: 'certType',
        };
    }
    static types() {
        return {
            certImage: 'string',
            certNo: 'string',
            certType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestSubInstCertifyInfo = ModifySubInstitutionRequestSubInstCertifyInfo;
class ModifySubInstitutionRequestSubInstInvoiceInfoMailAddress extends $tea.Model {
    static names() {
        return {
            address: 'address',
            cityCode: 'cityCode',
            districtCode: 'districtCode',
            provinceCode: 'provinceCode',
        };
    }
    static types() {
        return {
            address: 'string',
            cityCode: 'string',
            districtCode: 'string',
            provinceCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestSubInstInvoiceInfoMailAddress = ModifySubInstitutionRequestSubInstInvoiceInfoMailAddress;
class ModifySubInstitutionRequestSubInstInvoiceInfo extends $tea.Model {
    static names() {
        return {
            acceptElectronic: 'acceptElectronic',
            address: 'address',
            autoInvoice: 'autoInvoice',
            bankAccount: 'bankAccount',
            bankName: 'bankName',
            mailAddress: 'mailAddress',
            mailName: 'mailName',
            mailPhone: 'mailPhone',
            taxNo: 'taxNo',
            taxPayerQualification: 'taxPayerQualification',
            taxPayerValidDate: 'taxPayerValidDate',
            telephone: 'telephone',
            title: 'title',
        };
    }
    static types() {
        return {
            acceptElectronic: 'boolean',
            address: 'string',
            autoInvoice: 'boolean',
            bankAccount: 'string',
            bankName: 'string',
            mailAddress: ModifySubInstitutionRequestSubInstInvoiceInfoMailAddress,
            mailName: 'string',
            mailPhone: 'string',
            taxNo: 'string',
            taxPayerQualification: 'string',
            taxPayerValidDate: 'string',
            telephone: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestSubInstInvoiceInfo = ModifySubInstitutionRequestSubInstInvoiceInfo;
class ModifySubInstitutionRequestSubInstShopInfo extends $tea.Model {
    static names() {
        return {
            inDoorImages: 'inDoorImages',
            outDoorImages: 'outDoorImages',
        };
    }
    static types() {
        return {
            inDoorImages: { 'type': 'array', 'itemType': 'string' },
            outDoorImages: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifySubInstitutionRequestSubInstShopInfo = ModifySubInstitutionRequestSubInstShopInfo;
class NotifyPayCodePayResultRequestPayChannelDetailListFundToolDetailList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            extInfo: 'extInfo',
            fundToolName: 'fundToolName',
            gmtCreate: 'gmtCreate',
            gmtFinish: 'gmtFinish',
            promotionFundTool: 'promotionFundTool',
        };
    }
    static types() {
        return {
            amount: 'string',
            extInfo: 'string',
            fundToolName: 'string',
            gmtCreate: 'string',
            gmtFinish: 'string',
            promotionFundTool: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodePayResultRequestPayChannelDetailListFundToolDetailList = NotifyPayCodePayResultRequestPayChannelDetailListFundToolDetailList;
class NotifyPayCodePayResultRequestPayChannelDetailList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            fundToolDetailList: 'fundToolDetailList',
            gmtCreate: 'gmtCreate',
            gmtFinish: 'gmtFinish',
            payChannelName: 'payChannelName',
            payChannelOrderNo: 'payChannelOrderNo',
            payChannelType: 'payChannelType',
            promotionAmount: 'promotionAmount',
        };
    }
    static types() {
        return {
            amount: 'string',
            fundToolDetailList: { 'type': 'array', 'itemType': NotifyPayCodePayResultRequestPayChannelDetailListFundToolDetailList },
            gmtCreate: 'string',
            gmtFinish: 'string',
            payChannelName: 'string',
            payChannelOrderNo: 'string',
            payChannelType: 'string',
            promotionAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodePayResultRequestPayChannelDetailList = NotifyPayCodePayResultRequestPayChannelDetailList;
class NotifyPayCodeRefundResultRequestPayChannelDetailListFundToolDetailList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            extInfo: 'extInfo',
            fundToolName: 'fundToolName',
            gmtCreate: 'gmtCreate',
            gmtFinish: 'gmtFinish',
            promotionFundTool: 'promotionFundTool',
        };
    }
    static types() {
        return {
            amount: 'string',
            extInfo: 'string',
            fundToolName: 'string',
            gmtCreate: 'string',
            gmtFinish: 'string',
            promotionFundTool: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodeRefundResultRequestPayChannelDetailListFundToolDetailList = NotifyPayCodeRefundResultRequestPayChannelDetailListFundToolDetailList;
class NotifyPayCodeRefundResultRequestPayChannelDetailList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            fundToolDetailList: 'fundToolDetailList',
            payChannelName: 'payChannelName',
            payChannelOrderNo: 'payChannelOrderNo',
            payChannelRefundOrderNo: 'payChannelRefundOrderNo',
            payChannelType: 'payChannelType',
            promotionAmount: 'promotionAmount',
        };
    }
    static types() {
        return {
            amount: 'string',
            fundToolDetailList: { 'type': 'array', 'itemType': NotifyPayCodeRefundResultRequestPayChannelDetailListFundToolDetailList },
            payChannelName: 'string',
            payChannelOrderNo: 'string',
            payChannelRefundOrderNo: 'string',
            payChannelType: 'string',
            promotionAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.NotifyPayCodeRefundResultRequestPayChannelDetailList = NotifyPayCodeRefundResultRequestPayChannelDetailList;
class PreCreateGroupBillOrderRequestBillItemList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            payerUnionId: 'payerUnionId',
        };
    }
    static types() {
        return {
            amount: 'string',
            payerUnionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCreateGroupBillOrderRequestBillItemList = PreCreateGroupBillOrderRequestBillItemList;
class PreCreateGroupBillOrderResponseBodyResult extends $tea.Model {
    static names() {
        return {
            orderNo: 'orderNo',
        };
    }
    static types() {
        return {
            orderNo: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCreateGroupBillOrderResponseBodyResult = PreCreateGroupBillOrderResponseBodyResult;
class QueryBatchTradeDetailListResponseBodyBatchTradeDetailList extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            detailNo: 'detailNo',
            gmtCreate: 'gmtCreate',
            gmtFinish: 'gmtFinish',
            memo: 'memo',
            payeeAccountName: 'payeeAccountName',
            payeeAccountNo: 'payeeAccountNo',
            payeeAccountType: 'payeeAccountType',
            serialNo: 'serialNo',
            status: 'status',
        };
    }
    static types() {
        return {
            amount: 'string',
            detailNo: 'string',
            gmtCreate: 'string',
            gmtFinish: 'string',
            memo: 'string',
            payeeAccountName: 'string',
            payeeAccountNo: 'string',
            payeeAccountType: 'string',
            serialNo: 'number',
            status: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeDetailListResponseBodyBatchTradeDetailList = QueryBatchTradeDetailListResponseBodyBatchTradeDetailList;
class QueryBatchTradeOrderResponseBodyBatchTradeOrderVOs extends $tea.Model {
    static names() {
        return {
            alipayTransId: 'alipayTransId',
            failAmount: 'failAmount',
            failCount: 'failCount',
            failReason: 'failReason',
            gmtFinish: 'gmtFinish',
            gmtSubmit: 'gmtSubmit',
            outBatchNo: 'outBatchNo',
            payerStaffId: 'payerStaffId',
            paymentAmount: 'paymentAmount',
            paymentCurrency: 'paymentCurrency',
            status: 'status',
            successAmount: 'successAmount',
            successCount: 'successCount',
            totalAmount: 'totalAmount',
        };
    }
    static types() {
        return {
            alipayTransId: 'string',
            failAmount: 'string',
            failCount: 'number',
            failReason: 'string',
            gmtFinish: 'string',
            gmtSubmit: 'string',
            outBatchNo: 'string',
            payerStaffId: 'string',
            paymentAmount: 'string',
            paymentCurrency: 'string',
            status: 'string',
            successAmount: 'string',
            successCount: 'number',
            totalAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryBatchTradeOrderResponseBodyBatchTradeOrderVOs = QueryBatchTradeOrderResponseBodyBatchTradeOrderVOs;
class QueryPayAccountListResponseBodyPayAccountVOList extends $tea.Model {
    static names() {
        return {
            accountClass: 'accountClass',
            accountId: 'accountId',
            accountName: 'accountName',
            accountNo: 'accountNo',
            accountRemark: 'accountRemark',
            accountType: 'accountType',
        };
    }
    static types() {
        return {
            accountClass: 'string',
            accountId: 'string',
            accountName: 'string',
            accountNo: 'string',
            accountRemark: 'string',
            accountType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPayAccountListResponseBodyPayAccountVOList = QueryPayAccountListResponseBodyPayAccountVOList;
class UpateUserCodeInstanceRequestAvailableTimes extends $tea.Model {
    static names() {
        return {
            gmtEnd: 'gmtEnd',
            gmtStart: 'gmtStart',
        };
    }
    static types() {
        return {
            gmtEnd: 'string',
            gmtStart: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpateUserCodeInstanceRequestAvailableTimes = UpateUserCodeInstanceRequestAvailableTimes;
class UploadInvoiceRequestExtension extends $tea.Model {
    static names() {
        return {
            bizCode: 'bizCode',
            orderNo: 'orderNo',
            orderNoList: 'orderNoList',
            orderType: 'orderType',
        };
    }
    static types() {
        return {
            bizCode: 'string',
            orderNo: 'string',
            orderNoList: { 'type': 'array', 'itemType': 'string' },
            orderType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceRequestExtension = UploadInvoiceRequestExtension;
class UploadInvoiceRequestInvoices extends $tea.Model {
    static names() {
        return {
            invoiceAmount: 'invoiceAmount',
            invoiceCode: 'invoiceCode',
            invoiceDate: 'invoiceDate',
            invoiceNo: 'invoiceNo',
            invoiceType: 'invoiceType',
            logoUrl: 'logoUrl',
            payeeName: 'payeeName',
            payeeTaxNo: 'payeeTaxNo',
            payerName: 'payerName',
            payerTaxNo: 'payerTaxNo',
            pdfUrl: 'pdfUrl',
            taxAmount: 'taxAmount',
            verifyCode: 'verifyCode',
            withoutTaxAmount: 'withoutTaxAmount',
        };
    }
    static types() {
        return {
            invoiceAmount: 'string',
            invoiceCode: 'string',
            invoiceDate: 'string',
            invoiceNo: 'string',
            invoiceType: 'string',
            logoUrl: 'string',
            payeeName: 'string',
            payeeTaxNo: 'string',
            payerName: 'string',
            payerTaxNo: 'string',
            pdfUrl: 'string',
            taxAmount: 'string',
            verifyCode: 'string',
            withoutTaxAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceRequestInvoices = UploadInvoiceRequestInvoices;
class UploadInvoiceRequestUserIdentity extends $tea.Model {
    static names() {
        return {
            mobile: 'mobile',
            mobileStateCode: 'mobileStateCode',
            targetCorpId: 'targetCorpId',
            type: 'type',
            unionId: 'unionId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            mobile: 'string',
            mobileStateCode: 'string',
            targetCorpId: 'string',
            type: 'string',
            unionId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceRequestUserIdentity = UploadInvoiceRequestUserIdentity;
class UploadInvoiceResponseBodyResultResults extends $tea.Model {
    static names() {
        return {
            errCode: 'errCode',
            invoiceCode: 'invoiceCode',
            invoiceNo: 'invoiceNo',
            reason: 'reason',
            success: 'success',
        };
    }
    static types() {
        return {
            errCode: 'string',
            invoiceCode: 'string',
            invoiceNo: 'string',
            reason: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceResponseBodyResultResults = UploadInvoiceResponseBodyResultResults;
class UploadInvoiceResponseBodyResult extends $tea.Model {
    static names() {
        return {
            results: 'results',
        };
    }
    static types() {
        return {
            results: { 'type': 'array', 'itemType': UploadInvoiceResponseBodyResultResults },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceResponseBodyResult = UploadInvoiceResponseBodyResult;
class UploadInvoiceByAuthRequestExtension extends $tea.Model {
    static names() {
        return {
            bizCode: 'bizCode',
            orderNo: 'orderNo',
            orderType: 'orderType',
        };
    }
    static types() {
        return {
            bizCode: 'string',
            orderNo: 'string',
            orderType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByAuthRequestExtension = UploadInvoiceByAuthRequestExtension;
class UploadInvoiceByAuthRequestInvoices extends $tea.Model {
    static names() {
        return {
            invoiceAmount: 'invoiceAmount',
            invoiceCode: 'invoiceCode',
            invoiceDate: 'invoiceDate',
            invoiceNo: 'invoiceNo',
            invoiceType: 'invoiceType',
            logoUrl: 'logoUrl',
            payeeName: 'payeeName',
            payeeTaxNo: 'payeeTaxNo',
            payerName: 'payerName',
            payerTaxNo: 'payerTaxNo',
            pdfUrl: 'pdfUrl',
            taxAmount: 'taxAmount',
            verifyCode: 'verifyCode',
            withoutTaxAmount: 'withoutTaxAmount',
        };
    }
    static types() {
        return {
            invoiceAmount: 'string',
            invoiceCode: 'string',
            invoiceDate: 'string',
            invoiceNo: 'string',
            invoiceType: 'string',
            logoUrl: 'string',
            payeeName: 'string',
            payeeTaxNo: 'string',
            payerName: 'string',
            payerTaxNo: 'string',
            pdfUrl: 'string',
            taxAmount: 'string',
            verifyCode: 'string',
            withoutTaxAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByAuthRequestInvoices = UploadInvoiceByAuthRequestInvoices;
class UploadInvoiceByAuthResponseBodyResultResults extends $tea.Model {
    static names() {
        return {
            errCode: 'errCode',
            invoiceCode: 'invoiceCode',
            invoiceNo: 'invoiceNo',
            reason: 'reason',
            success: 'success',
        };
    }
    static types() {
        return {
            errCode: 'string',
            invoiceCode: 'string',
            invoiceNo: 'string',
            reason: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByAuthResponseBodyResultResults = UploadInvoiceByAuthResponseBodyResultResults;
class UploadInvoiceByAuthResponseBodyResult extends $tea.Model {
    static names() {
        return {
            results: 'results',
        };
    }
    static types() {
        return {
            results: { 'type': 'array', 'itemType': UploadInvoiceByAuthResponseBodyResultResults },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByAuthResponseBodyResult = UploadInvoiceByAuthResponseBodyResult;
class UploadInvoiceByMobileRequestInvoices extends $tea.Model {
    static names() {
        return {
            invoiceAmount: 'invoiceAmount',
            invoiceCode: 'invoiceCode',
            invoiceDate: 'invoiceDate',
            invoiceNo: 'invoiceNo',
            invoiceType: 'invoiceType',
            logoUrl: 'logoUrl',
            payeeName: 'payeeName',
            payeeTaxNo: 'payeeTaxNo',
            payerName: 'payerName',
            payerTaxNo: 'payerTaxNo',
            pdfUrl: 'pdfUrl',
            taxAmount: 'taxAmount',
            verifyCode: 'verifyCode',
            withoutTaxAmount: 'withoutTaxAmount',
        };
    }
    static types() {
        return {
            invoiceAmount: 'string',
            invoiceCode: 'string',
            invoiceDate: 'string',
            invoiceNo: 'string',
            invoiceType: 'string',
            logoUrl: 'string',
            payeeName: 'string',
            payeeTaxNo: 'string',
            payerName: 'string',
            payerTaxNo: 'string',
            pdfUrl: 'string',
            taxAmount: 'string',
            verifyCode: 'string',
            withoutTaxAmount: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByMobileRequestInvoices = UploadInvoiceByMobileRequestInvoices;
class UploadInvoiceByMobileResponseBodyResultResults extends $tea.Model {
    static names() {
        return {
            errCode: 'errCode',
            invoiceCode: 'invoiceCode',
            invoiceNo: 'invoiceNo',
            reason: 'reason',
            success: 'success',
        };
    }
    static types() {
        return {
            errCode: 'string',
            invoiceCode: 'string',
            invoiceNo: 'string',
            reason: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByMobileResponseBodyResultResults = UploadInvoiceByMobileResponseBodyResultResults;
class UploadInvoiceByMobileResponseBodyResult extends $tea.Model {
    static names() {
        return {
            results: 'results',
        };
    }
    static types() {
        return {
            results: { 'type': 'array', 'itemType': UploadInvoiceByMobileResponseBodyResultResults },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadInvoiceByMobileResponseBodyResult = UploadInvoiceByMobileResponseBodyResult;
class Client extends openapi_client_1.default {
    constructor(config) {
        super(config);
        let gatewayClient = new gateway_dingtalk_1.default();
        this._spi = gatewayClient;
        this._endpointRule = "";
        if (tea_util_1.default.empty(this._endpoint)) {
            this._endpoint = "api.dingtalk.com";
        }
    }
    /**
     * 批量付款
     *
     * @param request - ApplyBatchPayRequest
     * @param headers - ApplyBatchPayHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ApplyBatchPayResponse
     */
    async applyBatchPayWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.accountId)) {
            body["accountId"] = request.accountId;
        }
        if (!tea_util_1.default.isUnset(request.orderNo)) {
            body["orderNo"] = request.orderNo;
        }
        if (!tea_util_1.default.isUnset(request.passBackParams)) {
            body["passBackParams"] = request.passBackParams;
        }
        if (!tea_util_1.default.isUnset(request.payTerminal)) {
            body["payTerminal"] = request.payTerminal;
        }
        if (!tea_util_1.default.isUnset(request.returnUrl)) {
            body["returnUrl"] = request.returnUrl;
        }
        if (!tea_util_1.default.isUnset(request.staffId)) {
            body["staffId"] = request.staffId;
        }
        if (!tea_util_1.default.isUnset(request.transAmount)) {
            body["transAmount"] = request.transAmount;
        }
        if (!tea_util_1.default.isUnset(request.transExpireTime)) {
            body["transExpireTime"] = request.transExpireTime;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "ApplyBatchPay",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/batchTrades/orders/pay`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ApplyBatchPayResponse({}));
    }
    /**
     * 批量付款
     *
     * @param request - ApplyBatchPayRequest
     * @returns ApplyBatchPayResponse
     */
    async applyBatchPay(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ApplyBatchPayHeaders({});
        return await this.applyBatchPayWithOptions(request, headers, runtime);
    }
    /**
     * 助贷业务关闭借款入口
     *
     * @param request - CloseLoanEntranceRequest
     * @param headers - CloseLoanEntranceHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CloseLoanEntranceResponse
     */
    async closeLoanEntranceWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.requestId)) {
            body["requestId"] = request.requestId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CloseLoanEntrance",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/loans/entrances/close`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CloseLoanEntranceResponse({}));
    }
    /**
     * 助贷业务关闭借款入口
     *
     * @param request - CloseLoanEntranceRequest
     * @returns CloseLoanEntranceResponse
     */
    async closeLoanEntrance(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CloseLoanEntranceHeaders({});
        return await this.closeLoanEntranceWithOptions(request, headers, runtime);
    }
    /**
     * 子机构创建进件预校验
     *
     * @param request - ConsultCreateSubInstitutionRequest
     * @param headers - ConsultCreateSubInstitutionHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ConsultCreateSubInstitutionResponse
     */
    async consultCreateSubInstitutionWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bindingAlipayLogonId)) {
            body["bindingAlipayLogonId"] = request.bindingAlipayLogonId;
        }
        if (!tea_util_1.default.isUnset(request.contactInfo)) {
            body["contactInfo"] = request.contactInfo;
        }
        if (!tea_util_1.default.isUnset(request.instId)) {
            body["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.legalPersonCertInfo)) {
            body["legalPersonCertInfo"] = request.legalPersonCertInfo;
        }
        if (!tea_util_1.default.isUnset(request.outTradeNo)) {
            body["outTradeNo"] = request.outTradeNo;
        }
        if (!tea_util_1.default.isUnset(request.payChannel)) {
            body["payChannel"] = request.payChannel;
        }
        if (!tea_util_1.default.isUnset(request.qualificationInfos)) {
            body["qualificationInfos"] = request.qualificationInfos;
        }
        if (!tea_util_1.default.isUnset(request.services)) {
            body["services"] = request.services;
        }
        if (!tea_util_1.default.isUnset(request.settleInfo)) {
            body["settleInfo"] = request.settleInfo;
        }
        if (!tea_util_1.default.isUnset(request.solution)) {
            body["solution"] = request.solution;
        }
        if (!tea_util_1.default.isUnset(request.subInstAddressInfo)) {
            body["subInstAddressInfo"] = request.subInstAddressInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstAuthInfo)) {
            body["subInstAuthInfo"] = request.subInstAuthInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstBasicInfo)) {
            body["subInstBasicInfo"] = request.subInstBasicInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstCertifyInfo)) {
            body["subInstCertifyInfo"] = request.subInstCertifyInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            body["subInstId"] = request.subInstId;
        }
        if (!tea_util_1.default.isUnset(request.subInstInvoiceInfo)) {
            body["subInstInvoiceInfo"] = request.subInstInvoiceInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstShopInfo)) {
            body["subInstShopInfo"] = request.subInstShopInfo;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "ConsultCreateSubInstitution",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/institutions/subInstitutions/consult`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ConsultCreateSubInstitutionResponse({}));
    }
    /**
     * 子机构创建进件预校验
     *
     * @param request - ConsultCreateSubInstitutionRequest
     * @returns ConsultCreateSubInstitutionResponse
     */
    async consultCreateSubInstitution(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ConsultCreateSubInstitutionHeaders({});
        return await this.consultCreateSubInstitutionWithOptions(request, headers, runtime);
    }
    /**
     * 发起代扣交易
     *
     * @param request - CreatWithholdingOrderAndPayRequest
     * @param headers - CreatWithholdingOrderAndPayHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreatWithholdingOrderAndPayResponse
     */
    async creatWithholdingOrderAndPayWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.amount)) {
            body["amount"] = request.amount;
        }
        if (!tea_util_1.default.isUnset(request.instId)) {
            body["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.otherPayChannelDetailInfoList)) {
            body["otherPayChannelDetailInfoList"] = request.otherPayChannelDetailInfoList;
        }
        if (!tea_util_1.default.isUnset(request.outTradeNo)) {
            body["outTradeNo"] = request.outTradeNo;
        }
        if (!tea_util_1.default.isUnset(request.payChannel)) {
            body["payChannel"] = request.payChannel;
        }
        if (!tea_util_1.default.isUnset(request.payerUserId)) {
            body["payerUserId"] = request.payerUserId;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            body["subInstId"] = request.subInstId;
        }
        if (!tea_util_1.default.isUnset(request.timeOutExpress)) {
            body["timeOutExpress"] = request.timeOutExpress;
        }
        if (!tea_util_1.default.isUnset(request.title)) {
            body["title"] = request.title;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CreatWithholdingOrderAndPay",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/withholdingOrders`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreatWithholdingOrderAndPayResponse({}));
    }
    /**
     * 发起代扣交易
     *
     * @param request - CreatWithholdingOrderAndPayRequest
     * @returns CreatWithholdingOrderAndPayResponse
     */
    async creatWithholdingOrderAndPay(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreatWithholdingOrderAndPayHeaders({});
        return await this.creatWithholdingOrderAndPayWithOptions(request, headers, runtime);
    }
    /**
     * 收单退款交易
     *
     * @param request - CreateAcquireRefundOrderRequest
     * @param headers - CreateAcquireRefundOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateAcquireRefundOrderResponse
     */
    async createAcquireRefundOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.instId)) {
            body["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.operatorUserId)) {
            body["operatorUserId"] = request.operatorUserId;
        }
        if (!tea_util_1.default.isUnset(request.originOutTradeNo)) {
            body["originOutTradeNo"] = request.originOutTradeNo;
        }
        if (!tea_util_1.default.isUnset(request.otherPayChannelDetailInfoList)) {
            body["otherPayChannelDetailInfoList"] = request.otherPayChannelDetailInfoList;
        }
        if (!tea_util_1.default.isUnset(request.outRefundNo)) {
            body["outRefundNo"] = request.outRefundNo;
        }
        if (!tea_util_1.default.isUnset(request.refundAmount)) {
            body["refundAmount"] = request.refundAmount;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            body["subInstId"] = request.subInstId;
        }
        if (!tea_util_1.default.isUnset(request.title)) {
            body["title"] = request.title;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CreateAcquireRefundOrder",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/acquireOrders/refund`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateAcquireRefundOrderResponse({}));
    }
    /**
     * 收单退款交易
     *
     * @param request - CreateAcquireRefundOrderRequest
     * @returns CreateAcquireRefundOrderResponse
     */
    async createAcquireRefundOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateAcquireRefundOrderHeaders({});
        return await this.createAcquireRefundOrderWithOptions(request, headers, runtime);
    }
    /**
     * 创建批量支付单
     *
     * @param request - CreateBatchTradeOrderRequest
     * @param headers - CreateBatchTradeOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateBatchTradeOrderResponse
     */
    async createBatchTradeOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.accountId)) {
            body["accountId"] = request.accountId;
        }
        if (!tea_util_1.default.isUnset(request.accountNo)) {
            body["accountNo"] = request.accountNo;
        }
        if (!tea_util_1.default.isUnset(request.batchRemark)) {
            body["batchRemark"] = request.batchRemark;
        }
        if (!tea_util_1.default.isUnset(request.batchTradeDetails)) {
            body["batchTradeDetails"] = request.batchTradeDetails;
        }
        if (!tea_util_1.default.isUnset(request.outBatchNo)) {
            body["outBatchNo"] = request.outBatchNo;
        }
        if (!tea_util_1.default.isUnset(request.staffId)) {
            body["staffId"] = request.staffId;
        }
        if (!tea_util_1.default.isUnset(request.totalAmount)) {
            body["totalAmount"] = request.totalAmount;
        }
        if (!tea_util_1.default.isUnset(request.totalCount)) {
            body["totalCount"] = request.totalCount;
        }
        if (!tea_util_1.default.isUnset(request.tradeTitle)) {
            body["tradeTitle"] = request.tradeTitle;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CreateBatchTradeOrder",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/batchTrades/orders`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateBatchTradeOrderResponse({}));
    }
    /**
     * 创建批量支付单
     *
     * @param request - CreateBatchTradeOrderRequest
     * @returns CreateBatchTradeOrderResponse
     */
    async createBatchTradeOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateBatchTradeOrderHeaders({});
        return await this.createBatchTradeOrderWithOptions(request, headers, runtime);
    }
    /**
     * 创建子机构
     *
     * @param request - CreateSubInstitutionRequest
     * @param headers - CreateSubInstitutionHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateSubInstitutionResponse
     */
    async createSubInstitutionWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bindingAlipayLogonId)) {
            body["bindingAlipayLogonId"] = request.bindingAlipayLogonId;
        }
        if (!tea_util_1.default.isUnset(request.contactInfo)) {
            body["contactInfo"] = request.contactInfo;
        }
        if (!tea_util_1.default.isUnset(request.instId)) {
            body["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.legalPersonCertInfo)) {
            body["legalPersonCertInfo"] = request.legalPersonCertInfo;
        }
        if (!tea_util_1.default.isUnset(request.outTradeNo)) {
            body["outTradeNo"] = request.outTradeNo;
        }
        if (!tea_util_1.default.isUnset(request.payChannel)) {
            body["payChannel"] = request.payChannel;
        }
        if (!tea_util_1.default.isUnset(request.qualificationInfos)) {
            body["qualificationInfos"] = request.qualificationInfos;
        }
        if (!tea_util_1.default.isUnset(request.services)) {
            body["services"] = request.services;
        }
        if (!tea_util_1.default.isUnset(request.settleInfo)) {
            body["settleInfo"] = request.settleInfo;
        }
        if (!tea_util_1.default.isUnset(request.solution)) {
            body["solution"] = request.solution;
        }
        if (!tea_util_1.default.isUnset(request.subInstAddressInfo)) {
            body["subInstAddressInfo"] = request.subInstAddressInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstAuthInfo)) {
            body["subInstAuthInfo"] = request.subInstAuthInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstBasicInfo)) {
            body["subInstBasicInfo"] = request.subInstBasicInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstCertifyInfo)) {
            body["subInstCertifyInfo"] = request.subInstCertifyInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            body["subInstId"] = request.subInstId;
        }
        if (!tea_util_1.default.isUnset(request.subInstInvoiceInfo)) {
            body["subInstInvoiceInfo"] = request.subInstInvoiceInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstShopInfo)) {
            body["subInstShopInfo"] = request.subInstShopInfo;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CreateSubInstitution",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/institutions/subInstitutions`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateSubInstitutionResponse({}));
    }
    /**
     * 创建子机构
     *
     * @param request - CreateSubInstitutionRequest
     * @returns CreateSubInstitutionResponse
     */
    async createSubInstitution(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateSubInstitutionHeaders({});
        return await this.createSubInstitutionWithOptions(request, headers, runtime);
    }
    /**
     * 创建用户码实例
     *
     * @param request - CreateUserCodeInstanceRequest
     * @param headers - CreateUserCodeInstanceHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateUserCodeInstanceResponse
     */
    async createUserCodeInstanceWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.availableTimes)) {
            body["availableTimes"] = request.availableTimes;
        }
        if (!tea_util_1.default.isUnset(request.codeIdentity)) {
            body["codeIdentity"] = request.codeIdentity;
        }
        if (!tea_util_1.default.isUnset(request.codeValue)) {
            body["codeValue"] = request.codeValue;
        }
        if (!tea_util_1.default.isUnset(request.codeValueType)) {
            body["codeValueType"] = request.codeValueType;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.extInfo)) {
            body["extInfo"] = request.extInfo;
        }
        if (!tea_util_1.default.isUnset(request.gmtExpired)) {
            body["gmtExpired"] = request.gmtExpired;
        }
        if (!tea_util_1.default.isUnset(request.requestId)) {
            body["requestId"] = request.requestId;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        if (!tea_util_1.default.isUnset(request.userCorpRelationType)) {
            body["userCorpRelationType"] = request.userCorpRelationType;
        }
        if (!tea_util_1.default.isUnset(request.userIdentity)) {
            body["userIdentity"] = request.userIdentity;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CreateUserCodeInstance",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/payCodes/userInstances`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateUserCodeInstanceResponse({}));
    }
    /**
     * 创建用户码实例
     *
     * @param request - CreateUserCodeInstanceRequest
     * @returns CreateUserCodeInstanceResponse
     */
    async createUserCodeInstance(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateUserCodeInstanceHeaders({});
        return await this.createUserCodeInstanceWithOptions(request, headers, runtime);
    }
    /**
     * 解码付款码
     *
     * @param request - DecodePayCodeRequest
     * @param headers - DecodePayCodeHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DecodePayCodeResponse
     */
    async decodePayCodeWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.payCode)) {
            body["payCode"] = request.payCode;
        }
        if (!tea_util_1.default.isUnset(request.requestId)) {
            body["requestId"] = request.requestId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "DecodePayCode",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/payCodes/decode`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DecodePayCodeResponse({}));
    }
    /**
     * 解码付款码
     *
     * @param request - DecodePayCodeRequest
     * @returns DecodePayCodeResponse
     */
    async decodePayCode(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DecodePayCodeHeaders({});
        return await this.decodePayCodeWithOptions(request, headers, runtime);
    }
    /**
     * 企业金融助贷业务进件通知接口
     *
     * @param request - FinanceLoanNotifyRegisterRequest
     * @param headers - FinanceLoanNotifyRegisterHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns FinanceLoanNotifyRegisterResponse
     */
    async financeLoanNotifyRegisterWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.completeTime)) {
            body["completeTime"] = request.completeTime;
        }
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.idCardNo)) {
            body["idCardNo"] = request.idCardNo;
        }
        if (!tea_util_1.default.isUnset(request.openChannelName)) {
            body["openChannelName"] = request.openChannelName;
        }
        if (!tea_util_1.default.isUnset(request.openProductCode)) {
            body["openProductCode"] = request.openProductCode;
        }
        if (!tea_util_1.default.isUnset(request.openProductName)) {
            body["openProductName"] = request.openProductName;
        }
        if (!tea_util_1.default.isUnset(request.openProductType)) {
            body["openProductType"] = request.openProductType;
        }
        if (!tea_util_1.default.isUnset(request.processingStatus)) {
            body["processingStatus"] = request.processingStatus;
        }
        if (!tea_util_1.default.isUnset(request.refuseCode)) {
            body["refuseCode"] = request.refuseCode;
        }
        if (!tea_util_1.default.isUnset(request.refuseReason)) {
            body["refuseReason"] = request.refuseReason;
        }
        if (!tea_util_1.default.isUnset(request.registerNo)) {
            body["registerNo"] = request.registerNo;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        if (!tea_util_1.default.isUnset(request.submitTime)) {
            body["submitTime"] = request.submitTime;
        }
        if (!tea_util_1.default.isUnset(request.userMobile)) {
            body["userMobile"] = request.userMobile;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "FinanceLoanNotifyRegister",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/loans/notifications/register`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new FinanceLoanNotifyRegisterResponse({}));
    }
    /**
     * 企业金融助贷业务进件通知接口
     *
     * @param request - FinanceLoanNotifyRegisterRequest
     * @returns FinanceLoanNotifyRegisterResponse
     */
    async financeLoanNotifyRegister(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new FinanceLoanNotifyRegisterHeaders({});
        return await this.financeLoanNotifyRegisterWithOptions(request, headers, runtime);
    }
    /**
     * 修改子机构信息
     *
     * @param request - ModifySubInstitutionRequest
     * @param headers - ModifySubInstitutionHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ModifySubInstitutionResponse
     */
    async modifySubInstitutionWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bindingAlipayLogonId)) {
            body["bindingAlipayLogonId"] = request.bindingAlipayLogonId;
        }
        if (!tea_util_1.default.isUnset(request.contactInfo)) {
            body["contactInfo"] = request.contactInfo;
        }
        if (!tea_util_1.default.isUnset(request.instId)) {
            body["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.legalPersonCertInfo)) {
            body["legalPersonCertInfo"] = request.legalPersonCertInfo;
        }
        if (!tea_util_1.default.isUnset(request.outTradeNo)) {
            body["outTradeNo"] = request.outTradeNo;
        }
        if (!tea_util_1.default.isUnset(request.payChannel)) {
            body["payChannel"] = request.payChannel;
        }
        if (!tea_util_1.default.isUnset(request.qualificationInfos)) {
            body["qualificationInfos"] = request.qualificationInfos;
        }
        if (!tea_util_1.default.isUnset(request.services)) {
            body["services"] = request.services;
        }
        if (!tea_util_1.default.isUnset(request.settleInfo)) {
            body["settleInfo"] = request.settleInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstAddressInfo)) {
            body["subInstAddressInfo"] = request.subInstAddressInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstAuthInfo)) {
            body["subInstAuthInfo"] = request.subInstAuthInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstBasicInfo)) {
            body["subInstBasicInfo"] = request.subInstBasicInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstCertifyInfo)) {
            body["subInstCertifyInfo"] = request.subInstCertifyInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            body["subInstId"] = request.subInstId;
        }
        if (!tea_util_1.default.isUnset(request.subInstInvoiceInfo)) {
            body["subInstInvoiceInfo"] = request.subInstInvoiceInfo;
        }
        if (!tea_util_1.default.isUnset(request.subInstShopInfo)) {
            body["subInstShopInfo"] = request.subInstShopInfo;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "ModifySubInstitution",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/institutions/subInstitutions/modify`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ModifySubInstitutionResponse({}));
    }
    /**
     * 修改子机构信息
     *
     * @param request - ModifySubInstitutionRequest
     * @returns ModifySubInstitutionResponse
     */
    async modifySubInstitution(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ModifySubInstitutionHeaders({});
        return await this.modifySubInstitutionWithOptions(request, headers, runtime);
    }
    /**
     * 通知付款码支付结果
     *
     * @param request - NotifyPayCodePayResultRequest
     * @param headers - NotifyPayCodePayResultHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns NotifyPayCodePayResultResponse
     */
    async notifyPayCodePayResultWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.amount)) {
            body["amount"] = request.amount;
        }
        if (!tea_util_1.default.isUnset(request.chargeAmount)) {
            body["chargeAmount"] = request.chargeAmount;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.extInfo)) {
            body["extInfo"] = request.extInfo;
        }
        if (!tea_util_1.default.isUnset(request.gmtTradeCreate)) {
            body["gmtTradeCreate"] = request.gmtTradeCreate;
        }
        if (!tea_util_1.default.isUnset(request.gmtTradeFinish)) {
            body["gmtTradeFinish"] = request.gmtTradeFinish;
        }
        if (!tea_util_1.default.isUnset(request.merchantName)) {
            body["merchantName"] = request.merchantName;
        }
        if (!tea_util_1.default.isUnset(request.payChannelDetailList)) {
            body["payChannelDetailList"] = request.payChannelDetailList;
        }
        if (!tea_util_1.default.isUnset(request.payCode)) {
            body["payCode"] = request.payCode;
        }
        if (!tea_util_1.default.isUnset(request.promotionAmount)) {
            body["promotionAmount"] = request.promotionAmount;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.title)) {
            body["title"] = request.title;
        }
        if (!tea_util_1.default.isUnset(request.tradeErrorCode)) {
            body["tradeErrorCode"] = request.tradeErrorCode;
        }
        if (!tea_util_1.default.isUnset(request.tradeErrorMsg)) {
            body["tradeErrorMsg"] = request.tradeErrorMsg;
        }
        if (!tea_util_1.default.isUnset(request.tradeNo)) {
            body["tradeNo"] = request.tradeNo;
        }
        if (!tea_util_1.default.isUnset(request.tradeStatus)) {
            body["tradeStatus"] = request.tradeStatus;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "NotifyPayCodePayResult",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/payCodes/payResults/notify`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new NotifyPayCodePayResultResponse({}));
    }
    /**
     * 通知付款码支付结果
     *
     * @param request - NotifyPayCodePayResultRequest
     * @returns NotifyPayCodePayResultResponse
     */
    async notifyPayCodePayResult(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new NotifyPayCodePayResultHeaders({});
        return await this.notifyPayCodePayResultWithOptions(request, headers, runtime);
    }
    /**
     * 通知付款码退款结果
     *
     * @param request - NotifyPayCodeRefundResultRequest
     * @param headers - NotifyPayCodeRefundResultHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns NotifyPayCodeRefundResultResponse
     */
    async notifyPayCodeRefundResultWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.gmtRefund)) {
            body["gmtRefund"] = request.gmtRefund;
        }
        if (!tea_util_1.default.isUnset(request.payChannelDetailList)) {
            body["payChannelDetailList"] = request.payChannelDetailList;
        }
        if (!tea_util_1.default.isUnset(request.payCode)) {
            body["payCode"] = request.payCode;
        }
        if (!tea_util_1.default.isUnset(request.refundAmount)) {
            body["refundAmount"] = request.refundAmount;
        }
        if (!tea_util_1.default.isUnset(request.refundOrderNo)) {
            body["refundOrderNo"] = request.refundOrderNo;
        }
        if (!tea_util_1.default.isUnset(request.refundPromotionAmount)) {
            body["refundPromotionAmount"] = request.refundPromotionAmount;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.tradeNo)) {
            body["tradeNo"] = request.tradeNo;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "NotifyPayCodeRefundResult",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/payCodes/refundResults/notify`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new NotifyPayCodeRefundResultResponse({}));
    }
    /**
     * 通知付款码退款结果
     *
     * @param request - NotifyPayCodeRefundResultRequest
     * @returns NotifyPayCodeRefundResultResponse
     */
    async notifyPayCodeRefundResult(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new NotifyPayCodeRefundResultHeaders({});
        return await this.notifyPayCodeRefundResultWithOptions(request, headers, runtime);
    }
    /**
     * 上报码验证结果
     *
     * @param request - NotifyVerifyResultRequest
     * @param headers - NotifyVerifyResultHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns NotifyVerifyResultResponse
     */
    async notifyVerifyResultWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.payCode)) {
            body["payCode"] = request.payCode;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.userCorpRelationType)) {
            body["userCorpRelationType"] = request.userCorpRelationType;
        }
        if (!tea_util_1.default.isUnset(request.userIdentity)) {
            body["userIdentity"] = request.userIdentity;
        }
        if (!tea_util_1.default.isUnset(request.verifyEvent)) {
            body["verifyEvent"] = request.verifyEvent;
        }
        if (!tea_util_1.default.isUnset(request.verifyLocation)) {
            body["verifyLocation"] = request.verifyLocation;
        }
        if (!tea_util_1.default.isUnset(request.verifyNo)) {
            body["verifyNo"] = request.verifyNo;
        }
        if (!tea_util_1.default.isUnset(request.verifyResult)) {
            body["verifyResult"] = request.verifyResult;
        }
        if (!tea_util_1.default.isUnset(request.verifyTime)) {
            body["verifyTime"] = request.verifyTime;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "NotifyVerifyResult",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/payCodes/verifyResults/notify`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new NotifyVerifyResultResponse({}));
    }
    /**
     * 上报码验证结果
     *
     * @param request - NotifyVerifyResultRequest
     * @returns NotifyVerifyResultResponse
     */
    async notifyVerifyResult(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new NotifyVerifyResultHeaders({});
        return await this.notifyVerifyResultWithOptions(request, headers, runtime);
    }
    /**
     * 预创建群收款订单返回订单号
     *
     * @param request - PreCreateGroupBillOrderRequest
     * @param headers - PreCreateGroupBillOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns PreCreateGroupBillOrderResponse
     */
    async preCreateGroupBillOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.billItemList)) {
            body["billItemList"] = request.billItemList;
        }
        if (!tea_util_1.default.isUnset(request.extParams)) {
            body["extParams"] = request.extParams;
        }
        if (!tea_util_1.default.isUnset(request.headCount)) {
            body["headCount"] = request.headCount;
        }
        if (!tea_util_1.default.isUnset(request.isAverageAmount)) {
            body["isAverageAmount"] = request.isAverageAmount;
        }
        if (!tea_util_1.default.isUnset(request.merchantId)) {
            body["merchantId"] = request.merchantId;
        }
        if (!tea_util_1.default.isUnset(request.openCid)) {
            body["openCid"] = request.openCid;
        }
        if (!tea_util_1.default.isUnset(request.outBizNo)) {
            body["outBizNo"] = request.outBizNo;
        }
        if (!tea_util_1.default.isUnset(request.payeeCorpId)) {
            body["payeeCorpId"] = request.payeeCorpId;
        }
        if (!tea_util_1.default.isUnset(request.payeeUnionId)) {
            body["payeeUnionId"] = request.payeeUnionId;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.totalAmount)) {
            body["totalAmount"] = request.totalAmount;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "PreCreateGroupBillOrder",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/groupbills/preCreate`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new PreCreateGroupBillOrderResponse({}));
    }
    /**
     * 预创建群收款订单返回订单号
     *
     * @param request - PreCreateGroupBillOrderRequest
     * @returns PreCreateGroupBillOrderResponse
     */
    async preCreateGroupBillOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new PreCreateGroupBillOrderHeaders({});
        return await this.preCreateGroupBillOrderWithOptions(request, headers, runtime);
    }
    /**
     * 查询收单退款交易
     *
     * @param request - QueryAcquireRefundOrderRequest
     * @param headers - QueryAcquireRefundOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryAcquireRefundOrderResponse
     */
    async queryAcquireRefundOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.outRefundNo)) {
            query["outRefundNo"] = request.outRefundNo;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryAcquireRefundOrder",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/acquireOrders/refunds`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryAcquireRefundOrderResponse({}));
    }
    /**
     * 查询收单退款交易
     *
     * @param request - QueryAcquireRefundOrderRequest
     * @returns QueryAcquireRefundOrderResponse
     */
    async queryAcquireRefundOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryAcquireRefundOrderHeaders({});
        return await this.queryAcquireRefundOrderWithOptions(request, headers, runtime);
    }
    /**
     * 查询批量付款明细列表
     *
     * @param request - QueryBatchTradeDetailListRequest
     * @param headers - QueryBatchTradeDetailListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryBatchTradeDetailListResponse
     */
    async queryBatchTradeDetailListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.outBatchNo)) {
            query["outBatchNo"] = request.outBatchNo;
        }
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryBatchTradeDetailList",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/batchTrades/details`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryBatchTradeDetailListResponse({}));
    }
    /**
     * 查询批量付款明细列表
     *
     * @param request - QueryBatchTradeDetailListRequest
     * @returns QueryBatchTradeDetailListResponse
     */
    async queryBatchTradeDetailList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryBatchTradeDetailListHeaders({});
        return await this.queryBatchTradeDetailListWithOptions(request, headers, runtime);
    }
    /**
     * 根据请求对象查询批量交易订单信息
     *
     * @param request - QueryBatchTradeOrderRequest
     * @param headers - QueryBatchTradeOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryBatchTradeOrderResponse
     */
    async queryBatchTradeOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.outBatchNos)) {
            body["outBatchNos"] = request.outBatchNos;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "QueryBatchTradeOrder",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/batchTrades/orders/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryBatchTradeOrderResponse({}));
    }
    /**
     * 根据请求对象查询批量交易订单信息
     *
     * @param request - QueryBatchTradeOrderRequest
     * @returns QueryBatchTradeOrderResponse
     */
    async queryBatchTradeOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryBatchTradeOrderHeaders({});
        return await this.queryBatchTradeOrderWithOptions(request, headers, runtime);
    }
    /**
     * 查询付款账号列表
     *
     * @param headers - QueryPayAccountListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryPayAccountListResponse
     */
    async queryPayAccountListWithOptions(headers, runtime) {
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
        });
        let params = new $OpenApi.Params({
            action: "QueryPayAccountList",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/payAccounts`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryPayAccountListResponse({}));
    }
    /**
     * 查询付款账号列表
     * @returns QueryPayAccountListResponse
     */
    async queryPayAccountList() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryPayAccountListHeaders({});
        return await this.queryPayAccountListWithOptions(headers, runtime);
    }
    /**
     * 查询子机构申请单状态
     *
     * @param request - QueryRegisterOrderRequest
     * @param headers - QueryRegisterOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryRegisterOrderResponse
     */
    async queryRegisterOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.instId)) {
            query["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.orderId)) {
            query["orderId"] = request.orderId;
        }
        if (!tea_util_1.default.isUnset(request.outTradeNo)) {
            query["outTradeNo"] = request.outTradeNo;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            query["subInstId"] = request.subInstId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryRegisterOrder",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/institutions/subInstitutions/orders`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryRegisterOrderResponse({}));
    }
    /**
     * 查询子机构申请单状态
     *
     * @param request - QueryRegisterOrderRequest
     * @returns QueryRegisterOrderResponse
     */
    async queryRegisterOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryRegisterOrderHeaders({});
        return await this.queryRegisterOrderWithOptions(request, headers, runtime);
    }
    /**
     * 查询用户协议
     *
     * @param request - QueryUserAgreementRequest
     * @param headers - QueryUserAgreementHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryUserAgreementResponse
     */
    async queryUserAgreementWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.bizCode)) {
            query["bizCode"] = request.bizCode;
        }
        if (!tea_util_1.default.isUnset(request.bizScene)) {
            query["bizScene"] = request.bizScene;
        }
        if (!tea_util_1.default.isUnset(request.instId)) {
            query["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            query["subInstId"] = request.subInstId;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryUserAgreement",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/userAgreements`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryUserAgreementResponse({}));
    }
    /**
     * 查询用户协议
     *
     * @param request - QueryUserAgreementRequest
     * @returns QueryUserAgreementResponse
     */
    async queryUserAgreement(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryUserAgreementHeaders({});
        return await this.queryUserAgreementWithOptions(request, headers, runtime);
    }
    /**
     * 获取用户绑定支付宝信息
     *
     * @param headers - QueryUserAlipayAccountHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryUserAlipayAccountResponse
     */
    async queryUserAlipayAccountWithOptions(headers, runtime) {
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
        });
        let params = new $OpenApi.Params({
            action: "QueryUserAlipayAccount",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/userAlipayAccounts`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryUserAlipayAccountResponse({}));
    }
    /**
     * 获取用户绑定支付宝信息
     * @returns QueryUserAlipayAccountResponse
     */
    async queryUserAlipayAccount() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryUserAlipayAccountHeaders({});
        return await this.queryUserAlipayAccountWithOptions(headers, runtime);
    }
    /**
     * 查询代扣交易订单信息
     *
     * @param request - QueryWithholdingOrderRequest
     * @param headers - QueryWithholdingOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryWithholdingOrderResponse
     */
    async queryWithholdingOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.outTradeNo)) {
            query["outTradeNo"] = request.outTradeNo;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryWithholdingOrder",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/withholdingOrders`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryWithholdingOrderResponse({}));
    }
    /**
     * 查询代扣交易订单信息
     *
     * @param request - QueryWithholdingOrderRequest
     * @returns QueryWithholdingOrderResponse
     */
    async queryWithholdingOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryWithholdingOrderHeaders({});
        return await this.queryWithholdingOrderWithOptions(request, headers, runtime);
    }
    /**
     * 保存付款码企业配置信息
     *
     * @param request - SaveCorpPayCodeRequest
     * @param headers - SaveCorpPayCodeHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SaveCorpPayCodeResponse
     */
    async saveCorpPayCodeWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.codeIdentity)) {
            body["codeIdentity"] = request.codeIdentity;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.extInfo)) {
            body["extInfo"] = request.extInfo;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "SaveCorpPayCode",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/payCodes/corpSettings`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SaveCorpPayCodeResponse({}));
    }
    /**
     * 保存付款码企业配置信息
     *
     * @param request - SaveCorpPayCodeRequest
     * @returns SaveCorpPayCodeResponse
     */
    async saveCorpPayCode(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SaveCorpPayCodeHeaders({});
        return await this.saveCorpPayCodeWithOptions(request, headers, runtime);
    }
    /**
     * 解约用户协议
     *
     * @param request - UnsignUserAgreementRequest
     * @param headers - UnsignUserAgreementHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UnsignUserAgreementResponse
     */
    async unsignUserAgreementWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.agreementNo)) {
            body["agreementNo"] = request.agreementNo;
        }
        if (!tea_util_1.default.isUnset(request.bizCode)) {
            body["bizCode"] = request.bizCode;
        }
        if (!tea_util_1.default.isUnset(request.bizScene)) {
            body["bizScene"] = request.bizScene;
        }
        if (!tea_util_1.default.isUnset(request.instId)) {
            body["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            body["subInstId"] = request.subInstId;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UnsignUserAgreement",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/userAgreements/unsign`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UnsignUserAgreementResponse({}));
    }
    /**
     * 解约用户协议
     *
     * @param request - UnsignUserAgreementRequest
     * @returns UnsignUserAgreementResponse
     */
    async unsignUserAgreement(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UnsignUserAgreementHeaders({});
        return await this.unsignUserAgreementWithOptions(request, headers, runtime);
    }
    /**
     * 更新用户码实例
     *
     * @param request - UpateUserCodeInstanceRequest
     * @param headers - UpateUserCodeInstanceHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpateUserCodeInstanceResponse
     */
    async upateUserCodeInstanceWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.availableTimes)) {
            body["availableTimes"] = request.availableTimes;
        }
        if (!tea_util_1.default.isUnset(request.codeId)) {
            body["codeId"] = request.codeId;
        }
        if (!tea_util_1.default.isUnset(request.codeIdentity)) {
            body["codeIdentity"] = request.codeIdentity;
        }
        if (!tea_util_1.default.isUnset(request.codeValue)) {
            body["codeValue"] = request.codeValue;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.extInfo)) {
            body["extInfo"] = request.extInfo;
        }
        if (!tea_util_1.default.isUnset(request.gmtExpired)) {
            body["gmtExpired"] = request.gmtExpired;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        if (!tea_util_1.default.isUnset(request.userCorpRelationType)) {
            body["userCorpRelationType"] = request.userCorpRelationType;
        }
        if (!tea_util_1.default.isUnset(request.userIdentity)) {
            body["userIdentity"] = request.userIdentity;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpateUserCodeInstance",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/payCodes/userInstances`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpateUserCodeInstanceResponse({}));
    }
    /**
     * 更新用户码实例
     *
     * @param request - UpateUserCodeInstanceRequest
     * @returns UpateUserCodeInstanceResponse
     */
    async upateUserCodeInstance(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpateUserCodeInstanceHeaders({});
        return await this.upateUserCodeInstanceWithOptions(request, headers, runtime);
    }
    /**
     * 用来给第三方企业提供发票验真结果更新的oapi
     *
     * @param request - UpdateInvoiceVerifyStatusRequest
     * @param headers - UpdateInvoiceVerifyStatusHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateInvoiceVerifyStatusResponse
     */
    async updateInvoiceVerifyStatusWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizId)) {
            body["bizId"] = request.bizId;
        }
        if (!tea_util_1.default.isUnset(request.checkingResult)) {
            body["checkingResult"] = request.checkingResult;
        }
        if (!tea_util_1.default.isUnset(request.checkingStatus)) {
            body["checkingStatus"] = request.checkingStatus;
        }
        if (!tea_util_1.default.isUnset(request.code)) {
            body["code"] = request.code;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.invoiceCode)) {
            body["invoiceCode"] = request.invoiceCode;
        }
        if (!tea_util_1.default.isUnset(request.invoiceNo)) {
            body["invoiceNo"] = request.invoiceNo;
        }
        if (!tea_util_1.default.isUnset(request.invoiceStatus)) {
            body["invoiceStatus"] = request.invoiceStatus;
        }
        if (!tea_util_1.default.isUnset(request.invoiceVerifyId)) {
            body["invoiceVerifyId"] = request.invoiceVerifyId;
        }
        if (!tea_util_1.default.isUnset(request.msg)) {
            body["msg"] = request.msg;
        }
        if (!tea_util_1.default.isUnset(request.unionId)) {
            body["unionId"] = request.unionId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateInvoiceVerifyStatus",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/invoices/verifyStatus`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateInvoiceVerifyStatusResponse({}));
    }
    /**
     * 用来给第三方企业提供发票验真结果更新的oapi
     *
     * @param request - UpdateInvoiceVerifyStatusRequest
     * @returns UpdateInvoiceVerifyStatusResponse
     */
    async updateInvoiceVerifyStatus(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateInvoiceVerifyStatusHeaders({});
        return await this.updateInvoiceVerifyStatusWithOptions(request, headers, runtime);
    }
    /**
     * 上传发票
     *
     * @param request - UploadInvoiceRequest
     * @param headers - UploadInvoiceHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UploadInvoiceResponse
     */
    async uploadInvoiceWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.invoices)) {
            body["invoices"] = request.invoices;
        }
        if (!tea_util_1.default.isUnset(request.userIdentity)) {
            body["userIdentity"] = request.userIdentity;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UploadInvoice",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/invoices/upload`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UploadInvoiceResponse({}));
    }
    /**
     * 上传发票
     *
     * @param request - UploadInvoiceRequest
     * @returns UploadInvoiceResponse
     */
    async uploadInvoice(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UploadInvoiceHeaders({});
        return await this.uploadInvoiceWithOptions(request, headers, runtime);
    }
    /**
     * 用户授权上传发票oapi
     *
     * @param request - UploadInvoiceByAuthRequest
     * @param headers - UploadInvoiceByAuthHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UploadInvoiceByAuthResponse
     */
    async uploadInvoiceByAuthWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.invoices)) {
            body["invoices"] = request.invoices;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UploadInvoiceByAuth",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/invoices/authorizations/upload`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UploadInvoiceByAuthResponse({}));
    }
    /**
     * 用户授权上传发票oapi
     *
     * @param request - UploadInvoiceByAuthRequest
     * @returns UploadInvoiceByAuthResponse
     */
    async uploadInvoiceByAuth(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UploadInvoiceByAuthHeaders({});
        return await this.uploadInvoiceByAuthWithOptions(request, headers, runtime);
    }
    /**
     * 通过手机号上传发票
     *
     * @param request - UploadInvoiceByMobileRequest
     * @param headers - UploadInvoiceByMobileHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UploadInvoiceByMobileResponse
     */
    async uploadInvoiceByMobileWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.invoices)) {
            body["invoices"] = request.invoices;
        }
        if (!tea_util_1.default.isUnset(request.mobile)) {
            body["mobile"] = request.mobile;
        }
        if (!tea_util_1.default.isUnset(request.mobileStateCode)) {
            body["mobileStateCode"] = request.mobileStateCode;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UploadInvoiceByMobile",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/invoices/mobiles/upload`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UploadInvoiceByMobileResponse({}));
    }
    /**
     * 通过手机号上传发票
     *
     * @param request - UploadInvoiceByMobileRequest
     * @returns UploadInvoiceByMobileResponse
     */
    async uploadInvoiceByMobile(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UploadInvoiceByMobileHeaders({});
        return await this.uploadInvoiceByMobileWithOptions(request, headers, runtime);
    }
    /**
     * 上传进件中的图片获得图片链接
     *
     * @param request - UploadRegisterImageRequest
     * @param headers - UploadRegisterImageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UploadRegisterImageResponse
     */
    async uploadRegisterImageWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.imageContent)) {
            body["imageContent"] = request.imageContent;
        }
        if (!tea_util_1.default.isUnset(request.imageName)) {
            body["imageName"] = request.imageName;
        }
        if (!tea_util_1.default.isUnset(request.imageType)) {
            body["imageType"] = request.imageType;
        }
        if (!tea_util_1.default.isUnset(request.instId)) {
            body["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.payChannel)) {
            body["payChannel"] = request.payChannel;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UploadRegisterImage",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/institutions/images`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UploadRegisterImageResponse({}));
    }
    /**
     * 上传进件中的图片获得图片链接
     *
     * @param request - UploadRegisterImageRequest
     * @returns UploadRegisterImageResponse
     */
    async uploadRegisterImage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UploadRegisterImageHeaders({});
        return await this.uploadRegisterImageWithOptions(request, headers, runtime);
    }
    /**
     * 用户协议签约
     *
     * @param request - UserAgreementPageSignRequest
     * @param headers - UserAgreementPageSignHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UserAgreementPageSignResponse
     */
    async userAgreementPageSignWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizCode)) {
            body["bizCode"] = request.bizCode;
        }
        if (!tea_util_1.default.isUnset(request.bizScene)) {
            body["bizScene"] = request.bizScene;
        }
        if (!tea_util_1.default.isUnset(request.instId)) {
            body["instId"] = request.instId;
        }
        if (!tea_util_1.default.isUnset(request.payChannel)) {
            body["payChannel"] = request.payChannel;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.returnUrl)) {
            body["returnUrl"] = request.returnUrl;
        }
        if (!tea_util_1.default.isUnset(request.signScene)) {
            body["signScene"] = request.signScene;
        }
        if (!tea_util_1.default.isUnset(request.subInstId)) {
            body["subInstId"] = request.subInstId;
        }
        if (!tea_util_1.default.isUnset(request.subMerchantName)) {
            body["subMerchantName"] = request.subMerchantName;
        }
        if (!tea_util_1.default.isUnset(request.subMerchantServiceDesc)) {
            body["subMerchantServiceDesc"] = request.subMerchantServiceDesc;
        }
        if (!tea_util_1.default.isUnset(request.subMerchantServiceName)) {
            body["subMerchantServiceName"] = request.subMerchantServiceName;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UserAgreementPageSign",
            version: "finance_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/finance/userAgreements`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UserAgreementPageSignResponse({}));
    }
    /**
     * 用户协议签约
     *
     * @param request - UserAgreementPageSignRequest
     * @returns UserAgreementPageSignResponse
     */
    async userAgreementPageSign(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UserAgreementPageSignHeaders({});
        return await this.userAgreementPageSignWithOptions(request, headers, runtime);
    }
}
exports.default = Client;
//# sourceMappingURL=client.js.map