UNPKG

@paciolan/cybersource-sdk

Version:
247 lines (246 loc) 15.3 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TaxesApi = exports.TaxesApiFactory = exports.TaxesApiFp = exports.TaxesApiAxiosParamCreator = void 0; /* tslint:disable */ /* eslint-disable */ /** * CyberSource Merged Spec * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html * * OpenAPI spec version: 0.0.1 * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ const axios_1 = __importDefault(require("axios")); const AuthenticationHeader_1 = require("../authentication/core/AuthenticationHeader"); // Some imports not used depending on template conditions // @ts-ignore const base_1 = require("../base"); /** * TaxesApi - axios parameter creator * @export */ const TaxesApiAxiosParamCreator = function (configuration) { return { /** * The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation guidance, list of supported countries, and information on tax reporting are in the [Tax User Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html). * @summary Calculate Taxes * @param {V2TaxBody} body * @param {*} [options] Override http request option. * @throws {RequiredError} */ calculateTax: (body, options = {}) => __awaiter(this, void 0, void 0, function* () { // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { throw new base_1.RequiredError('body', 'Required parameter body was null or undefined when calling calculateTax.'); } const localVarPath = `/vas/v2/tax`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, 'https://example.com'); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options); const localVarHeaderParameter = {}; const localVarQueryParameter = {}; localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8'; const query = new URLSearchParams(localVarUrlObj.search); for (const key in localVarQueryParameter) { query.set(key, localVarQueryParameter[key]); } for (const key in options.params) { query.set(key, options.params[key]); } localVarUrlObj.search = (new URLSearchParams(query)).toString(); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json'; localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || ""); const authHeader = new AuthenticationHeader_1.AuthenticationHeader(); authHeader.setConfiguration(Object.assign(Object.assign({}, configuration), options)); localVarRequestOptions.headers = authHeader.callAuthenticationHeader(localVarRequestOptions.method, localVarPath, localVarRequestOptions.data, localVarRequestOptions.headers); return { url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, options: localVarRequestOptions, }; }), /** * Pass the Tax Request ID in the PATCH request to void the committed tax calculation. * @summary Void Taxes * @param {TaxIdBody} body * @param {string} id The tax ID returned from a previous request. * @param {*} [options] Override http request option. * @throws {RequiredError} */ voidTax: (body, id, options = {}) => __awaiter(this, void 0, void 0, function* () { // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { throw new base_1.RequiredError('body', 'Required parameter body was null or undefined when calling voidTax.'); } // verify required parameter 'id' is not null or undefined if (id === null || id === undefined) { throw new base_1.RequiredError('id', 'Required parameter id was null or undefined when calling voidTax.'); } const localVarPath = `/vas/v2/tax/{id}` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, 'https://example.com'); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = Object.assign(Object.assign({ method: 'PATCH' }, baseOptions), options); const localVarHeaderParameter = {}; const localVarQueryParameter = {}; localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8'; const query = new URLSearchParams(localVarUrlObj.search); for (const key in localVarQueryParameter) { query.set(key, localVarQueryParameter[key]); } for (const key in options.params) { query.set(key, options.params[key]); } localVarUrlObj.search = (new URLSearchParams(query)).toString(); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json'; localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || ""); const authHeader = new AuthenticationHeader_1.AuthenticationHeader(); authHeader.setConfiguration(Object.assign(Object.assign({}, configuration), options)); localVarRequestOptions.headers = authHeader.callAuthenticationHeader(localVarRequestOptions.method, localVarPath, localVarRequestOptions.data, localVarRequestOptions.headers); return { url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, options: localVarRequestOptions, }; }), }; }; exports.TaxesApiAxiosParamCreator = TaxesApiAxiosParamCreator; /** * TaxesApi - functional programming interface * @export */ const TaxesApiFp = function (configuration) { return { /** * The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation guidance, list of supported countries, and information on tax reporting are in the [Tax User Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html). * @summary Calculate Taxes * @param {V2TaxBody} body * @param {*} [options] Override http request option. * @throws {RequiredError} */ calculateTax(body, options) { return __awaiter(this, void 0, void 0, function* () { const localVarAxiosArgs = yield (0, exports.TaxesApiAxiosParamCreator)(configuration).calculateTax(body, options); return (axios = axios_1.default, basePath = base_1.BASE_PATH) => { const axiosRequestArgs = Object.assign(Object.assign({}, localVarAxiosArgs.options), { url: basePath + localVarAxiosArgs.url }); return axios.request(axiosRequestArgs); }; }); }, /** * Pass the Tax Request ID in the PATCH request to void the committed tax calculation. * @summary Void Taxes * @param {TaxIdBody} body * @param {string} id The tax ID returned from a previous request. * @param {*} [options] Override http request option. * @throws {RequiredError} */ voidTax(body, id, options) { return __awaiter(this, void 0, void 0, function* () { const localVarAxiosArgs = yield (0, exports.TaxesApiAxiosParamCreator)(configuration).voidTax(body, id, options); return (axios = axios_1.default, basePath = base_1.BASE_PATH) => { const axiosRequestArgs = Object.assign(Object.assign({}, localVarAxiosArgs.options), { url: basePath + localVarAxiosArgs.url }); return axios.request(axiosRequestArgs); }; }); }, }; }; exports.TaxesApiFp = TaxesApiFp; /** * TaxesApi - factory interface * @export */ const TaxesApiFactory = function (configuration, basePath, axios) { return { /** * The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation guidance, list of supported countries, and information on tax reporting are in the [Tax User Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html). * @summary Calculate Taxes * @param {V2TaxBody} body * @param {*} [options] Override http request option. * @throws {RequiredError} */ calculateTax(body, options) { return __awaiter(this, void 0, void 0, function* () { return (0, exports.TaxesApiFp)(configuration).calculateTax(body, options).then((request) => request(axios, basePath)); }); }, /** * Pass the Tax Request ID in the PATCH request to void the committed tax calculation. * @summary Void Taxes * @param {TaxIdBody} body * @param {string} id The tax ID returned from a previous request. * @param {*} [options] Override http request option. * @throws {RequiredError} */ voidTax(body, id, options) { return __awaiter(this, void 0, void 0, function* () { return (0, exports.TaxesApiFp)(configuration).voidTax(body, id, options).then((request) => request(axios, basePath)); }); }, }; }; exports.TaxesApiFactory = TaxesApiFactory; /** * TaxesApi - object-oriented interface * @export * @class TaxesApi * @extends {BaseAPI} */ class TaxesApi extends base_1.BaseAPI { /** * The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation guidance, list of supported countries, and information on tax reporting are in the [Tax User Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html). * @summary Calculate Taxes * @param {V2TaxBody} body * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TaxesApi */ calculateTax(body, options) { return __awaiter(this, void 0, void 0, function* () { return (0, exports.TaxesApiFp)(this.configuration).calculateTax(body, options).then((request) => request(this.axios, options.runEnvironment != null ? `https://${options.runEnvironment}` : this.basePath)); }); } /** * Pass the Tax Request ID in the PATCH request to void the committed tax calculation. * @summary Void Taxes * @param {TaxIdBody} body * @param {string} id The tax ID returned from a previous request. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TaxesApi */ voidTax(body, id, options) { return __awaiter(this, void 0, void 0, function* () { return (0, exports.TaxesApiFp)(this.configuration).voidTax(body, id, options).then((request) => request(this.axios, options.runEnvironment != null ? `https://${options.runEnvironment}` : this.basePath)); }); } } exports.TaxesApi = TaxesApi;