【问题标题】:Stripe Payment Intent: update and confirm for change in payment amountStripe Payment Intent:更新并确认支付金额的变化
【发布时间】:2021-06-12 06:31:49
【问题描述】:

我正在为运行在“余额”系统上的在线购物网站实施条带,用户在该系统中输入他们想存入交易余额的金额并提交信用卡信息以进行存款。

我不知道如何避免在付款确认时进行两次连续的 api 调用以进行条带化:一次使用 html 表单中的存款当前值更新支付金额,另一次到confirm payment intent .

以下是我理解的限制条件:

  1. Stripe 需要 creation of a Payment Intent 才能使用其信用卡表单填充 iframe。
  2. 为了获得简化的存款体验,我希望我的网站上的<input> 在用户输入存款金额的地方处于活动状态,并且与条纹 iframe 同时并以相同的模式显示李>
  3. 条纹Confirm Payment Intent api 似乎不允许您在确认时发送新的付款“金额”。当我从客户端发送一个新的金额参数时:stripe.confirmCardPayment(clientSecret, {payment_method:{card:stripeCardElement}, amount:depositAmount}),我收到一个错误: {code: "parameter_unknown", doc_url: "https://stripe.com/docs/error-codes/parameter-unknown", message: "Received unknown parameter: amount", param: "amount", payment_intent: Object { id: "pi_1IV21CGYTBSx8jHSRsJ1bLls", object: "payment_intent", amount: 2000, … }, type: "invalid_request_error"}。请注意,“金额”参数适用于更新支付 api 调用(参见下面的 #4)
  4. Payment Intent Update api 要求您在更新完成后随后确认支付意图,并将响应发送回客户端。来自条带文档:“根据您更新的属性,您可能需要再次确认 PaymentIntent。例如,更新 payment_method 将始终要求您再次确认 PaymentIntent。如果您希望同时更新和确认,我们建议改为通过确认 API 更新属性。”

如果是这样,它需要我的付款确认工作流程涉及到 stripe api 的两次同步行程:第一次更新金额,第二次确认付款。有什么办法可以避免吗?

【问题讨论】:

    标签: stripe-payments e-commerce


    【解决方案1】:

    amount 不是confirmCardPayment 的可接受参数。您必须在创建 PaymentIntent 服务器端时指定 amount。正如您所说,它也不能通过confirmPaymentIntent 进行更新。但是,根据您的流程,您可以通过更新PaymentIntent 来更新amount,在confirm 之前:https://stripe.com/docs/api/payment_intents/update#update_payment_intent-amount。您可以通过 webhook 同步或异步执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 2014-05-02
      • 2021-01-22
      • 2021-08-18
      • 1970-01-01
      相关资源
      最近更新 更多