mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 04:04:55 +08:00
244 lines
4.2 KiB
JavaScript
244 lines
4.2 KiB
JavaScript
const keyPrefixes = {
|
|
localhost: {
|
|
publishable_key: "pk_dev_",
|
|
key_id: "dev_",
|
|
},
|
|
integ: {
|
|
publishable_key: "pk_snd_",
|
|
key_id: "snd_",
|
|
},
|
|
sandbox: {
|
|
publishable_key: "pk_snd_",
|
|
key_id: "snd_",
|
|
},
|
|
};
|
|
|
|
export const setClientSecret = (requestBody, clientSecret) => {
|
|
requestBody["client_secret"] = clientSecret;
|
|
};
|
|
export const setCardNo = (requestBody, cardNo) => {
|
|
// pass confirm body here to set CardNo
|
|
requestBody["payment_method_data"]["card"]["card_number"] = cardNo;
|
|
};
|
|
|
|
export const setApiKey = (requestBody, apiKey) => {
|
|
requestBody["connector_account_details"]["api_key"] = apiKey;
|
|
};
|
|
|
|
export const generateRandomString = (prefix = "cyMerchant") => {
|
|
const uuidPart = "xxxxxxxx";
|
|
|
|
const randomString = uuidPart.replace(/[xy]/g, function (c) {
|
|
const r = (Math.random() * 16) | 0;
|
|
const v = c === "x" ? r : (r & 0x3) | 0x8;
|
|
return v.toString(16);
|
|
});
|
|
|
|
return `${prefix}_${randomString}`;
|
|
};
|
|
|
|
export const setMerchantId = (merchantCreateBody, merchantId) => {
|
|
merchantCreateBody["merchant_id"] = merchantId;
|
|
};
|
|
|
|
export function isoTimeTomorrow() {
|
|
const now = new Date();
|
|
|
|
// Create a new date object for tomorrow
|
|
const tomorrow = new Date(now);
|
|
tomorrow.setDate(now.getDate() + 1);
|
|
|
|
// Convert to ISO string format
|
|
const isoStringTomorrow = tomorrow.toISOString();
|
|
return isoStringTomorrow;
|
|
}
|
|
|
|
export function validateEnv(baseUrl, keyIdType) {
|
|
if (!baseUrl) {
|
|
throw new Error("Please provide a baseUrl");
|
|
}
|
|
|
|
const environment = Object.keys(keyPrefixes).find((env) =>
|
|
baseUrl.includes(env)
|
|
);
|
|
|
|
if (!environment) {
|
|
throw new Error("Unsupported baseUrl");
|
|
}
|
|
|
|
const prefix = keyPrefixes[environment][keyIdType];
|
|
|
|
if (!prefix) {
|
|
throw new Error(`Unsupported keyIdType: ${keyIdType}`);
|
|
}
|
|
|
|
return prefix;
|
|
}
|
|
|
|
/**
|
|
* Generates a random-ish card holder name from predefined lists.
|
|
* @returns {string} A randomly generated full name (e.g., "Jane Smith").
|
|
*/
|
|
export function generateRandomName() {
|
|
const firstNames = [
|
|
"Alex",
|
|
"Jamie",
|
|
"Taylor",
|
|
"Morgan",
|
|
"Casey",
|
|
"Jordan",
|
|
"Pat",
|
|
"Sam",
|
|
"Chris",
|
|
"Dana",
|
|
"Olivia",
|
|
"Liam",
|
|
"Emma",
|
|
"Noah",
|
|
"Ava",
|
|
"William",
|
|
"Sophia",
|
|
"James",
|
|
"Isabella",
|
|
"Oliver",
|
|
"Charlotte",
|
|
"Benjamin",
|
|
"Amelia",
|
|
"Elijah",
|
|
"Mia",
|
|
"Lucas",
|
|
"Harper",
|
|
"Mason",
|
|
"Evelyn",
|
|
"Logan",
|
|
"Abigail",
|
|
"Alexander",
|
|
"Emily",
|
|
"Ethan",
|
|
"Elizabeth",
|
|
"Jacob",
|
|
"Mila",
|
|
"Michael",
|
|
"Ella",
|
|
"Daniel",
|
|
"Avery",
|
|
"Henry",
|
|
"Sofia",
|
|
"Jackson",
|
|
"Camila",
|
|
"Sebastian",
|
|
"Aria",
|
|
"Aiden",
|
|
"Scarlett",
|
|
"Matthew",
|
|
"Victoria",
|
|
"Samuel",
|
|
"Madison",
|
|
"David",
|
|
"Luna",
|
|
"Joseph",
|
|
"Grace",
|
|
"Carter",
|
|
"Chloe",
|
|
"Owen",
|
|
"Penelope",
|
|
"Wyatt",
|
|
"Layla",
|
|
"John",
|
|
"Riley",
|
|
"Jack",
|
|
"Zoey",
|
|
"Luke",
|
|
"Nora",
|
|
"Jayden",
|
|
"Lily",
|
|
];
|
|
const lastNames = [
|
|
"Smith",
|
|
"Jones",
|
|
"Williams",
|
|
"Brown",
|
|
"Davis",
|
|
"Miller",
|
|
"Wilson",
|
|
"Moore",
|
|
"Taylor",
|
|
"Lee",
|
|
"Dylan",
|
|
"Eleanor",
|
|
"Grayson",
|
|
"Hannah",
|
|
"Levi",
|
|
"Lillian",
|
|
"Isaac",
|
|
"Addison",
|
|
"Gabriel",
|
|
"Aubrey",
|
|
"Julian",
|
|
"Ellie",
|
|
"Mateo",
|
|
"Stella",
|
|
"Anthony",
|
|
"Natalie",
|
|
"Jaxon",
|
|
"Zoe",
|
|
"Lincoln",
|
|
"Leah",
|
|
"Joshua",
|
|
"Hazel",
|
|
"Christopher",
|
|
"Violet",
|
|
"Andrew",
|
|
"Aurora",
|
|
"Theodore",
|
|
"Savannah",
|
|
"Caleb",
|
|
"Audrey",
|
|
"Ryan",
|
|
"Brooklyn",
|
|
"Asher",
|
|
"Bella",
|
|
"Nathan",
|
|
"Claire",
|
|
"Thomas",
|
|
"Skylar",
|
|
"Leo",
|
|
"Lucy",
|
|
"Isaiah",
|
|
"Paisley",
|
|
"Charles",
|
|
"Everly",
|
|
"Josiah",
|
|
"Anna",
|
|
"Hudson",
|
|
"Caroline",
|
|
"Christian",
|
|
"Nova",
|
|
"Hunter",
|
|
"Genesis",
|
|
"Connor",
|
|
"Emilia",
|
|
"Eli",
|
|
"Kennedy",
|
|
"Ezra",
|
|
"Samantha",
|
|
"Aaron",
|
|
"Maya",
|
|
"Landon",
|
|
"Willow",
|
|
"Adrian",
|
|
"Kinsley",
|
|
"Jonathan",
|
|
"Naomi",
|
|
"Nolan",
|
|
"Aaliyah",
|
|
];
|
|
|
|
const randomFirstName =
|
|
firstNames[Math.floor(Math.random() * firstNames.length)];
|
|
const randomLastName =
|
|
lastNames[Math.floor(Math.random() * lastNames.length)];
|
|
|
|
return `${randomFirstName} ${randomLastName}`;
|
|
}
|