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

React Native集成Stripe使用Ideal支付配置return_url仍报错如何解决?

需修改的配置&代码点

    1. 修正支付类型参数的大小写
      Stripe 支付方法的type值为全小写格式,你当前代码里写的type:'Ideal'是错误的,必须改为type: 'ideal',大小写错误会导致SDK参数识别异常,哪怕正确传入了return_url也会触发校验报错。
    1. 替换return_url为应用的深链接地址
      你当前用的https://google.com是网页地址,无法跳转回App,需要替换为你应用预先注册的Deep Link scheme地址,例如yourapp://stripe-redirect,同时需要在AndroidManifest.xml(安卓)和Info.plist(iOS)中配置对应的scheme声明,确保支付完成后可以正常唤起你的应用。
    1. 修复支付秘钥获取的异步逻辑
      你写的fetchPaymentIntentClientSecret方法没有返回client_secret值,且调用后直接读取state的clientSecret会存在异步更新延迟的问题,大概率会拿到未更新的旧值,需要调整为直接返回获取到的秘钥,调用时直接使用返回值。
    1. 新增深链接跳转后的结果处理
      需要在应用入口监听跳转回App的深链接事件,调用Stripe SDK的handleURLCallback方法处理支付结果,完成支付闭环。

修改后的代码示例

// 调整秘钥获取方法,直接返回client_secret
const fetchPaymentIntentClientSecret = async () => {
  const response = await fetch(`fetchurl`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({amount:'1000'}),
  });
  const data = await response.json();
  console.log(data.client_secret);
  return data.client_secret;
};

const handlePayPress = async () => {
  setBankName("abn_amro");
  // 直接使用返回的clientSecret,避免state异步问题
  const clientSecret = await fetchPaymentIntentClientSecret();

  const { error, paymentIntent } = await confirmPayment(clientSecret, {
    // 修正type为小写ideal
    type:'ideal',
    billingDetails:{
      name: 'Joppe - app',
    },
    // 替换为你的应用深链接
    return_url:'yourapp://stripe-redirect'
  });

  if (error) {
    Alert.alert(`Error code: ${error.code}`, error.message);
  } else if (paymentIntent) {
    Alert.alert(
      'Success',
      `The payment was confirmed successfully! currency: ${paymentIntent.currency}`
    );
  }
};

// 新增深链接监听(可根据你用的路由库调整逻辑)
useEffect(() => {
  const handleDeepLink = async (event) => {
    const url = event.url;
    if (url.startsWith('yourapp://stripe-redirect')) {
      await stripe.handleURLCallback(url);
    }
  };

  const subscription = Linking.addEventListener('url', handleDeepLink);
  return () => subscription.remove();
}, []);

内容的提问来源于stack exchange,提问作者Joppe Meijers

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:24:03