当前位置: 首页 > 知识库问答 >
问题:

欧洲的Stripe Connect:使用支付意图向客户收费(React和Node js)

卢才艺
2023-03-14

我正在建立一个标准的stripe connect帐户,直接收费。

这对我使用带有代币的charges api非常有效,但对我使用欧盟要求的payments intent api不起作用。

以下是客户工作的密码。

axios.post(`${process.env.REACT_APP_API}/paymentIntent`, stripeData).then(res => {console.log('paymentIntent res', res.data)
    let clientSecret = res.data.clientSecret
    this.props.stripe.createToken({}).then(res => {
        console.log('stripe token', res)
        if (!res.token) {
            this.setState({
                message:
                    "Invalid Credit Card. Your tickets have not been booked. You have not been charged"
            })
        }
        else{
            this.props.stripe.confirmCardPayment(
                clientSecret,
                {
                    payment_method: {
                        card: {
                            token: res.token.id
                        }
                    }
                }
            ).then( res => {console.log(res)})
        }
    })

      }

但我在控制台中收到以下错误:

Failed to load resource: the server responded with a status of 404 ()

error:
code: "resource_missing"
doc_url: "https://stripe.com/docs/error-codes/resource-missing"
message: "No such payment_intent: pi_1FnrwXLkWxxxxxxxxxxxxxxx"
param: "intent"
type: "invalid_request_error"

有几件事让我困惑。

  1. 我的客户密码的格式如下:

pi_1fNRWXLKWxxxxxxxxxxxxx_机密PGBI46EAZWxxxxxxxxx

从错误消息中,似乎只有一部分被发送到条带api。这就是导致错误的原因吗?

两个条带答案建议在前端使用以下代码。

var stripe=Stripe(STRIPE_PUBLIC_KEY,{stripeUser:"{{connected_account }}" })

如果这是正确的,我如何调整此代码以进行反应,以及我将其放在组件中的哪里?它向我抛出了当前的错误。

参考1:代码=50“无此类付款意向”时确认条带的付款意向

Ref2: Stripe Connect PaymentIntent错误:没有这样的payment_intent

共有1个答案

孔俊捷
2023-03-14

我已经找到了这些问题的答案(在stripe的帮助下)

Q1这不是问题

Q3。不要将代币与支付意图API一起使用。

问题2。不要使用文档中的代码。使用

<StripeProvider
    apiKey={process.env.REACT_APP_API_STRIPE_PUBLISH}
    stripeAccount="{{ connected_account }}">

当我对帐户进行硬编码时,这对我有用,但当我从后端获取连接的帐户ID并保存在状态时则不起作用。我通过有条件地渲染组件来使其工作。我将状态下的连接帐户初始化为"并使用此代码:

{this.state.userEvent.organiser.stripeAccountID !== '' && 
    <StripeProvider
        apiKey={process.env.REACT_APP_API_STRIPE_PUBLISH}
        stripeAccount={this.state.userEvent.organiser.stripeAccountID}>
            <Elements>
                <CheckoutForm
                    total={this.displayTotal()}
                    applicationFee={this.displayAdminFee()}
                    currency={this.state.userEvent.currency}
                    eventTitle={this.state.userEvent.title}
                    purchaser={this.state.purchaser}
                    userEvent={this.state.userEvent}
                    numTicketsSought={this.state.userEvent.numTicketsSought}    
                />
            </Elements>
     </StripeProvider>
    }
 类似资料:
  • 我可以使用Stripe API接收客户付款,但我希望它应该使用客户ID发送给其他客户。 我已经编写了接收付款的代码,但我希望付款应使用他的客户ID发送给其他客户。 它应该发送给其他客户,但我不知道要在这里添加哪些其他代码片段。

  • 我想向使用关联账户的客户收费。这是我的流程,我在< code>charge响应中收到< code>customer: null,但客户并未被收取费用,尽管交易已经完成。 我正在使用客户ID在服务器端创建令牌。https://stripe.com/docs/connect/shared-customers

  • 我正在尝试使用PaymentIntent执行带区支付。我在stripe网站上读到了以下内容(链接) 在服务器上使用金额和货币创建PaymentIntent。始终要决定在服务器端(一个受信任的环境)而不是客户端收取多少费用。这就防止了恶意客户能够自行选择价格。 我不明白如何决定在服务器端收取多少费用。我的应用程序有一系列的项目要买,每一个项目都有价格应用程序是一个市场和价格清单在客户端,所以我决定多

  • 我正在尝试按照本教程集成Stripe的自定义支付流:https://stripe.com/docs/payments/integration-builder 电子邮件和user_id仍然没有被传递,并且在Stripe Dashboard上返回为空。但是,正如我所说的,付款是成功的。但是,我需要将它链接到一个user_id,电子邮件。来使用它。请帮帮忙。提前道谢。

  • 我试图在stripe中收取一次性的第一个月订阅费,但我不知道怎么做,因为他们更改了界面。 在第一个月订阅费的初始费用之后,它应该按月滚动。 理想的情况下,我期待着这样做与拉威尔收银员。 欢迎提供任何想法和示例。

  • 说明 司机点结束计费,接入方会收到支付确认回调通知,确认费用没问题接入方可以通过此接口确认并支付。 如果接入方一直不调用此接口,订单会在48小时后自动支付。 请求地址 /v1/order/FeeConfirm 支持格式 Json或普通form HTTP请求方式 POST 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id s