【问题标题】:Parse-Stripe: Payment after a task is doneParse-Stripe:完成任务后付款
【发布时间】:2016-01-20 19:43:48
【问题描述】:

可能重复: Parse.com create stripe card token in cloud code (main.js)

在我的应用程序中,一个人可以向另一个人请求一个任务(有点像 Uber)。请求任务的人是Client,执行该任务的人称为DoerClient & Doer 都可以标记任务完成。完成任务后,我想在 Stripe 的帮助下从Client's 信用卡中扣除付款到我的银行账户。我的后端由Parse 管理,所以我想利用 Cloud Code。

我已经按照Parse's 示例代码ParseStore 编写了我的云代码

现在我可以在客户端生成带有信用卡信息(在注册时收集)的令牌,然后在云上为我的交易功能生成令牌。但是如果 Doer 完成了这项工作,那么我将无法在 Doer 端生成令牌,因为他/她将无法访问客户的信用卡。我的问题是,我也可以使用CloudCode 函数生成此令牌吗?

【问题讨论】:

  • 我以前没有在这种情况下这样做过,但这是您预先授权然后稍后完成的地方(同时仅在服务器上存储令牌)
  • 这样生成的token的有效性是什么?该任务可以在未来 2 个月内申请。
  • 一个token的有效期只有5分钟,你可以把token保存给客户,随时收费,但不保证能通过。 (例如卡可能被盗或过期)
  • 所以我唯一的选择是通过云代码将客户的信用卡信息提供给Doer? (通过使用 Parse.Cloud.useMasterKey())我可以阅读任何内容:P
  • 你不应该访问不符合 PCI 的卡数据

标签: objective-c iphone parse-platform stripe-payments


【解决方案1】:

在 Cloud Code 上为 Task 运行 afterSave。如果Task 被标记为完成,请使用正确的信用卡生成令牌(我建议使用Task -> Client -> Credit Card 类的指针结构)并将其发送到 Stripe。不要忘记使用Parse.Cloud.useMasterKey();

【讨论】:

  • 但问题是这必须在 CloudCode 上完成,这正是我的问题。即使在 parse 的教程中,他们也会在客户端应用程序上生成令牌,并且只在云上进行交易。
  • 我正在寻找与您建议的相同的东西,但在 ParseCloud 而不是应用程序上。
  • stripe.com/docs/api/curl#create_card_token - 您可以使用 Parse.Cloud.httpRequest 发出 cURL 请求
  • 为了符合 PCI,您必须在客户端上生成一个令牌。您可以将令牌保存给您 Stripe 帐户中的客户,但您绝不能访问卡数据!
  • 关于 PCI 合规性 - stackoverflow.com/questions/29504239/…。此外,@AbidHussain 你不会将Client 的抄送地址交给Doer...这永远不会暴露,因为整个过程都发生在后端。
猜你喜欢
  • 2020-09-18
  • 1970-01-01
  • 2019-04-05
  • 2022-12-19
  • 1970-01-01
  • 2021-12-09
  • 2014-07-30
  • 2016-07-16
  • 2012-03-11
相关资源
最近更新 更多