授权一笔未知金额的交易,稍后收取服务费用

Posted

技术标签:

【中文标题】授权一笔未知金额的交易,稍后收取服务费用【英文标题】:Authorize a transaction with unknown amount, and charge the amount for the service later 【发布时间】:2017-08-13 08:07:51 【问题描述】:

我正在开发一种汽车预订 ios 应用程序;我想开发以下付款流程:

想为我的应用用户实施基于消费的支付。而不是预付款;用户将根据他的使用情况进行后付款。

在我的应用程序中,用户将预订一辆车 ---> 他可以使用它想使用多少小时。例如。他用了10个小时--->并且在还车的时候--->系统自动从他的信用卡中扣除了他使用的钱。

所以,例如每小时费率为 2 美元/小时,用户使用了 20 小时;系统会从他的信用卡中扣除 40 $(2*20)。

我的计划是使用 Apple Pay,我得到了以下信息:https://developer.apple.com/apple-pay/get-started/

Transaction type : 授权未知金额&扣款Description : 授权一笔未知金额交易,并收取费用 以后的服务金额 Example : 出租车

我已阅读 Apple Pay 文档并从此处观看 Apple Pay 视频:

https://developer.apple.com/videos/play/wwdc2015/702/ https://developer.apple.com/apple-pay/get-started/ https://dzone.com/articles/integrating-your-ios-app-apple https://developer.apple.com/apple-pay/Getting-Started-with-Apple-Pay.pdf

我还参考了以下演示:

我正在用 Objective C 构建我的 iOS 应用程序。

https://developer.apple.com/library/content/samplecode/Emporium/Introduction/Intro.html https://github.com/prolificinteractive/applepay-demo https://www.raywenderlich.com/87300/apple-pay-tutorial

另请参考:

Paypal - charge customer an unknown amount at a later date

现在我想知道有没有比苹果支付更好的选择?或者如何使用 Apple Pay 实现上述要求。

我的主要目标是在用户使用我的服务后自动向他/她收取费用。

请给我你的意见,我该如何使用Transaction type

提前致谢。

【问题讨论】:

如果您使用 Stripe 预授权以获得更高的“上限”值,则在捕获时它将释放剩余的预授权金额(表示为退款)。这就是你如何绕过它。您需要限制授权的数量,不能只说“任何事情”。 @G0dsquad 你是对的,但如果你检查:developer.apple.com/apple-pay/get-started 它说你可以为“授权一笔未知金额的交易,并在以后收取服务费用”进行交易,我的问题是我该怎么办? @SAMIRRATHOD 你解决过这个问题吗? @BradThiessen 是的,我也使用过 Braintree Vault API。 @SAMIRRATHOD 你能告诉我你是怎么做到的吗?请详细一点。 【参考方案1】:

这是来自苹果开发者页面的解释:

如果您不知道授权付款时的实际成本(例如出租车费),请使用 PKPaymentSummaryItemTypePending 类型和 0.0 金额制作小计汇总项。对于总计,请使用正的非零金额和 PKPaymentSummaryItemTypePending 类型。然后系统将费用显示为待处理,没有数字金额。

https://developer.apple.com/library/archive/ApplePay_Guide/CreateRequest.html#//apple_ref/doc/uid/TP40014764-CH3-SW2

【讨论】:

以上是关于授权一笔未知金额的交易,稍后收取服务费用的主要内容,如果未能解决你的问题,请参考以下文章

授权净ARB增加认购金额

以编程方式向 PayPal 收取定期付款的费用

在任意时间以任意金额重复付款?

前八个月的 Paypal 定期资料费用试用金额

Paypal 经常性:立即收取试用金额?

在 App-Billing 中可以作为押金