【问题标题】:Create token for bank account information Stripe为银行账户信息创建令牌 Stripe
【发布时间】:2019-06-15 11:47:38
【问题描述】:

我正在尝试创建一个 ios 应用程序,该应用程序使用 Stripe 安全地收集用户的银行帐户信息(目的是向用户付款)。 Stripe 建议我在 STPBankAccountParams 的实例中收集银行信息。这还不错:

var bankAccount = STPBankAccountParams()
bankAccount.routingNumber = routingNumber
bankAccount.accountNumber = accountNumber
...

然后,为了安全起见,Stripe 建议您在发送到后端之前对 bankAccount 进行标记。他们建议您使用此功能:

func createToken(withBankAccount bankAccount: STPBankAccountParams, completion: STPTokenCompletionBlock? = nil)

关于这个函数的文档有点稀疏:Docs

我不确定如何在我的代码中运行此函数。我想使用此功能并获取令牌,但我对如何在代码中执行此操作缺乏了解。我想运行类似的东西:

token = createToken(withBankAccount: bankAccount)

当然,我尝试过的其他方法还没有奏效。有人有在 Stripe 中运行 createTokenWithBankAccount() 函数的经验吗?

【问题讨论】:

    标签: ios swift stripe-payments


    【解决方案1】:

    STPTokenCompletionBlock 是闭包(或回调),当函数完成时(无论它正在执行什么任务),它将调用此块,并传递给您一个STPTokenError。你会使用类似的东西

    createToken(withBankAccount: bankAccount) { (token, error) in
        // your code to check the token and error
    }
    

    这是一个很常见的模式,我建议你看看像Swift Programming Language: Closures这样的东西

    【讨论】:

      【解决方案2】:

      MadProgrammer 的回答非常接近,但实际上并没有奏效。我确实与 Stripe 的一位代表进行了交谈。作为参考,他推荐了以下代码,这似乎有效:

      STPAPIClient.shared().createToken(withBankAccount: bankAccount) { (token, error) in
              if let error = error {
                  print(error)
              }
              else {
                  print(token)
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-05
        • 2021-10-01
        • 2017-12-20
        • 2019-10-26
        • 2011-06-05
        • 1970-01-01
        • 1970-01-01
        • 2015-01-05
        相关资源
        最近更新 更多