promptparse
Version:
All-in-one JS library for PromptPay & EMVCo QR Codes
117 lines • 3.54 kB
JavaScript
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