@payment-kit-js/vanilla 0.4.1 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/airwallex-apple-pay-adapter-BE15xREr.mjs +237 -0
  2. package/dist/airwallex-apple-pay-adapter-BE15xREr.mjs.map +1 -0
  3. package/dist/airwallex-apple-pay-adapter-I_pnNYdy.d.mts +98 -0
  4. package/dist/airwallex-apple-pay-adapter-I_pnNYdy.d.mts.map +1 -0
  5. package/dist/{airwallex-google-pay-adapter-BCmTZip5.mjs → airwallex-google-pay-adapter-CHol_8f2.mjs} +1 -1
  6. package/dist/{airwallex-google-pay-adapter-BCmTZip5.mjs.map → airwallex-google-pay-adapter-CHol_8f2.mjs.map} +1 -1
  7. package/dist/{airwallex-google-pay-adapter-Be2Af4N9.d.mts → airwallex-google-pay-adapter-CY379Rre.d.mts} +1 -1
  8. package/dist/{airwallex-google-pay-adapter-Be2Af4N9.d.mts.map → airwallex-google-pay-adapter-CY379Rre.d.mts.map} +1 -1
  9. package/dist/cdn/paymentkit.js +745 -420
  10. package/dist/cdn/paymentkit.js.map +4 -4
  11. package/dist/cdn/paymentkit.min.js +6 -6
  12. package/dist/cdn/paymentkit.min.js.map +4 -4
  13. package/dist/{connect-card-BrtCmsjz.mjs → connect-card-CMZkeppE.mjs} +1 -1
  14. package/dist/{connect-card-BrtCmsjz.mjs.map → connect-card-CMZkeppE.mjs.map} +1 -1
  15. package/dist/{connect-card-DTfXuTsW.d.mts → connect-card-Cxy51W6t.d.mts} +1 -1
  16. package/dist/{connect-card-DTfXuTsW.d.mts.map → connect-card-Cxy51W6t.d.mts.map} +1 -1
  17. package/dist/connect-tunnel-x-BhVAej5Q.mjs.map +1 -1
  18. package/dist/{connect-tunnel-x-Dxcg5Y7Y.d.mts → connect-tunnel-x-lv6Wtdme.d.mts} +6 -1
  19. package/dist/connect-tunnel-x-lv6Wtdme.d.mts.map +1 -0
  20. package/dist/index.d.mts +3 -3
  21. package/dist/index.d.mts.map +1 -1
  22. package/dist/index.mjs +60 -14
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/{next-action-handlers-BZs04hYb.mjs → next-action-handlers-CTx8tRt0.mjs} +1 -1
  25. package/dist/{next-action-handlers-BZs04hYb.mjs.map → next-action-handlers-CTx8tRt0.mjs.map} +1 -1
  26. package/dist/payment-methods/airwallex-apple-pay-adapter.d.mts +2 -0
  27. package/dist/payment-methods/airwallex-apple-pay-adapter.mjs +3 -0
  28. package/dist/payment-methods/airwallex-google-pay-adapter.d.mts +1 -1
  29. package/dist/payment-methods/airwallex-google-pay-adapter.mjs +1 -1
  30. package/dist/payment-methods/apple-pay.d.mts +37 -17
  31. package/dist/payment-methods/apple-pay.d.mts.map +1 -1
  32. package/dist/payment-methods/apple-pay.mjs +203 -37
  33. package/dist/payment-methods/apple-pay.mjs.map +1 -1
  34. package/dist/payment-methods/card.d.mts +3 -3
  35. package/dist/payment-methods/card.d.mts.map +1 -1
  36. package/dist/payment-methods/card.mjs +197 -41
  37. package/dist/payment-methods/card.mjs.map +1 -1
  38. package/dist/payment-methods/google-pay.d.mts +5 -5
  39. package/dist/payment-methods/google-pay.d.mts.map +1 -1
  40. package/dist/payment-methods/google-pay.mjs +6 -7
  41. package/dist/payment-methods/google-pay.mjs.map +1 -1
  42. package/dist/payment-methods/next-action-handlers.mjs +1 -1
  43. package/dist/payment-methods/paypal.d.mts +3 -3
  44. package/dist/payment-methods/paypal.mjs +3 -3
  45. package/dist/payment-methods/paypal.mjs.map +1 -1
  46. package/dist/payment-methods/stripe-apple-pay-adapter.d.mts +1 -1
  47. package/dist/payment-methods/stripe-apple-pay-adapter.mjs +1 -1
  48. package/dist/payment-methods/stripe-google-pay-adapter.d.mts +1 -1
  49. package/dist/payment-methods/stripe-google-pay-adapter.mjs +1 -1
  50. package/dist/payment-methods/vgs-collect-loader.d.mts +28 -0
  51. package/dist/payment-methods/vgs-collect-loader.d.mts.map +1 -0
  52. package/dist/payment-methods/vgs-collect-loader.mjs +3 -0
  53. package/dist/penpal/connect-card.d.mts +1 -1
  54. package/dist/penpal/connect-card.mjs +1 -1
  55. package/dist/penpal/connect-tunnel-x.d.mts +1 -1
  56. package/dist/{stripe-apple-pay-adapter-Bg7nCy3P.mjs → stripe-apple-pay-adapter-Cd9LVNnp.mjs} +1 -1
  57. package/dist/{stripe-apple-pay-adapter-Bg7nCy3P.mjs.map → stripe-apple-pay-adapter-Cd9LVNnp.mjs.map} +1 -1
  58. package/dist/{stripe-apple-pay-adapter-Bq3f1mqv.d.mts → stripe-apple-pay-adapter-DhpGclW9.d.mts} +1 -1
  59. package/dist/{stripe-apple-pay-adapter-Bq3f1mqv.d.mts.map → stripe-apple-pay-adapter-DhpGclW9.d.mts.map} +1 -1
  60. package/dist/{stripe-google-pay-adapter-xktEycOD.d.mts → stripe-google-pay-adapter-C3NCBSO3.d.mts} +1 -1
  61. package/dist/{stripe-google-pay-adapter-xktEycOD.d.mts.map → stripe-google-pay-adapter-C3NCBSO3.d.mts.map} +1 -1
  62. package/dist/{stripe-google-pay-adapter-DjrgDYWe.mjs → stripe-google-pay-adapter-CqcUEoM3.mjs} +1 -1
  63. package/dist/{stripe-google-pay-adapter-DjrgDYWe.mjs.map → stripe-google-pay-adapter-CqcUEoM3.mjs.map} +1 -1
  64. package/dist/{types-CPuloCtF.d.mts → types-CZk3V0Qt.d.mts} +24 -6
  65. package/dist/types-CZk3V0Qt.d.mts.map +1 -0
  66. package/dist/{utils-Dgyk7RkM.mjs → utils-B70Y8YcZ.mjs} +20 -9
  67. package/dist/utils-B70Y8YcZ.mjs.map +1 -0
  68. package/dist/vgs-collect-loader-DVYzFDwC.mjs +84 -0
  69. package/dist/vgs-collect-loader-DVYzFDwC.mjs.map +1 -0
  70. package/package.json +4 -2
  71. package/dist/connect-tunnel-x-Dxcg5Y7Y.d.mts.map +0 -1
  72. package/dist/types-CPuloCtF.d.mts.map +0 -1
  73. package/dist/utils-Dgyk7RkM.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-CPuloCtF.d.mts","names":[],"sources":["../src/analytics/checkout-timing.ts","../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAkBA;;;;ACoBC;AAID;AAEA;;;;;AAQA;AAA6C,cDlChC,qBAAA,CCkCgC;EAG3B,eAAA,gBAAA;EAGS,QAAA,SAAA;EAArB,QAAA,iBAAA;EAC4B,QAAA,iBAAA;EAAxB,WAAA,CAAA,iBAAA,EAAA,MAAA;EAAuB;AAE/B;;;;EAKQ,cAAA,CAAA,CAAA,EAAA,IAAA;EACO;;;AAMjB;AASA;EAEa,eAAA,CAAA,CAAA,EAAA,IAAA;EACA;;;EASmB,WAAA,CAAA,CAAA,EAAA,IAAA;EAAc;AAE9C;AAEA;;;EAEiB,YAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EACA;;AAGjB;;;;;EACwD,SAAA,CAAA,iBAAA,EAAA,MAAA,GAAA,IAAA,EAAA,SAAA,EAAA,MAAA,GAAA,IAAA,EAAA,YAAA,EAAA,MAAA,GAAA,IAAA,CAAA,EAAA,IAAA;EAAX;;;;;;;;AA/D7C,KAFK,cAAA,GAEqB,eAAA,GAAA,gBAAA,GAAA,kBAAA,GAAA,mBAAA;AAEd,KAFA,cAAA,GAEc,UAAA,GAAA,SAAA;AAEd,KAFA,cAAA,GAEA;EAEkF,aAAA,EAAA,CAAA,MAAA,EAFlF,gBAEkF,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,GAAvF,OAAuF,CAAA;IAAvF,IAAA,EAAA;MAAO,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;IAIF,CAAA;IAAiC,MAAA,CAAA,EAAA,KAAA;EAG3B,CAAA,GAAA;IAGS,IAAA,CAAA,EAAA,KAAA;IAArB,MAAA,EAVwF,gBAUxF;EAC4B,CAAA,CAAA;EAAxB,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;CAAuB;AAI5B,KAXO,UAAA,GAWP,CAAA,UAAuB,SAXiB,aAWjB,CAAA,OAAA,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA;EAAoB,WAAA,EAAA,MAAA;EACT,WAAA,EAAA,MAAA;EAArB,cAAA,EATA,CASA;EAER;EACO,yBAAA,CAAA,EAAA,OAAA;CAEE,EAAA,GAXb,oBAWa,CAXQ,CAWR,CAAA,GAAA;EAAgB,MAAA,EAVzB,uBAUyB,CAVD,CAUC,CAAA;EAIvB,OAAA,EAAA,GAAA,GAAA,IAAgB;AAS5B,CAAA;KAnBK,uBAqBQ,CAAA,UAAA,SArBmC,aAqBnC,CAAA,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,UAAA,MApBK,oBAoBL,CApB0B,CAoB1B,CAAA,CAAA,CAAA,OAAA,EAAA;EACA,MAAA,EAnBH,gBAmBG;EACA,aAAA,EAnBI,CAmBJ;EAQC,OAAA,CAAA,EAAA,OAAA;EAAkB,OAAA,EAAA,CAAA,KAAA,EAzBb,gBAyBa,EAAA,GAAA,IAAA;EAAc,SAAA,EAAA,CAAA,IAAA,EAAA;IAElC,CAAA,GAAA,EAAA,MAAA,CAAA,EAAgB,OAAA;EAEhB,CAAA,EAAA,GAAA,IAAA;CAA6E,EAAA,GAAA,IAAA;AACjF,KA1BI,gBAAA,GA0BJ;EACS,OAAA,EAAA,MAAA;EACA,UAAA,EAAA,MAAA;EAAc,WAAA,EAAA,MAAA;EAGnB,WAAA,EAAA,MAAA;EAAwC,iBAAA,EA1B/B,uBA0B+B;EAC5C,aAAA,EA1BS,qBA0BT;CAAwB;AAAX,KAvBT,gBAAA,GAuBS;EAAmC,IAAA,CAAA,EAAA,MAAA;EAAX,QAAA,CAAA,EArBhC,aAqBgC;EAAU,QAAA,CAAA,EApB1C,aAoB0C;aAnB1C;;;;;;;;cAQC,kBAAkB;KAEpB,gBAAA,aAA6B;KAE7B,6EAA6E;QACjF;iBACS;iBACA;;KAGL,wCAAwC,oCAC5C,aAAa,WAAW,aAAa,WAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-Dgyk7RkM.mjs","names":["ENV_TO_SLUG: Record<string, string>"],"sources":["../src/utils/checkout-request-id.ts","../src/utils/validate-form-fields.ts","../src/utils/index.ts"],"sourcesContent":["import { nanoid } from \"nanoid\";\n\n/**\n * Maps PaymentKit environment to request ID env slug.\n * This must match the backend's env slug format.\n */\nconst ENV_TO_SLUG: Record<string, string> = {\n local: \"dev\",\n loclx: \"dev\",\n sandbox: \"stg\",\n production: \"prod\",\n};\n\n/**\n * Generates a checkout request ID for correlating all API calls within a single checkout submission.\n *\n * Format: pk_{env}_{nanoid(12)}\n * - pk = PaymentKit.js (client-generated)\n * - env = dev, stg, or prod\n * - nanoid(12) = 12 character random string\n *\n * Example: pk_stg_a1b2c3d4e5f6\n *\n * This ID should be:\n * 1. Generated once when user clicks submit\n * 2. Passed via x-request-id header on ALL checkout API calls\n * 3. Used to correlate logs across the checkout flow\n */\nexport function generateCheckoutRequestId(environment: string): string {\n const envSlug = ENV_TO_SLUG[environment] || \"dev\";\n const randomPart = nanoid(12);\n return `pk_${envSlug}_${randomPart}`;\n}\n\n/**\n * Creates RequestOptions with the x-request-id header set.\n */\nexport function withRequestId(checkoutRequestId: string) {\n return {\n headers: {\n \"x-request-id\": checkoutRequestId,\n },\n };\n}\n","import * as v from \"valibot\";\nimport type { FormErrorCodes, PaymentKitErrors, PaymentKitFields } from \"../types\";\n\ntype Options = {\n optionalZipCode?: boolean;\n};\n\nexport const validateFormFields = async (fields: PaymentKitFields, options: Options = {}) => {\n const schema = v.object({\n customer_name: v.pipe(\n v.string(\"required\"),\n v.nonEmpty(\"required\"),\n v.minLength(4, \"invalid\"),\n v.maxLength(40, \"invalid\"),\n ),\n customer_email: v.pipe(v.string(\"required\"), v.nonEmpty(\"required\"), v.email(\"invalid\")),\n customer_country: v.pipe(v.string(\"required\"), v.nonEmpty(\"required\")),\n customer_zip_code: options.optionalZipCode\n ? v.pipe(v.string(\"required\"))\n : v.pipe(v.string(\"required\"), v.nonEmpty(\"required\")),\n });\n\n const result = v.safeParse(schema, fields);\n\n if (result.issues) {\n const errors = result.issues.reduce((errors, issue) => {\n const field = v.getDotPath(issue) as keyof PaymentKitErrors;\n\n errors[field] = issue.kind === \"schema\" ? \"required\" : (issue.message as FormErrorCodes);\n return errors;\n }, {} as PaymentKitErrors);\n return { isSuccess: false, errors };\n }\n\n return { isSuccess: true };\n};\n","import type { PaymentMethod } from \"../types\";\n\nexport { generateCheckoutRequestId, withRequestId } from \"./checkout-request-id\";\nexport { validateFormFields } from \"./validate-form-fields\";\n\nexport const $ = (selector: string) => {\n const ele = document.querySelector(selector);\n if (!ele) {\n throw new Error(`Cannot find element with selector: ${selector}`);\n }\n return ele;\n};\n\nexport const definePaymentMethod = <TExternalFuncs, TName extends string>(\n paymentMethod: PaymentMethod<TExternalFuncs, TName>,\n) => paymentMethod;\n\nexport const createCheckoutIFrame = (type: string, baseUrl: string, params?: Record<string, string>) => {\n const iframe = document.createElement(\"iframe\");\n\n const searchParams = new URLSearchParams(params);\n const searchParamsStr = searchParams.toString();\n\n iframe.src = `${baseUrl}/embeds/v1/${type}${searchParamsStr ? `?${searchParamsStr}` : \"\"}`;\n\n Object.assign(iframe.style, { width: \"100%\", height: \"100%\", border: \"none\" });\n\n return iframe;\n};\n\n/**\n * Collects browser and client information for fraud detection.\n */\nexport function collectFraudMetadata() {\n return {\n ipAddress: undefined, // IP address should be collected server-side\n browserInfo: {\n userAgent: navigator.userAgent,\n language: navigator.language,\n screenHeight: window.screen.height,\n screenWidth: window.screen.width,\n colorDepth: window.screen.colorDepth,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n },\n processorFraudInfo: undefined,\n };\n}\n\ntype AddressInput = {\n line1?: string;\n line2?: string;\n city?: string;\n state?: string;\n zip_code?: string;\n country?: string;\n};\n\ntype AddressOutput = {\n line1?: string;\n line2?: string;\n city?: string;\n state?: string;\n zipCode?: string;\n country?: string;\n};\n\n/**\n * Maps address fields from snake_case to camelCase format.\n */\nexport function mapAddress(address?: AddressInput): AddressOutput | undefined {\n if (!address) return undefined;\n\n return {\n line1: address.line1,\n line2: address.line2,\n city: address.city,\n state: address.state,\n zipCode: address.zip_code,\n country: address.country,\n };\n}\n"],"mappings":";;;;;;;;AAMA,MAAMA,cAAsC;CAC1C,OAAO;CACP,OAAO;CACP,SAAS;CACT,YAAY;CACb;;;;;;;;;;;;;;;;AAiBD,SAAgB,0BAA0B,aAA6B;AAGrE,QAAO,MAFS,YAAY,gBAAgB,MAEvB,GADF,OAAO,GAAG;;;;;AAO/B,SAAgB,cAAc,mBAA2B;AACvD,QAAO,EACL,SAAS,EACP,gBAAgB,mBACjB,EACF;;;;;ACnCH,MAAa,qBAAqB,OAAO,QAA0B,UAAmB,EAAE,KAAK;CAC3F,MAAM,SAAS,EAAE,OAAO;EACtB,eAAe,EAAE,KACf,EAAE,OAAO,WAAW,EACpB,EAAE,SAAS,WAAW,EACtB,EAAE,UAAU,GAAG,UAAU,EACzB,EAAE,UAAU,IAAI,UAAU,CAC3B;EACD,gBAAgB,EAAE,KAAK,EAAE,OAAO,WAAW,EAAE,EAAE,SAAS,WAAW,EAAE,EAAE,MAAM,UAAU,CAAC;EACxF,kBAAkB,EAAE,KAAK,EAAE,OAAO,WAAW,EAAE,EAAE,SAAS,WAAW,CAAC;EACtE,mBAAmB,QAAQ,kBACvB,EAAE,KAAK,EAAE,OAAO,WAAW,CAAC,GAC5B,EAAE,KAAK,EAAE,OAAO,WAAW,EAAE,EAAE,SAAS,WAAW,CAAC;EACzD,CAAC;CAEF,MAAM,SAAS,EAAE,UAAU,QAAQ,OAAO;AAE1C,KAAI,OAAO,OAOT,QAAO;EAAE,WAAW;EAAO,QANZ,OAAO,OAAO,QAAQ,QAAQ,UAAU;GACrD,MAAM,QAAQ,EAAE,WAAW,MAAM;AAEjC,UAAO,SAAS,MAAM,SAAS,WAAW,aAAc,MAAM;AAC9D,UAAO;KACN,EAAE,CAAqB;EACS;AAGrC,QAAO,EAAE,WAAW,MAAM;;;;;AC7B5B,MAAa,KAAK,aAAqB;CACrC,MAAM,MAAM,SAAS,cAAc,SAAS;AAC5C,KAAI,CAAC,IACH,OAAM,IAAI,MAAM,sCAAsC,WAAW;AAEnE,QAAO;;AAGT,MAAa,uBACX,kBACG;AAEL,MAAa,wBAAwB,MAAc,SAAiB,WAAoC;CACtG,MAAM,SAAS,SAAS,cAAc,SAAS;CAG/C,MAAM,kBADe,IAAI,gBAAgB,OAAO,CACX,UAAU;AAE/C,QAAO,MAAM,GAAG,QAAQ,aAAa,OAAO,kBAAkB,IAAI,oBAAoB;AAEtF,QAAO,OAAO,OAAO,OAAO;EAAE,OAAO;EAAQ,QAAQ;EAAQ,QAAQ;EAAQ,CAAC;AAE9E,QAAO;;;;;AAMT,SAAgB,uBAAuB;AACrC,QAAO;EACL,WAAW;EACX,aAAa;GACX,WAAW,UAAU;GACrB,UAAU,UAAU;GACpB,cAAc,OAAO,OAAO;GAC5B,aAAa,OAAO,OAAO;GAC3B,YAAY,OAAO,OAAO;GAC1B,UAAU,KAAK,gBAAgB,CAAC,iBAAiB,CAAC;GACnD;EACD,oBAAoB;EACrB"}