Zen-cart支付模块,交易金额需改成折后价

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zen-cart支付模块,交易金额需改成折后价相关的知识,希望对你有一定的参考价值。

参考技术A 不是你的支付模块修改价格!你如果是购买对方的产品!要对方修改价格!如果对方购买你的产品!才是你修改价格!要搞清楚!或者你的店铺有直接折扣功能!只要打折就会直接变成折扣价格!如果没有!你就得修改!ok

Stripe Payment Intent:更新并确认支付金额的变化

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

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

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

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

    Stripe 需要 creation of a Payment Intent 才能使用其信用卡表单填充 iframe。 为了获得简化的存款体验,我希望我的网站上的<input> 在用户输入存款金额的地方处于活动状态,并且与条纹 iframe 同时并以相同的模式显示李> 条纹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) Payment Intent Update api 要求您在更新完成后随后确认支付意图,并将响应发送回客户端。来自条带文档:“根据您更新的属性,您可能需要再次确认 PaymentIntent。例如,更新 payment_method 将始终要求您再次确认 PaymentIntent。如果您希望同时更新和确认,我们建议改为通过确认 API 更新属性。”

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于Zen-cart支付模块,交易金额需改成折后价的主要内容,如果未能解决你的问题,请参考以下文章

如何对交易模块/支付模块进行压力测试

支付系统的对账

微信支付企业付款到零钱能用其它方法开通吗?

微信小程序支付时提示当前交易超过该商户向你收款的单笔限额,请降低支付金额重试怎么回事?

Zen-Cart 中的 UPS 运输模块

天然气调用支付缺少参数怎么解决