From 6af9f9dd66e8367b1f481e29064b7f82f21059e1 Mon Sep 17 00:00:00 2001 From: "aritro.ghosh" Date: Fri, 27 Mar 2026 12:26:47 +0530 Subject: [PATCH 1/3] feat: add support for initPaymentSession --- dist/bundle.js | 2 +- src/Context.bs.js | 15 +++++++++++++++ src/Context.res | 11 +++++++++++ src/OrcaJs.res | 10 ++++++++++ src/components/Elements.bs.js | 2 ++ src/components/Elements.res | 1 + src/components/HyperElements.bs.js | 2 ++ src/components/HyperElements.res | 1 + src/components/HyperManagementElements.bs.js | 2 ++ src/components/HyperManagementElements.res | 1 + 10 files changed, 46 insertions(+), 1 deletion(-) diff --git a/dist/bundle.js b/dist/bundle.js index cc51769..9c531db 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1 +1 @@ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react"),require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["react","react/jsx-runtime"],n):"object"==typeof exports?exports.ReactHyperJs=n(require("react"),require("react/jsx-runtime")):e.ReactHyperJs=n(e.React,e[void 0])}(this,(e,n)=>(()=>{"use strict";var t={12(n){n.exports=e},402(e){e.exports=n}},o={};function r(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.d=(e,n)=>{for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};r.r(a),r.d(a,{ApplePayElement:()=>ce,CardCVCElement:()=>oe,CardCVCWidget:()=>re,CardElement:()=>$,CardExpiryElement:()=>ae,CardExpiryWidget:()=>ie,CardNumberElement:()=>ne,CardNumberWidget:()=>te,CardWidget:()=>ee,Elements:()=>Q,ExpressCheckoutElement:()=>se,GooglePayElement:()=>ue,HyperElements:()=>X,HyperManagementElements:()=>pe,PayPalElement:()=>me,PaymentElement:()=>Y,PaymentMethodsManagementElement:()=>fe,PazeElement:()=>le,UnifiedCheckout:()=>Z,useElements:()=>L,useHyper:()=>W,useStripe:()=>J,useWidgets:()=>G});var i=r(12),u=r(402),c={on:function(e,n){},collapse:function(){},blur:function(){},update:function(e){},destroy:function(){},unmount:function(){},mount:function(e){},focus:function(){},clear:function(){},onSDKHandleClick:function(e){}},l=function(e){if("string"==typeof e)return e},m=function(e){if("object"==typeof e&&!Array.isArray(e)&&null!==e)return e},s=function(e){if(Array.isArray(e))return e};function p(e,n,t){for(var o=new Array(t),r=0,a=n;r=0)return function(e,n){return function(t){return f(e,n.concat([t]))}}(o,t);n=p(t,a,0|-i),e=o.apply(null,p(t,0,a))}}function d(e){return 1===e.length?e:function(n){return function(e,n){var t=e.length;if(1===t)return e(n);switch(t){case 1:return e(n);case 2:return function(t){return e(n,t)};case 3:return function(t,o){return e(n,t,o)};case 4:return function(t,o,r){return e(n,t,o,r)};case 5:return function(t,o,r,a){return e(n,t,o,r,a)};case 6:return function(t,o,r,a,i){return e(n,t,o,r,a,i)};case 7:return function(t,o,r,a,i,u){return e(n,t,o,r,a,i,u)};default:return f(e,[n])}}(e,n)}}function y(e){return void 0===e?{BS_PRIVATE_NESTED_SOME_NONE:0}:null!==e&&void 0!==e.BS_PRIVATE_NESTED_SOME_NONE?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function C(e){if(null===e||void 0===e.BS_PRIVATE_NESTED_SOME_NONE)return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;return 0===n?void 0:{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function P(e,n){return function(e,n){if(void 0!==e)return n(C(e))}(e,d(n))}function E(e,n){return void 0!==e?C(e):n}function v(e){return e}var k={clientSecret:"",confirmPayment:function(e){return Promise.resolve({})},confirmCardPayment:function(e,n,t){return Promise.resolve({})},retrievePaymentIntent:function(e){return Promise.resolve({})},paymentRequest:v,completeUpdateIntent:function(e){return Promise.resolve({})},initiateUpdateIntent:function(){return Promise.resolve({})},confirmTokenization:function(e){return Promise.resolve({})}},g=i.createContext(k),h={make:g.Provider},B={ephemeralKey:"",paymentRequest:v},x=i.createContext(B),S={make:g.Provider};function R(e,n,t){return E(P(e[n],l),t)}function T(e){var n=E(m(e),{});return{fonts:E(P(n.fonts,s),[]),locale:R(n,"locale",""),clientSecret:R(n,"clientSecret",""),appearance:E(P(n.appearance,m),{}),loader:R(n,"loader","auto")}}function _(e){}function j(e){}function I(){return new Promise(function(e,n){setTimeout(function(){e({})},1e3)})}function U(e,n){return c}var N={options:{fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},update:_,getElement:j,fetchUpdates:I,create:U},F=i.createContext(N),b={make:F.Provider},O={options:{fonts:[],locale:"",ephemeralKey:"",appearance:{},loader:""},update:_,getElement:j,fetchUpdates:I,create:U},M=i.createContext(O),A={make:M.Provider},q=function(e){var n=e.onPaymentButtonClick,t=e.onPaymentComplete,o=e.onClick,r=e.onBlur,a=e.onFocus,c=e.componentType,l=e.onReady,m=e.onChange,s=e.options,p=e.id,f=void 0!==p?p:"payment-Element",d=i.useContext(g),C=i.useContext(F),P=i.useRef(null),E=C.create(c,s);return i.useEffect(function(){C.create(c,s).mount("#orca-elements-payment-element-"+f)},[P,C]),i.useEffect(function(){E.on("ready",l),E.on("focus",a),E.on("blur",r),E.on("clickTriggered",o),E.on("change",m),E.on("completeDoThis",t),E.onSDKHandleClick(n)},[C,d]),u.jsx("div",{ref:y(P),id:"orca-elements-payment-element-"+f})},D=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardCvc",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function z(e,n){return n.then(d(e))}var V=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardExpiry",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},H=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardNumber",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},w=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"card",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},K=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payment",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function W(){return i.useContext(g)}function J(){return console.warn("useStripe() is deprecated. Use useHyper() instead"),i.useContext(g)}function G(){return i.useContext(F)}function L(){return console.warn("useElements() is deprecated. Use useWidgets() instead"),i.useContext(F)}var Q=function(e){var n=e.options,t=e.stripe,o=T(n),r=i.useState(function(){return k}),a=r[1],c=i.useState(function(){return N}),l=c[1];return i.useEffect(function(){z(function(e){var t=e.elements(n),r=t.update,i=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:i,fetchUpdates:u,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return a(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(h.make,{value:r[0],children:u.jsx(b.make,{value:c[0],children:e.children})})},X=function(e){var n=e.options,t=e.hyper,o=T(n),r=i.useState(function(){return k}),a=r[1],c=i.useState(function(){return N}),l=c[1];return i.useEffect(function(){z(function(e){var t=e.elements(n),r=t.update,i=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:i,fetchUpdates:u,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return a(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(h.make,{value:r[0],children:u.jsx(b.make,{value:c[0],children:e.children})})},Y=K,Z=K,$=w,ee=w,ne=H,te=H,oe=D,re=D,ae=V,ie=V,ue=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"googlePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},ce=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"applePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},le=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"paze",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},me=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payPal",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},se=function(e){return u.jsx(q,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"expressCheckout",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},pe=function(e){var n=e.options,t=e.hyper,o=function(e){var n=E(m(e),{});return{fonts:E(P(n.fonts,s),[]),locale:R(n,"locale",""),ephemeralKey:R(n,"ephemeralKey",""),appearance:E(P(n.appearance,m),{}),loader:R(n,"loader","auto")}}(n),r=i.useState(function(){return k}),a=r[1],c=i.useState(function(){return O}),l=c[1];return i.useEffect(function(){z(function(e){var t=e.paymentMethodsManagementElements(n),r=t.update,i=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:i,fetchUpdates:u,create:c},s={clientSecret:"",confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return a(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(S.make,{value:r[0],children:u.jsx(A.make,{value:c[0],children:e.children})})},fe=function(e){var n=e.onClick,t=e.onBlur,o=e.onFocus,r=e.componentType,a=e.onReady,c=e.onChange,l=e.options,m=e.id,s=void 0!==m?m:"payment-management",p=void 0!==r?r:"paymentMethodsManagement",f=i.useContext(x),d=i.useContext(M),C=i.useRef(null),P=d.create(p,l);return i.useEffect(function(){d.create(p,l).mount("#orca-elements-payment-management-"+s)},[C,d]),i.useEffect(function(){return P.on("ready",a),P.on("focus",o),P.on("blur",t),P.on("clickTriggered",n),P.on("change",c),function(){P.on("ready",void 0),P.on("focus",void 0),P.on("blur",void 0),P.on("clickTriggered",void 0),P.on("change",void 0)}},[d,f]),u.jsx("div",{ref:y(C),id:"orca-elements-payment-management-"+s})};return a})()); \ No newline at end of file +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react"),require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["react","react/jsx-runtime"],n):"object"==typeof exports?exports.ReactHyperJs=n(require("react"),require("react/jsx-runtime")):e.ReactHyperJs=n(e.React,e[void 0])}(this,(e,n)=>(()=>{"use strict";var t={12(n){n.exports=e},402(e){e.exports=n}},o={};function r(e){var n=o[e];if(void 0!==n)return n.exports;var i=o[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.d=(e,n)=>{for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};r.r(i),r.d(i,{ApplePayElement:()=>le,CardCVCElement:()=>re,CardCVCWidget:()=>ie,CardElement:()=>ee,CardExpiryElement:()=>ae,CardExpiryWidget:()=>ue,CardNumberElement:()=>te,CardNumberWidget:()=>oe,CardWidget:()=>ne,Elements:()=>X,ExpressCheckoutElement:()=>pe,GooglePayElement:()=>ce,HyperElements:()=>Y,HyperManagementElements:()=>fe,PayPalElement:()=>se,PaymentElement:()=>Z,PaymentMethodsManagementElement:()=>de,PazeElement:()=>me,UnifiedCheckout:()=>$,useElements:()=>Q,useHyper:()=>J,useStripe:()=>G,useWidgets:()=>L});var a=r(12),u=r(402),c={on:function(e,n){},collapse:function(){},blur:function(){},update:function(e){},destroy:function(){},unmount:function(){},mount:function(e){},focus:function(){},clear:function(){},onSDKHandleClick:function(e){}},l=function(e){if("string"==typeof e)return e},m=function(e){if("object"==typeof e&&!Array.isArray(e)&&null!==e)return e},s=function(e){if(Array.isArray(e))return e};function p(e,n,t){for(var o=new Array(t),r=0,i=n;r=0)return function(e,n){return function(t){return f(e,n.concat([t]))}}(o,t);n=p(t,i,0|-a),e=o.apply(null,p(t,0,i))}}function d(e){return 1===e.length?e:function(n){return function(e,n){var t=e.length;if(1===t)return e(n);switch(t){case 1:return e(n);case 2:return function(t){return e(n,t)};case 3:return function(t,o){return e(n,t,o)};case 4:return function(t,o,r){return e(n,t,o,r)};case 5:return function(t,o,r,i){return e(n,t,o,r,i)};case 6:return function(t,o,r,i,a){return e(n,t,o,r,i,a)};case 7:return function(t,o,r,i,a,u){return e(n,t,o,r,i,a,u)};default:return f(e,[n])}}(e,n)}}function y(e){return void 0===e?{BS_PRIVATE_NESTED_SOME_NONE:0}:null!==e&&void 0!==e.BS_PRIVATE_NESTED_SOME_NONE?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function C(e){if(null===e||void 0===e.BS_PRIVATE_NESTED_SOME_NONE)return e;var n=e.BS_PRIVATE_NESTED_SOME_NONE;return 0===n?void 0:{BS_PRIVATE_NESTED_SOME_NONE:n-1|0}}function P(e,n){return function(e,n){if(void 0!==e)return n(C(e))}(e,d(n))}function v(e,n){return void 0!==e?C(e):n}function E(e){return e}var k={getCustomerSavedPaymentMethods:function(){return Promise.resolve(null)}},g={clientSecret:"",confirmPayment:function(e){return Promise.resolve({})},confirmCardPayment:function(e,n,t){return Promise.resolve({})},retrievePaymentIntent:function(e){return Promise.resolve({})},paymentRequest:E,initPaymentSession:function(e){return k},completeUpdateIntent:function(e){return Promise.resolve({})},initiateUpdateIntent:function(){return Promise.resolve({})},confirmTokenization:function(e){return Promise.resolve({})}},h=a.createContext(g),S={make:h.Provider},B={ephemeralKey:"",paymentRequest:E},x=a.createContext(B),R={make:h.Provider};function T(e,n,t){return v(P(e[n],l),t)}function _(e){var n=v(m(e),{});return{fonts:v(P(n.fonts,s),[]),locale:T(n,"locale",""),clientSecret:T(n,"clientSecret",""),appearance:v(P(n.appearance,m),{}),loader:T(n,"loader","auto")}}function j(e){}function I(e){}function U(){return new Promise(function(e,n){setTimeout(function(){e({})},1e3)})}function N(e,n){return c}var F={options:{fonts:[],locale:"",clientSecret:"",appearance:{},loader:""},update:j,getElement:I,fetchUpdates:U,create:N},b=a.createContext(F),O={make:b.Provider},M={options:{fonts:[],locale:"",ephemeralKey:"",appearance:{},loader:""},update:j,getElement:I,fetchUpdates:U,create:N},A=a.createContext(M),q={make:A.Provider},D=function(e){var n=e.onPaymentButtonClick,t=e.onPaymentComplete,o=e.onClick,r=e.onBlur,i=e.onFocus,c=e.componentType,l=e.onReady,m=e.onChange,s=e.options,p=e.id,f=void 0!==p?p:"payment-Element",d=a.useContext(h),C=a.useContext(b),P=a.useRef(null),v=C.create(c,s);return a.useEffect(function(){C.create(c,s).mount("#orca-elements-payment-element-"+f)},[P,C]),a.useEffect(function(){v.on("ready",l),v.on("focus",i),v.on("blur",r),v.on("clickTriggered",o),v.on("change",m),v.on("completeDoThis",t),v.onSDKHandleClick(n)},[C,d]),u.jsx("div",{ref:y(P),id:"orca-elements-payment-element-"+f})},z=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardCvc",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function V(e,n){return n.then(d(e))}var H=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardExpiry",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},w=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"cardNumber",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},K=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"card",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},W=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payment",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})};function J(){return a.useContext(h)}function G(){return console.warn("useStripe() is deprecated. Use useHyper() instead"),a.useContext(h)}function L(){return a.useContext(b)}function Q(){return console.warn("useElements() is deprecated. Use useWidgets() instead"),a.useContext(b)}var X=function(e){var n=e.options,t=e.stripe,o=_(n),r=a.useState(function(){return g}),i=r[1],c=a.useState(function(){return F}),l=c[1];return a.useEffect(function(){V(function(e){var t=e.elements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:u,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,initPaymentSession:e.initPaymentSession,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return i(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(S.make,{value:r[0],children:u.jsx(O.make,{value:c[0],children:e.children})})},Y=function(e){var n=e.options,t=e.hyper,o=_(n),r=a.useState(function(){return g}),i=r[1],c=a.useState(function(){return F}),l=c[1];return a.useEffect(function(){V(function(e){var t=e.elements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:u,create:c},s={clientSecret:o.clientSecret,confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,initPaymentSession:e.initPaymentSession,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return i(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(S.make,{value:r[0],children:u.jsx(O.make,{value:c[0],children:e.children})})},Z=W,$=W,ee=K,ne=K,te=w,oe=w,re=z,ie=z,ae=H,ue=H,ce=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"googlePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},le=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"applePay",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},me=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"paze",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},se=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"payPal",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},pe=function(e){return u.jsx(D,{id:e.id,options:e.options,onChange:e.onChange,onReady:e.onReady,componentType:"expressCheckout",onFocus:e.onFocus,onBlur:e.onBlur,onClick:e.onClick,onPaymentComplete:e.onPaymentComplete,onPaymentButtonClick:e.onPaymentButtonClick})},fe=function(e){var n=e.options,t=e.hyper,o=function(e){var n=v(m(e),{});return{fonts:v(P(n.fonts,s),[]),locale:T(n,"locale",""),ephemeralKey:T(n,"ephemeralKey",""),appearance:v(P(n.appearance,m),{}),loader:T(n,"loader","auto")}}(n),r=a.useState(function(){return g}),i=r[1],c=a.useState(function(){return M}),l=c[1];return a.useEffect(function(){V(function(e){var t=e.paymentMethodsManagementElements(n),r=t.update,a=t.getElement,u=t.fetchUpdates,c=t.create,m={options:o,update:r,getElement:a,fetchUpdates:u,create:c},s={clientSecret:"",confirmPayment:e.confirmPayment,confirmCardPayment:e.confirmCardPayment,retrievePaymentIntent:e.retrievePaymentIntent,paymentRequest:e.paymentRequest,initPaymentSession:e.initPaymentSession,completeUpdateIntent:e.completeUpdateIntent,initiateUpdateIntent:e.initiateUpdateIntent,confirmTokenization:e.confirmTokenization};return i(function(e){return s}),l(function(e){return m}),Promise.resolve(s)},t)},[]),u.jsx(R.make,{value:r[0],children:u.jsx(q.make,{value:c[0],children:e.children})})},de=function(e){var n=e.onClick,t=e.onBlur,o=e.onFocus,r=e.componentType,i=e.onReady,c=e.onChange,l=e.options,m=e.id,s=void 0!==m?m:"payment-management",p=void 0!==r?r:"paymentMethodsManagement",f=a.useContext(x),d=a.useContext(A),C=a.useRef(null),P=d.create(p,l);return a.useEffect(function(){d.create(p,l).mount("#orca-elements-payment-management-"+s)},[C,d]),a.useEffect(function(){return P.on("ready",i),P.on("focus",o),P.on("blur",t),P.on("clickTriggered",n),P.on("change",c),function(){P.on("ready",void 0),P.on("focus",void 0),P.on("blur",void 0),P.on("clickTriggered",void 0),P.on("change",void 0)}},[d,f]),u.jsx("div",{ref:y(C),id:"orca-elements-payment-management-"+s})};return i})()); \ No newline at end of file diff --git a/src/Context.bs.js b/src/Context.bs.js index 707bfce..be3c89f 100644 --- a/src/Context.bs.js +++ b/src/Context.bs.js @@ -22,6 +22,18 @@ function paymentRequest(options) { return options; } +function defaultGetCustomerSavedPaymentMethods() { + return Promise.resolve(null); +} + +var defaultInitPaymentSession = { + getCustomerSavedPaymentMethods: defaultGetCustomerSavedPaymentMethods +}; + +function defaultSwitchContext_initPaymentSession(param) { + return defaultInitPaymentSession; +} + function defaultSwitchContext_completeUpdateIntent(param) { return Promise.resolve({}); } @@ -40,6 +52,7 @@ var defaultSwitchContext = { confirmCardPayment: confirmCardPaymentFn, retrievePaymentIntent: retrievePaymentIntentFn, paymentRequest: paymentRequest, + initPaymentSession: defaultSwitchContext_initPaymentSession, completeUpdateIntent: defaultSwitchContext_completeUpdateIntent, initiateUpdateIntent: defaultSwitchContext_initiateUpdateIntent, confirmTokenization: defaultSwitchContext_confirmTokenization @@ -165,6 +178,8 @@ export { confirmCardPaymentFn , retrievePaymentIntentFn , paymentRequest , + defaultGetCustomerSavedPaymentMethods , + defaultInitPaymentSession , defaultSwitchContext , switchContext , SwitchContextProvider , diff --git a/src/Context.res b/src/Context.res index 6eaa66b..7a6a50b 100644 --- a/src/Context.res +++ b/src/Context.res @@ -72,12 +72,14 @@ type rec paymentMethodsManagementElementsType = { type elementsContextType = {options: Dict.t} type confirmPaymentParams = {return_url: string} + type switchContextType = { clientSecret: string, confirmPayment: JSON.t => Promise.t, confirmCardPayment: (string, option, option) => Promise.t, retrievePaymentIntent: string => Promise.t, paymentRequest: JSON.t => JSON.t, + initPaymentSession: JSON.t => OrcaJs.initPaymentSession, completeUpdateIntent: string => promise, initiateUpdateIntent: unit => promise, confirmTokenization: JSON.t => Promise.t, @@ -107,12 +109,21 @@ let paymentRequest = options => { options } +let defaultGetCustomerSavedPaymentMethods = () => { + Promise.resolve(JSON.Encode.null) +} + +let defaultInitPaymentSession: OrcaJs.initPaymentSession = { + getCustomerSavedPaymentMethods: defaultGetCustomerSavedPaymentMethods, +} + let defaultSwitchContext = { clientSecret: "", confirmPayment: confirmPaymentFn, confirmCardPayment: confirmCardPaymentFn, retrievePaymentIntent: retrievePaymentIntentFn, paymentRequest, + initPaymentSession: _ => defaultInitPaymentSession, completeUpdateIntent: _ => Promise.resolve(Dict.make()->JSON.Encode.object), initiateUpdateIntent: _ => Promise.resolve(Dict.make()->JSON.Encode.object), confirmTokenization: _ => Promise.resolve(Dict.make()->JSON.Encode.object), diff --git a/src/OrcaJs.res b/src/OrcaJs.res index 9a4dd52..8fe1ae8 100644 --- a/src/OrcaJs.res +++ b/src/OrcaJs.res @@ -56,12 +56,22 @@ type confirmPaymentParams = { confirmParams: Nullable.t, } +type getCustomerSavedPaymentMethods = { + getCustomerDefaultSavedPaymentMethodData: unit => JSON.t, + getCustomerLastUsedPaymentMethodData: unit => JSON.t, + confirmWithCustomerDefaultPaymentMethod: JSON.t => Promise.t, + confirmWithLastUsedPaymentMethod: JSON.t => Promise.t, +} + +type initPaymentSession = {getCustomerSavedPaymentMethods: unit => Promise.t} + type switchInstance = { confirmPayment: JSON.t => Promise.t, elements: JSON.t => element, confirmCardPayment: (string, option, option) => Promise.t, retrievePaymentIntent: string => Promise.t, paymentRequest: JSON.t => JSON.t, + initPaymentSession: JSON.t => initPaymentSession, paymentMethodsManagementElements: JSON.t => element, completeUpdateIntent: string => promise, initiateUpdateIntent: unit => promise, diff --git a/src/components/Elements.bs.js b/src/components/Elements.bs.js index 7110098..70afe56 100644 --- a/src/components/Elements.bs.js +++ b/src/components/Elements.bs.js @@ -37,6 +37,7 @@ function Elements(props) { var switchValClone_confirmCardPayment = switchInstance.confirmCardPayment; var switchValClone_retrievePaymentIntent = switchInstance.retrievePaymentIntent; var switchValClone_paymentRequest = switchInstance.paymentRequest; + var switchValClone_initPaymentSession = switchInstance.initPaymentSession; var switchValClone_completeUpdateIntent = switchInstance.completeUpdateIntent; var switchValClone_initiateUpdateIntent = switchInstance.initiateUpdateIntent; var switchValClone_confirmTokenization = switchInstance.confirmTokenization; @@ -46,6 +47,7 @@ function Elements(props) { confirmCardPayment: switchValClone_confirmCardPayment, retrievePaymentIntent: switchValClone_retrievePaymentIntent, paymentRequest: switchValClone_paymentRequest, + initPaymentSession: switchValClone_initPaymentSession, completeUpdateIntent: switchValClone_completeUpdateIntent, initiateUpdateIntent: switchValClone_initiateUpdateIntent, confirmTokenization: switchValClone_confirmTokenization diff --git a/src/components/Elements.res b/src/components/Elements.res index 14e7365..ed82bd6 100644 --- a/src/components/Elements.res +++ b/src/components/Elements.res @@ -21,6 +21,7 @@ let make = (~children, ~stripe: Promise.t, ~options: JSON retrievePaymentIntent: switchInstance.retrievePaymentIntent, clientSecret: elementOptions.clientSecret, paymentRequest: switchInstance.paymentRequest, + initPaymentSession: switchInstance.initPaymentSession, completeUpdateIntent: switchInstance.completeUpdateIntent, initiateUpdateIntent: switchInstance.initiateUpdateIntent, confirmTokenization: switchInstance.confirmTokenization, diff --git a/src/components/HyperElements.bs.js b/src/components/HyperElements.bs.js index f968107..b577335 100644 --- a/src/components/HyperElements.bs.js +++ b/src/components/HyperElements.bs.js @@ -37,6 +37,7 @@ function HyperElements(props) { var switchValClone_confirmCardPayment = switchInstance.confirmCardPayment; var switchValClone_retrievePaymentIntent = switchInstance.retrievePaymentIntent; var switchValClone_paymentRequest = switchInstance.paymentRequest; + var switchValClone_initPaymentSession = switchInstance.initPaymentSession; var switchValClone_completeUpdateIntent = switchInstance.completeUpdateIntent; var switchValClone_initiateUpdateIntent = switchInstance.initiateUpdateIntent; var switchValClone_confirmTokenization = switchInstance.confirmTokenization; @@ -46,6 +47,7 @@ function HyperElements(props) { confirmCardPayment: switchValClone_confirmCardPayment, retrievePaymentIntent: switchValClone_retrievePaymentIntent, paymentRequest: switchValClone_paymentRequest, + initPaymentSession: switchValClone_initPaymentSession, completeUpdateIntent: switchValClone_completeUpdateIntent, initiateUpdateIntent: switchValClone_initiateUpdateIntent, confirmTokenization: switchValClone_confirmTokenization diff --git a/src/components/HyperElements.res b/src/components/HyperElements.res index 998561b..c19cc2b 100644 --- a/src/components/HyperElements.res +++ b/src/components/HyperElements.res @@ -21,6 +21,7 @@ let make = (~children, ~hyper: Promise.t, ~options: JSON. retrievePaymentIntent: switchInstance.retrievePaymentIntent, clientSecret: elementOptions.clientSecret, paymentRequest: switchInstance.paymentRequest, + initPaymentSession: switchInstance.initPaymentSession, completeUpdateIntent: switchInstance.completeUpdateIntent, initiateUpdateIntent: switchInstance.initiateUpdateIntent, confirmTokenization: switchInstance.confirmTokenization, diff --git a/src/components/HyperManagementElements.bs.js b/src/components/HyperManagementElements.bs.js index c514b88..2bfff91 100644 --- a/src/components/HyperManagementElements.bs.js +++ b/src/components/HyperManagementElements.bs.js @@ -36,6 +36,7 @@ function HyperManagementElements(props) { var switchValClone_confirmCardPayment = switchInstance.confirmCardPayment; var switchValClone_retrievePaymentIntent = switchInstance.retrievePaymentIntent; var switchValClone_paymentRequest = switchInstance.paymentRequest; + var switchValClone_initPaymentSession = switchInstance.initPaymentSession; var switchValClone_completeUpdateIntent = switchInstance.completeUpdateIntent; var switchValClone_initiateUpdateIntent = switchInstance.initiateUpdateIntent; var switchValClone_confirmTokenization = switchInstance.confirmTokenization; @@ -45,6 +46,7 @@ function HyperManagementElements(props) { confirmCardPayment: switchValClone_confirmCardPayment, retrievePaymentIntent: switchValClone_retrievePaymentIntent, paymentRequest: switchValClone_paymentRequest, + initPaymentSession: switchValClone_initPaymentSession, completeUpdateIntent: switchValClone_completeUpdateIntent, initiateUpdateIntent: switchValClone_initiateUpdateIntent, confirmTokenization: switchValClone_confirmTokenization diff --git a/src/components/HyperManagementElements.res b/src/components/HyperManagementElements.res index fc07700..4243941 100644 --- a/src/components/HyperManagementElements.res +++ b/src/components/HyperManagementElements.res @@ -25,6 +25,7 @@ let make = (~children, ~hyper: Promise.t, ~options: JSON. retrievePaymentIntent: switchInstance.retrievePaymentIntent, clientSecret: "", paymentRequest: switchInstance.paymentRequest, + initPaymentSession: switchInstance.initPaymentSession, completeUpdateIntent: switchInstance.completeUpdateIntent, initiateUpdateIntent: switchInstance.initiateUpdateIntent, confirmTokenization: switchInstance.confirmTokenization, From 24f5c3e1e60b937e003ce6f58aa40cd67241d306 Mon Sep 17 00:00:00 2001 From: "aritro.ghosh" Date: Fri, 27 Mar 2026 21:06:36 +0530 Subject: [PATCH 2/3] chore: version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index aa4a42e..0e895f2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@juspay-tech/react-hyper-js", - "version": "2.0.0", + "version": "2.1.0", "main": "dist/bundle.js", "files": [ "dist/", From 57adeed42dc60be30feadd6f222912fef731ea56 Mon Sep 17 00:00:00 2001 From: "aritro.ghosh" Date: Fri, 27 Mar 2026 21:08:08 +0530 Subject: [PATCH 3/3] chore: version bump --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index eddd5b5..0f78aa8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@juspay-tech/react-hyper-js", - "version": "2.0.0", + "version": "2.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@juspay-tech/react-hyper-js", - "version": "2.0.0", + "version": "2.1.0", "license": "Apache-2.0", "dependencies": { "@rescript/core": "^0.7.0",