Создать токен для информации о банковском счете Stripe - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь создать приложение ios, которое безопасно собирает информацию о банковском счете пользователя (с намерением заплатить пользователю), используя Stripe. Stripe рекомендует собирать банковскую информацию в экземпляре STPBankAccountParams. Это не так уж плохо:

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

Stripe затем рекомендует токенизировать bankAccount в целях безопасности перед отправкой в ​​бэкэнд. Они рекомендуют использовать эту функцию:

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

Документация по этой функции немного скудна: Документы

Я не уверен, как запустить эту функцию в моем коде. Я хочу использовать эту функцию и получить маркер, но мне не хватает понимания, как это сделать в коде. Я хочу запустить что-то вроде:

token = createToken(withBankAccount: bankAccount)

Но, конечно, это и другие вещи, которые я пробовал, еще не работали. У кого-нибудь есть опыт запуска функции createTokenWithBankAccount() в Stripe?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Ответ MadProgrammer был очень близок, но фактически не работал.Я разговаривал с представителем Stripe.Для справки он рекомендовал следующий код, который, похоже, работает:

STPAPIClient.shared().createToken(withBankAccount: bankAccount) { (token, error) in
        if let error = error {
            print(error)
        }
        else {
            print(token)
        }
    }
0 голосов
/ 22 января 2019

STPTokenCompletionBlock - это замыкание (или обратный вызов), когда функция завершает работу (какую бы задачу она ни выполняла), она вызывает этот блок, передавая вам STPToken или Error.Вы бы использовали что-то вроде

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

Это довольно распространенный шаблон, и я предлагаю вам взглянуть на что-то вроде Язык программирования Swift: замыкания

...