UNPKG

newebpay-mpg-sdk

Version:

藍新金流 幕前支付(MPG) SDK

722 lines (721 loc) 36 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; 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 __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NewebpayClient = void 0; var axios_1 = __importDefault(require("axios")); var crypto_1 = __importDefault(require("crypto")); var form_data_1 = __importDefault(require("form-data")); var _1 = require("."); var NewebpayClient = (function () { function NewebpayClient(params) { var _this = this; var _a, _b, _c, _d; this.requestCreditCardPayment = function (params) { return __awaiter(_this, void 0, void 0, function () { var Version, TimeStamp, formData, data; return __generator(this, function (_a) { switch (_a.label) { case 0: Version = params.TokenSwitch ? "2.0" : "1.1"; TimeStamp = this.getTimeStamp(); formData = new form_data_1.default(); formData.append("MerchantID_", this.merchantId); formData.append("PostData_", this.buildTradeInfo(__assign({ MerchantID: this.merchantId, TimeStamp: TimeStamp, Version: Version }, params))); formData.append("Pos_", "JSON"); return [4, this.apiInstance.post("/API/CreditCard/Close", formData)]; case 1: data = (_a.sent()).data; return [2, data]; } }); }); }; var isDryRun = params.env === "sandbox"; this.env = params.env; this.partnerId = (_a = params.partnerId) !== null && _a !== void 0 ? _a : null; this.merchantId = params.merchantId; this.hashKey = params.hashKey; this.hashIV = params.hashIV; this.userAgent = (_b = params.options) === null || _b === void 0 ? void 0 : _b.userAgent; this.proxyEndpoint = (_c = params.options) === null || _c === void 0 ? void 0 : _c.proxyEndpoint; this.proxySecret = (_d = params.options) === null || _d === void 0 ? void 0 : _d.proxySecret; this.apiEndpoint = isDryRun ? "https://ccore.newebpay.com" : "https://core.newebpay.com"; this.inframeEndpoint = isDryRun ? "https://c-inframe.newebpay.com" : "https://p-inframe.newebpay.com"; this.apiInstance = this.createApiInstance({ apiEndpoint: this.apiEndpoint, proxyEndpoint: this.proxyEndpoint, proxySecret: this.proxySecret, userAgent: this.userAgent, defaultHeaders: { "Content-Type": "multipart/form-data", }, }); this.inframeInstance = this.createApiInstance({ apiEndpoint: this.inframeEndpoint, proxyEndpoint: this.proxyEndpoint, proxySecret: this.proxySecret, userAgent: this.userAgent, }); } NewebpayClient.prototype.parseTradeInfo = function (tradeInfo) { var decrypted = this.decryptAESString(tradeInfo); return JSON.parse(decrypted); }; NewebpayClient.prototype.decryptAESString = function (encrypted) { var decipher = crypto_1.default.createDecipheriv("aes256", this.hashKey, this.hashIV); decipher.setAutoPadding(false); var decrypted = decipher.update(encrypted, "hex", "utf8"); decrypted += decipher.final("utf8"); return decrypted.replace(/[\x00-\x20]+/g, ""); }; NewebpayClient.prototype.getPaymentFormHTML = function (params) { var _a; var Version = (_a = params.Version) !== null && _a !== void 0 ? _a : "2.0"; var TimeStamp = this.getTimeStamp(); var tradeInfo = this.buildTradeInfo(__assign({ MerchantID: this.merchantId, RespondType: "JSON", TimeStamp: TimeStamp, Version: Version, LangType: "zh-tw", LoginType: 0 }, params)); var tradeSha = this.buildTradeSha(tradeInfo); var html = []; var paymentEndpoint = "".concat(this.apiEndpoint, "/MPG/mpg_gateway"); var formId = "_auto_pay_Form_".concat(new Date().getTime()); html.push("<form id=\"".concat(formId, "\" method=\"post\" action=\"").concat(paymentEndpoint, "\">")); html.push("<input type=\"hidden\" name=\"MerchantID\" value=\"".concat(this.merchantId, "\" />")); html.push("<input type=\"hidden\" name=\"Version\" value=\"".concat(Version, "\" />")); html.push("<input type=\"hidden\" name=\"TradeInfo\" value=\"".concat(tradeInfo, "\" />")); html.push("<input type=\"hidden\" name=\"TradeSha\" value=\"".concat(tradeSha, "\" />")); html.push("</form>"); html.push("<script>"); html.push("document.getElementById(\"".concat(formId, "\").submit();")); html.push("</script>"); return html.join("\n"); }; NewebpayClient.prototype.queryTradeInfo = function (params) { return __awaiter(this, void 0, void 0, function () { var Amt, MerchantOrderNo, MerchantID, Version, TimeStamp, CheckValue, formData, data, Status, Message, Result; return __generator(this, function (_a) { switch (_a.label) { case 0: Amt = params.Amt, MerchantOrderNo = params.MerchantOrderNo; MerchantID = this.merchantId; Version = "1.3"; TimeStamp = this.getTimeStamp(); CheckValue = this.buildCheckValue({ Amt: Amt, MerchantID: MerchantID, MerchantOrderNo: MerchantOrderNo, }); formData = new form_data_1.default(); formData.append("MerchantID", MerchantID); formData.append("Version", Version); formData.append("RespondType", "JSON"); formData.append("CheckValue", CheckValue); formData.append("TimeStamp", TimeStamp); formData.append("MerchantOrderNo", MerchantOrderNo); formData.append("Amt", Amt); return [4, this.apiInstance.post("/API/QueryTradeInfo", formData)]; case 1: data = (_a.sent()).data; Status = data.Status; Message = data.Message; Result = data.Result; return [2, { Status: Status, Message: Message, Result: Result, }]; } }); }); }; NewebpayClient.prototype.createPeriodicPaymentHTML = function (params) { if (params.PeriodTimes > 99) { throw new Error("PeriodTimes must be less than 100"); } var periodFirstdateRegex = /^\d{4}\/\d{2}\/\d{2}$/; if (params.PeriodFirstdate && !periodFirstdateRegex.test(params.PeriodFirstdate)) { throw new Error("PeriodTimes format is invalid"); } var Version = "1.5"; var TimeStamp = this.getTimeStamp(); var tradeInfo = this.buildTradeInfo(__assign({ RespondType: "JSON", TimeStamp: TimeStamp, Version: Version }, params)); var html = []; var paymentEndpoint = "".concat(this.apiEndpoint, "/MPG/period"); var formId = "_auto_pay_Form_".concat(new Date().getTime()); html.push("<form id=\"".concat(formId, "\" method=\"post\" action=\"").concat(paymentEndpoint, "\">")); html.push("<input type=\"hidden\" name=\"MerchantID_\" value=\"".concat(this.merchantId, "\" />")); html.push("<input type=\"hidden\" name=\"PostData_\" value=\"".concat(tradeInfo, "\" />")); html.push("</form>"); html.push("<script>"); html.push("document.getElementById(\"".concat(formId, "\").submit();")); html.push("</script>"); return html.join("\n"); }; NewebpayClient.prototype.alterPeriodicPaymentStatus = function (params) { return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, PostData_, formData, data, response, period, decrypted; return __generator(this, function (_a) { switch (_a.label) { case 0: Version = "1.0"; TimeStamp = this.getTimeStamp(); PostData_ = this.buildTradeInfo(__assign({ RespondType: "JSON", TimeStamp: TimeStamp, Version: Version }, params)); formData = new form_data_1.default(); formData.append("MerchantID_", this.merchantId); formData.append("PostData_", PostData_); return [4, this.apiInstance.post("/MPG/period/AlterStatus", formData)]; case 1: data = (_a.sent()).data; if (typeof data === "string") { response = new URLSearchParams(data); return [2, { Status: response.get("Status"), Message: response.get("Message"), Result: null, }]; } else { period = data.period; decrypted = this.decryptAESString(period); return [2, JSON.parse(decrypted)]; } return [2]; } }); }); }; NewebpayClient.prototype.alterPeriodicPaymentAmount = function (params) { return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, PostData_, formData, data, response, period, decrypted; return __generator(this, function (_a) { switch (_a.label) { case 0: Version = "1.2"; TimeStamp = this.getTimeStamp(); PostData_ = this.buildTradeInfo(__assign({ RespondType: "JSON", TimeStamp: TimeStamp, Version: Version }, params)); formData = new form_data_1.default(); formData.append("MerchantID_", this.merchantId); formData.append("PostData_", PostData_); return [4, this.apiInstance.post("/MPG/period/AlterAmt", formData)]; case 1: data = (_a.sent()).data; if (typeof data === "string") { response = new URLSearchParams(data); return [2, { Status: response.get("Status"), Message: response.get("Message"), Result: null, }]; } else { period = data.period; decrypted = this.decryptAESString(period); return [2, JSON.parse(decrypted)]; } return [2]; } }); }); }; NewebpayClient.prototype.refundCreditCard = function (params) { return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, PostData_, formData, data, Status, Message, Result; return __generator(this, function (_a) { switch (_a.label) { case 0: Version = "1.1"; TimeStamp = this.getTimeStamp(); PostData_ = this.buildTradeInfo(__assign({ RespondType: "JSON", TimeStamp: TimeStamp, Version: Version }, params)); formData = new form_data_1.default(); formData.append("MerchantID_", this.merchantId); formData.append("PostData_", PostData_); return [4, this.apiInstance.post("/API/CreditCard/Close", formData)]; case 1: data = (_a.sent()).data; Status = data.Status; Message = data.Message; Result = data.Result; return [2, { Status: Status, Message: Message, Result: Result, }]; } }); }); }; NewebpayClient.prototype.cancelCreditCard = function (params) { return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, PostData_, formData, data, Status, Message, Result; return __generator(this, function (_a) { switch (_a.label) { case 0: Version = "1.0"; TimeStamp = this.getTimeStamp(); PostData_ = this.buildTradeInfo(__assign({ RespondType: "JSON", TimeStamp: TimeStamp, Version: Version }, params)); formData = new form_data_1.default(); formData.append("MerchantID_", this.merchantId); formData.append("PostData_", PostData_); return [4, this.apiInstance.post("/API/CreditCard/Cancel", formData)]; case 1: data = (_a.sent()).data; Status = data.Status; Message = data.Message; Result = data.Result; return [2, { Status: Status, Message: Message, Result: Result, }]; } }); }); }; NewebpayClient.prototype.refundEWallet = function (params) { return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, data_, EncryptData_, HashData_, formData, data, Status, Message, UID, EncryptData, Result; return __generator(this, function (_a) { switch (_a.label) { case 0: Version = "1.0"; TimeStamp = this.getTimeStamp(); data_ = JSON.stringify(__assign({ TimeStamp: TimeStamp }, params)); EncryptData_ = this.encryptAESString(data_); HashData_ = this.buildTradeSha(EncryptData_); formData = new form_data_1.default(); formData.append("UID_", this.merchantId); formData.append("Version_", Version); formData.append("EncryptData_", EncryptData_); formData.append("RespondType_", "JSON"); formData.append("HashData_", HashData_); return [4, this.apiInstance.post("/API/EWallet/refund", formData)]; case 1: data = (_a.sent()).data; Status = data.Status; Message = data.Message; UID = data.UID; EncryptData = data.EncryptData; Result = EncryptData ? this.parseTradeInfo(EncryptData) : {}; return [2, { UID: UID, Version: Version, Status: Status, Message: Message, Result: Result, }]; } }); }); }; NewebpayClient.prototype.addMerchant = function (params) { var _a; return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, formData, data, status, message, result; return __generator(this, function (_b) { switch (_b.label) { case 0: if (!this.partnerId) { throw new Error("Please provide PartnerID"); } Version = (_a = params.Version) !== null && _a !== void 0 ? _a : "1.8"; TimeStamp = this.getTimeStamp(); formData = new form_data_1.default(); formData.append("PartnerID_", this.partnerId); formData.append("PostData_", this.buildTradeInfo(__assign({ TimeStamp: TimeStamp, Version: Version }, params))); return [4, this.apiInstance.post("/API/AddMerchant", formData)]; case 1: data = (_b.sent()).data; status = data.status; message = data.message; result = data.result; return [2, { status: status, message: message, result: result, }]; } }); }); }; NewebpayClient.prototype.modifyMerchant = function (params) { var _a; return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, formData, data, status, message, result; return __generator(this, function (_b) { switch (_b.label) { case 0: if (!this.partnerId) { throw new Error("Please provide PartnerID"); } Version = (_a = params.Version) !== null && _a !== void 0 ? _a : "1.7"; TimeStamp = this.getTimeStamp(); formData = new form_data_1.default(); formData.append("PartnerID_", this.partnerId); formData.append("PostData_", this.buildTradeInfo(__assign({ TimeStamp: TimeStamp, Version: Version }, params))); return [4, this.apiInstance.post("/API/AddMerchant/modify", formData)]; case 1: data = (_b.sent()).data; status = data.status; message = data.message; result = data.result; return [2, { status: status, message: message, result: result, }]; } }); }); }; NewebpayClient.prototype.chargeMerchant = function (params) { var _a; return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, formData, data; return __generator(this, function (_b) { switch (_b.label) { case 0: if (!this.partnerId) { throw new Error("Please provide PartnerID"); } Version = (_a = params.Version) !== null && _a !== void 0 ? _a : "1.1"; TimeStamp = this.getTimeStamp(); formData = new form_data_1.default(); formData.append("PartnerID_", this.partnerId); formData.append("PostData_", this.buildTradeInfo(__assign({ TimeStamp: TimeStamp, Version: Version }, params))); return [4, this.apiInstance.post("/API/ChargeInstruct", formData)]; case 1: data = (_b.sent()).data; return [2, data]; } }); }); }; NewebpayClient.prototype.authorizeTokenPayment = function (params) { var _a; return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, PostData_, data, Status, Message, Result, decrypted; return __generator(this, function (_b) { switch (_b.label) { case 0: Version = (_a = params.Version) !== null && _a !== void 0 ? _a : "2.4"; TimeStamp = this.getTimeStamp(); PostData_ = this.buildTradeInfo(__assign({ MerchantID: this.merchantId, RespondType: "JSON", TimeStamp: TimeStamp, Version: Version }, params)); return [4, this.apiInstance.post("/API/CreditCard", { MerchantID_: this.merchantId, PostData_: PostData_, Pos_: "JSON", })]; case 1: data = (_b.sent()).data; Status = data.Status; Message = data.Message; Result = null; if (data.Result) { if (typeof data.Result === "string") { decrypted = this.decryptAESString(data.Result); Result = JSON.parse(decrypted); } else { Result = data.Result; } } return [2, { Status: Status, Message: Message, Result: Result, }]; } }); }); }; NewebpayClient.prototype.queryTokenStatus = function (params) { return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, EncryptData_, HashData_, data, Status, Message, Result, decrypted; return __generator(this, function (_a) { switch (_a.label) { case 0: Version = "1.0"; TimeStamp = this.getTimeStamp(); EncryptData_ = this.buildTradeInfo({ MerchantID: this.merchantId, TimeStamp: TimeStamp, TokenTerm: params.TokenTerm, TokenValue: params.TokenValue, }); HashData_ = this.buildTradeSha(EncryptData_); return [4, this.apiInstance.post("/API/TokenCard/query", { UID_: this.merchantId, EncryptData_: EncryptData_, HashData_: HashData_, Version_: Version, RespondType_: "JSON", })]; case 1: data = (_a.sent()).data; Status = data.Status; Message = data.Message; Result = null; if (data.Result) { if (typeof data.Result === "string") { decrypted = this.decryptAESString(data.Result); Result = JSON.parse(decrypted); } else { Result = data.Result; } } return [2, { Status: Status, Message: Message, Result: Result, }]; } }); }); }; NewebpayClient.prototype.unbindToken = function (params) { return __awaiter(this, void 0, void 0, function () { var Version, TimeStamp, PostData_, HashData_, data, Status, Message, Result, decrypted; return __generator(this, function (_a) { switch (_a.label) { case 0: Version = "1.0"; TimeStamp = this.getTimeStamp(); PostData_ = this.buildTradeInfo({ MerchantID: this.merchantId, TimeStamp: TimeStamp, TokenTerm: params.TokenTerm, TokenValue: params.TokenValue, }); HashData_ = this.buildTradeSha(PostData_); return [4, this.apiInstance.post("/API/TokenCard/unbinding", { UID_: this.merchantId, EncryptData_: PostData_, HashData_: HashData_, Version_: Version, RespondType_: "JSON", })]; case 1: data = (_a.sent()).data; Status = data.Status; Message = data.Message; Result = null; if (data.Result) { if (typeof data.Result === "string") { decrypted = this.decryptAESString(data.Result); Result = JSON.parse(decrypted); } else { Result = data.Result; } } return [2, { Status: Status, Message: Message, Result: Result, }]; } }); }); }; NewebpayClient.prototype.embeddedCreditCardPayment = function (params) { return __awaiter(this, void 0, void 0, function () { var Prime, restParams, TimeStamp, Version, requestBody, data; return __generator(this, function (_a) { switch (_a.label) { case 0: Prime = params.Prime, restParams = __rest(params, ["Prime"]); TimeStamp = Date.now(); Version = "2.4"; requestBody = __assign({ MerchantID: this.merchantId, TimeStamp: TimeStamp, Version: Version }, restParams); return [4, this.inframeInstance.post("/NWPJCore/PaymentC", requestBody, { headers: { Authorization: "Bearer ".concat(Prime), "Content-Type": "application/json", }, })]; case 1: data = (_a.sent()).data; return [2, data]; } }); }); }; NewebpayClient.prototype.decode3DHTML = function (encodedHtml) { return decodeURIComponent(encodedHtml.replace(/\+/g, " ")); }; NewebpayClient.prototype.is3DResponse = function (response) { return (0, _1.is3DResponse)(response); }; NewebpayClient.prototype.embeddedTokenPayment = function (params) { return __awaiter(this, void 0, void 0, function () { var TimeStamp, Version, requestBody, data; return __generator(this, function (_a) { switch (_a.label) { case 0: TimeStamp = Date.now(); Version = "2.0"; requestBody = __assign({ MerchantID: this.merchantId, TimeStamp: TimeStamp, Version: Version, TokenSwitch: "on" }, params); return [4, this.inframeInstance.post("/NWPJCore/PaymentTC", requestBody, { headers: { Authorization: "Bearer ".concat(this.hashKey), "Content-Type": "application/json", }, })]; case 1: data = (_a.sent()).data; return [2, data]; } }); }); }; NewebpayClient.prototype.buildTradeInfo = function (params) { var postData = new URLSearchParams(params).toString(); var encrypted = this.encryptAESString(postData); return encrypted; }; NewebpayClient.prototype.encryptAESString = function (plainText) { var cipher = crypto_1.default.createCipheriv("aes256", this.hashKey, this.hashIV); var encrypted = cipher.update(plainText, "utf8", "hex"); encrypted += cipher.final("hex"); return encrypted; }; NewebpayClient.prototype.buildTradeSha = function (tradeInfo) { var hashData = "HashKey=".concat(this.hashKey, "&").concat(tradeInfo, "&HashIV=").concat(this.hashIV); var encrypted = crypto_1.default .createHash("sha256") .update(hashData) .digest("hex") .toUpperCase(); return encrypted; }; NewebpayClient.prototype.buildCheckCode = function (params) { var data = Object.keys(params) .sort() .reduce(function (obj, key) { obj[key] = params[key]; return obj; }, {}); var paramsStr = new URLSearchParams(data).toString(); var checkStr = "HashIV=".concat(this.hashIV, "&").concat(paramsStr, "&HashKey=").concat(this.hashKey); return crypto_1.default .createHash("sha256") .update(checkStr) .digest("hex") .toUpperCase(); }; NewebpayClient.prototype.buildCheckValue = function (params) { var data = Object.keys(params) .sort() .reduce(function (obj, key) { obj[key] = params[key]; return obj; }, {}); var paramsStr = new URLSearchParams(data).toString(); var checkStr = "IV=".concat(this.hashIV, "&").concat(paramsStr, "&Key=").concat(this.hashKey); return crypto_1.default .createHash("sha256") .update(checkStr) .digest("hex") .toUpperCase(); }; NewebpayClient.prototype.parseCreatePeriodicPaymentResponse = function (rawResponse) { var decrypted = this.decryptAESString(rawResponse); return JSON.parse(decrypted); }; NewebpayClient.prototype.parsePeriodicPaymentResponse = function (rawResponse) { var decrypted = this.decryptAESString(rawResponse); return JSON.parse(decrypted); }; NewebpayClient.prototype.getTimeStamp = function () { return Math.floor(new Date().getTime() / 1000).toString(); }; NewebpayClient.prototype.createApiInstance = function (_a) { var apiEndpoint = _a.apiEndpoint, proxyEndpoint = _a.proxyEndpoint, proxySecret = _a.proxySecret, userAgent = _a.userAgent, defaultHeaders = _a.defaultHeaders; var apiRequestHeaders = defaultHeaders !== null && defaultHeaders !== void 0 ? defaultHeaders : {}; if (userAgent) { apiRequestHeaders["User-Agent"] = userAgent; } if (proxyEndpoint && proxySecret) { apiRequestHeaders["x-proxy-type"] = "custom"; apiRequestHeaders["x-proxy-secret"] = proxySecret; apiRequestHeaders["x-proxy-target-endpoint"] = apiEndpoint; return axios_1.default.create({ baseURL: proxyEndpoint, headers: apiRequestHeaders, }); } else { return axios_1.default.create({ baseURL: apiEndpoint, headers: apiRequestHeaders, }); } }; return NewebpayClient; }()); exports.NewebpayClient = NewebpayClient; exports.default = NewebpayClient;