UNPKG

promptparse

Version:

All-in-one JS library for PromptPay & EMVCo QR Codes

117 lines 3.54 kB
import { BOTBarcode, __export, billPayment, encode, tag, withCrcTag } from "./chunk-TM2THQCK.mjs"; // src/generate/index.ts var generate_exports = {}; __export(generate_exports, { ProxyType: function() { return ProxyType; }, anyId: function() { return anyId; }, billPayment: function() { return billPayment; }, botBarcode: function() { return botBarcode; }, slipVerify: function() { return slipVerify; }, trueMoney: function() { return trueMoney; }, trueMoneySlipVerify: function() { return trueMoneySlipVerify; } }); // src/generate/promptpay/AnyID.ts var ProxyType = /* @__PURE__ */ function(ProxyType2) { ProxyType2["MSISDN"] = "01"; ProxyType2["NATID"] = "02"; ProxyType2["EWALLETID"] = "03"; ProxyType2["BANKACC"] = "04"; return ProxyType2; }(ProxyType || {}); function anyId(param) { var type = param.type, target = param.target, amount = param.amount; if (type == "MSISDN") { target = ("0000000000000" + target.replace(/^0/, "66")).slice(-13); } var tag29 = encode([ tag("00", "A000000677010111"), tag(ProxyType[type], target) ]); var payload = [ tag("00", "01"), tag("01", !amount ? "11" : "12"), tag("29", tag29), tag("53", "764"), tag("58", "TH") ]; if (amount) { payload.push(tag("54", Number(amount).toFixed(2))); } return withCrcTag(encode(payload), "63"); } // src/utils/encoder.ts function encodeTag81(message) { return message.split("").map(function(c) { return c.charCodeAt(0).toString(16).padStart(4, "0"); }).join("").toUpperCase(); } // src/generate/TrueMoney.ts function trueMoney(param) { var mobileNo = param.mobileNo, amount = param.amount, message = param.message; var tag29 = encode([ tag("00", "A000000677010111"), tag("03", "14000".concat(mobileNo)) ]); var payload = [ tag("00", "01"), tag("01", !amount ? "11" : "12"), tag("29", tag29), tag("53", "764"), tag("58", "TH") ]; if (amount) { payload.push(tag("54", Number(amount).toFixed(2))); } if (message) { payload.push(tag("81", encodeTag81(message))); } return withCrcTag(encode(payload), "63"); } // src/generate/TrueMoneySlipVerify.ts function trueMoneySlipVerify(param) { var eventType = param.eventType, transactionId = param.transactionId, date = param.date; var payload = [ tag("00", encode([ tag("00", "01"), tag("01", "01"), tag("02", eventType), tag("03", transactionId), tag("04", date) ])) ]; return withCrcTag(encode(payload), "91", false); } // src/generate/SlipVerify.ts function slipVerify(param) { var sendingBank = param.sendingBank, transRef = param.transRef; var payload = [ tag("00", encode([ tag("00", "000001"), tag("01", sendingBank), tag("02", transRef) ])), tag("51", "TH") ]; return withCrcTag(encode(payload), "91"); } // src/generate/BOTBarcode.ts function botBarcode(param) { var billerId = param.billerId, ref1 = param.ref1, ref2 = param.ref2, amount = param.amount; return new BOTBarcode(billerId, ref1, ref2, amount).toString(); } export { ProxyType, anyId, trueMoney, trueMoneySlipVerify, slipVerify, botBarcode, generate_exports }; //# sourceMappingURL=chunk-PBZUGBTQ.mjs.map