You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PayPal API集成遇CSP阻止SDK加载问题求助

解决PayPal API集成时的CSP内联样式错误

你的问题出在CSP配置的两个关键缺失:

  1. 仅通过default-src配置无法覆盖PayPal所需的样式资源规则,尤其是内联样式权限不能通过默认规则继承;
  2. 允许的域名列表漏掉了PayPal静态资源依赖的paypalobjects.com。

根据PayPal官方要求的CSP规则,你需要单独配置style-src指令,补充完整的域名并显式允许内联样式。修正后的配置代码如下:

// 补充PayPal所需的完整域名
var allowedUris = new List<string> { "https://paypal.com", "https://*.paypalobjects.com" };

var policyCollection = new HeaderPolicyCollection()
    .AddContentSecurityPolicy(policy =>
    {
        // 保留默认资源访问规则
        policy.AddDefaultSrc()
              .Self()
              .From(allowedUris);
        
        // 单独配置样式资源规则,匹配PayPal的要求
        policy.AddStyleSrc()
              .Self()
              .From("https://*.paypal.com")
              .From("https://*.paypalobjects.com")
              .UnsafeInline(); // 必须显式声明允许内联样式
    });

如果后续还出现脚本加载错误,可补充script-src规则(部分PayPal组件需要内联脚本和eval权限):

policy.AddScriptSrc()
      .Self()
      .From("https://*.paypal.com")
      .From("https://*.paypalobjects.com")
      .UnsafeInline()
      .UnsafeEval();

关键原因说明

  • CSP中,default-src是各类资源的 fallback 规则,但'unsafe-inline'这类特殊权限不会自动继承到style-src、script-src等具体资源类型,必须在对应指令中显式声明;
  • PayPal的嵌入式组件会从paypalobjects.com加载样式、图片等静态资源,仅允许paypal.com会导致部分资源被拦截。

内容的提问来源于stack exchange,提问作者A-Fairooz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 00:12:16