简体   繁体   中英

Create token for bank account information Stripe

I am trying to create an ios app which safely collects a user's bank account information (with the intention of paying the user) using Stripe. Stripe recommends that I collect the bank information in an instance of STPBankAccountParams . This is not too bad:

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

Stripe then recommends that you tokenize the bankAccount for security purposes before sending to backend. They recommend you use this function:

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

The documentation on this function is a bit sparse: Docs

I am not sure how to run this function in my code. I want to use this function and get the token, but I lack understanding on how to do that in code. I want to run something like:

token = createToken(withBankAccount: bankAccount)

But of course that and other things I have tried have not worked yet. Does anyone have experience running the createTokenWithBankAccount() function in Stripe?

MadProgrammer's answer was very close, but did not actually work. I did talk with a representative from Stripe. For reference, he recommended the following code, which seems to work:

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

STPTokenCompletionBlock is closure (or callback), when the function completes (what ever task it was doing), it will call this block, passing you a STPToken or a Error . You would use something like

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

This is a pretty common pattern and I suggest you take a look at something like Swift Programming Language: Closures

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM