代码之家  ›  专栏  ›  技术社区  ›  Lukas Bimba

Swift Node.js Stripe Alamofire-检索Connect帐户

  •  0
  • Lukas Bimba  · 技术社区  · 1 年前

    寻求有关如何检索条带连接帐户数据的帮助。根据我提供的当前代码,我唯一能够检索的帐户是其他用户也将连接的主帐户。我已经查看了条纹文档,看起来我做的一切都很好,但奇怪的是,无论我如何呼叫其他连接的帐户,我都只能返回主帐户。如果有区别的话,这些也是测试连接帐户。此外,以字符串格式提供的帐户,如 ["account": "acct_1NTBUJPxUIDTXnbA"] 这不是主帐户,它是一个测试帐户,应该提取数据并具有完整的配置文件。

    Swift呼叫

    static func getAccountData(accountID: String, completion: @escaping(Bool?) -> Void)  { //url, Error
        let parameters: [String:Any] = ["account": "acct_1NTBUJPxUIDTXnbA"]
        let url = "https://us-central1-shoppeer-e7270.cloudfunctions.net/getAccount"
        
        AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:]).responseJSON { response in
                guard let dict = response.value as? [String: Any]? else {
                    return completion(nil)
                }
                
                guard let dict2 = dict?["body"] as? [String: Any] else {
                    return completion(nil)
                }
                
                guard let _ = dict2["success"] as? String? else {
                    if let failure = dict2["failure"] as? String {
                        return completion(nil)
                    }
                    return
                }
            }
    }
    

    Node.js

    exports.getAccount = functions.https.onRequest((req, res) => {
    const data = req.body;
    const accountID = data.account;
    var response = {}
    
    stripe.accounts.retrieve(
    accountID.stripeAccount,
    function(err, account) {
      if (err) {
        response.body = {failure: err.message}
        return res.send(response)
      }
    
      response.body = {success: account}
      return res.send(response)
    }
    );
    })
    
    0 回复  |  直到 1 年前
        1
  •  0
  •   alex    1 年前

    您检索连接帐户的帐户id的代码应该是

    const account = await stripe.accounts.retrieve(
      accountID.stripeAccount
    );
    

    您的代码存在格式问题。

    stripe.accounts.retrieve(
    accountID.stripeAccount,
    function(err, account) { //here
      if (err) {
        response.body = {failure: err.message}
        return res.send(response)
      }
    
      response.body = {success: account}
      return res.send(response)
    }
    );
    

    如果这是复制粘贴问题,您应该登录 accountID.stripeAccount 在检索帐户以验证是否真的有值传入之前。