Estoy desarrollando una extensión de Chrome en MV3. Necesito integrar Stripe con esta extensión. Esta extensión anula la nueva pestaña. Y estoy usando ReactJs y Webpack.
Paquete NPM usando: React Stripe.js
Ahora mismo estoy recibiendo
stripe.esm.js:30 Refused to load the script 'https://js.stripe.com/v3' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.He intentado agregar
"content_security_policy": { "extension_pages": "script-src 'self' https://js.stripe.com/v3; object-src 'self'; frame-src https://js.stripe.com/v3" }en manifest.json pero entiendo esto.
¿Qué estoy haciendo mal? ¿No es posible usarlo así en MV3?
Tu ayuda es apreciada.
Básicamente, la respuesta simple y directa es que no puede hacer su implementación de esta manera. Primero: “Ya no se permite el código alojado de forma remota ; una extensión solo puede ejecutar JavaScript que está incluido en su paquete”. según la documentación del desarrollador de Chrome [0].
Stripe también ha abordado este problema en su GitHub, sobre el que puede leer más aquí [1].
En cuanto a la mejor manera de manejar esta situación, es que su extensión genere un enlace a un sitio web externo que usted crearía. Allí, podrá crear una CheckoutSession o incluso integrarse con PaymentElements.
Espero que esto arroje algo de luz sobre cómo seguir adelante.
[0] https://developer.chrome.com/docs/extensions/mv3/intro/mv3-migration/#feature-summary