UNPKG

ecpay-einvoice-ts

Version:

ECPay e-invoice SDK for TypeScript

425 lines (424 loc) 16.1 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 }); const ecUtils_1 = __importDefault(require("./utils/ecUtils")); function ECPay(init) { const allowance = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/Allowance`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign(Object.assign({}, json), { DecryptData: data }); }); const issue = (issueData) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/Issue`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(issueData); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign(Object.assign({}, json), { DecryptedData: data }); }); const allowanceInvalid = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/AllowanceInvalid`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const invoiceInvalid = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/Invalid`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const getIssueList = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/GetIssueList`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; if (Data.RtnCode != 1) { throw new Error(Data.RtnMsg); } return Object.assign({}, Data); }); const invoicePrint = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/InvoicePrint`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const getIssue = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/GetIssue`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign(Object.assign({}, json), { DecryptData: data }); }); const getAllowanceList = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/GetAllowanceList`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const invoiceNotify = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/InvoiceNotify`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const getAllowanceInvalids = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/AllowanceInvalid`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const getInvalids = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/GetInvalid`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const getCompanyNameByTaxID = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/GetCompanyNameByTaxID`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const checkBarcode = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/CheckBarcode`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); const checkLoveCode = (input) => __awaiter(this, void 0, void 0, function* () { const url = `${init.BaseURL}/B2CInvoice/CheckLoveCode`; const { encode } = (0, ecUtils_1.default)(init); const encryptedData = encode(input); const resp = yield fetch(url, { method: 'POST', headers: { 'Content-Type': "application/json" }, body: JSON.stringify({ MerchantID: init.MerchantID, RqHeader: { Timestamp: Date.now() }, Data: encryptedData }) }); const json = yield resp.json(); const { Data } = json; const decryptedData = (0, ecUtils_1.default)(init).decode(Data); const data = JSON.parse(decryptedData); if (data.RtnCode != 1) { throw new Error(data.RtnMsg); } return Object.assign({}, data); }); return { CheckLoveCode(input) { return checkLoveCode(input); }, CheckBarcode(input) { return checkBarcode(input); }, GetCompanyNameByTaxID(input) { return getCompanyNameByTaxID(input); }, GetInvalid(input) { return getInvalids(input); }, GetAllowanceInvalid(input) { return getAllowanceInvalids(input); }, InvoiceNotify(input) { return invoiceNotify(input); }, GetAllowanceList(input) { return getAllowanceList(input); }, Allowance(input) { return allowance(input); }, AllowanceInvalid(input) { return allowanceInvalid(input); }, GetIssue(input) { return getIssue(input); }, GetIssueList(input) { return getIssueList(input); }, Invalid(input) { return invoiceInvalid(input); }, InvoicePrint(input) { return invoicePrint(input); }, Issue(input) { return issue(input); } }; } exports.default = ECPay;