当前位置: 首页 > 知识库问答 >
问题:

如何在IOS中使用STRIPE API创建STRIPE客户?

沃弘图
2023-03-14

我的ios应用程序中有条带集成。

我能够使用用户输入的卡详细信息生成令牌。

我将此TOKEN发送到服务器进行支付过程。

那都很好!

问题是,我想使用它的API创建一个STRIPE客户。

如何做到这一点,SDK提供了什么吗?

或者在标题中传递“Authorization_KEY”和“STRIPE_TEST_PUBLIC_KEY”是正确的方法?

或者我需要实现整个OAuth 2.0?

请帮忙!

谢谢你!

共有2个答案

马天逸
2023-03-14

是的,nabeel是正确的,客户应该由服务器而不是客户端应用程序创建。不过,如果你想冒险,你可以这样做。。。

class StripeUtils {

    //Feed in the STPCardParams to create a Stripe token.
    func generateToken(with params: STPCardParams, completion: @escaping (Error?, STPToken?) -> ()) {

        STPAPIClient.shared().createToken(withCard: params) { (token, error) in
            completion(error, token)
        }
    }

    //Pass the token and user email address to get the STPCustomer
    func createUserWith(email: String, token: STPToken?, completion: @escaping (Error?, STPCustomer?) -> ()) {

        guard let token = token else {
            print("Token can not be nil")
            completion(*error*, nil)
            return
        }

        let headers = ["Authorization": "Bearer \(Constants.STRIPE_SECRET_KEY)"] //The secret key
        let body = ["email": email, "source": token.tokenId] as [String : Any]
        var paramString = String()

        body.forEach({ (key, value) in
            paramString = "\(paramString)\(key)=\(value)&"
        })
        let params = paramString.data(using: .utf8)

        //URLStrings.stripe_createUser is "https://api.stripe.com/v1/customers"
        //The APIManager is a class that takes urlString, params(HTTP body) and headers(HTTP headers) to get initialized.
        //(You can use Alamofire or whatever you use to handle APIs)
        //Instance of APIManager has a method called 'perform' with the URLSession's completion block  (Data?, URLResponse?, Error?) -> ()


        let manager = APIManager(urlString: URLStrings.stripe_createUser.description, params: params, headers: headers)

        manager.perform { (data, response, error) in

        //Use STPCustomerDeserializer intead of standard JSONSerialization to let Stripe hanlde the API response.

            let object = STPCustomerDeserializer.init(data: data, urlResponse: response, error: error)
            completion(object.error, object.customer)
        //That's it, you'll have a STPCustomer instance with stripeId if there were no errors.
        }
    }
}
章光华
2023-03-14

我认为您不能使用公钥创建条纹客户。我很确定这个请求需要密钥,所以它可能应该在服务器上而不是客户端应用程序上处理。

 类似资料:
  • 我使用在我的ASP. NET Core应用程序中实现Stripe。 我知道如何使用获得信用卡充值的令牌,但是我从哪里获得令牌来创建客户呢? 在文档中,我看到我需要获得一个令牌来创建客户,但不确定该令牌来自何处。https://stripe.com/docs/api/dotnet#create_customer 据我所知,代币只能使用一次,所以它不能是我在信用卡充值前得到的相同代币。

  • 我有一个网站,我想集成Stripe支付网关,当用户注册时,我想在Stripe上创建一个客户,并向他们收取第一个月的费用,例如100美元,从下个月开始,我想向他们收取50美元。 我如何创建客户,然后同时向他们收费并设置定期付款,到目前为止,我只能找到一次性付款系统: 对于经常性付款,我必须在cron中运行此代码还是有更好的方法? 提前感谢。 编辑: 我首先使用以下代码创建了一个客户,然后用他们的收费

  • 我正在使用带区签出自定义集成-https://Stripe.com/docs/Checkout#integration-custom-,方法如下: 使用custom而不是simple-如何修改带区签出以发送AJAX请求?-因为simple不允许我进行AJAX调用。 https://stripe.com/docs/tutorials/charges 搜索-12的结果,没有太大帮助。

  • 我有一个角度作为前端。从那里我可以获得客户卡的详细信息并创建一个令牌。 const{token,error}=等待stripe.createToken(this.card,options); 我有Laravel作为后端 我需要以条纹形式保存客户卡详细信息,并且需要保存响应详细信息,如最后4位数字。为客户保存多张卡应该是可行的。 注意:最初只需要保存卡详细信息,稍后再付款。 我已经浏览了文档,但我不

  • 轻推支持在电脑端和手机端创建轻应用,创建完成后待管理员审核通过后即创建成功,但仍需登录电脑端轻推进入企业管理设置轻应用。 1. 手机端 轻应用-添加-新建-设置轻应用头像-输入轻应用名称-选择所属企业-提交申请 2.电脑端 电脑端操作与手机端相同。

  • 问题内容: 如何使用Python在Linux中创建用户?我的意思是,我了解子流程模块,并考虑过调用“ adduser”并立即传递所有参数,但是“ adduser”命令会询问一些问题,例如密码,全名,电话和其他东西。我将如何使用子流程回答这个问题?我在以下问题中看到了名为pexpect的模块:我可以将Python用作Bash的替代品吗?。还有其他标准模块吗? 问题答案: 使用,它不会提出任何问题,但