2017-08-25 162 views
-1

我有一個正在運行的Ruby on Rails服務器,用於處理Stripe帳戶創建,付款和快速(連接)帳戶管理。 api說login_links.create api應該返回一個JSON,但是當我嘗試從我自己的api客戶端收到任何響應時,我收到錯誤「responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(500))」。 login_links(https://stripe.com/docs/api#create_login_link)的API有些含糊,但我是ROR初學者,所以對此有所幫助。無法從login_link api返回JSON Stripe Ruby on Rails服務器

我的ROR服務器/ CreateBalanceLink功能:

post '/createBalanceLink' do 
    accountID = params[:account] 
    begin 
     account = Stripe::Account.retrieve(accountID) 
     account.login_links.create 

    rescue Stripe::StripeError => e 
     status 402 
     return "Error creating link: #{e.message}" 

    end 

    status 200 
    return "Link successfully created" 
end 

我的API客戶端:

func generateBalanceAccessLink(stripeAccount: String, completion: @escaping (_ result: Bool) ->()) { 
    let url = "https://swaprevive.herokuapp.com/createBalanceLinkTest" 
    let params: [String: Any] = [ 
     "account": stripeAccount 
     ] 
    Alamofire.request(url, method: .post, parameters: params) 
     .validate(statusCode: 200..<300) 
     .responseJSON { responseJSON in 
      switch responseJSON.result { 
      case .success(let json): 
       let data:[String:AnyObject] = json as! [String : AnyObject] 
       print(data) 
       //print("Created Link:",data["url"] as! String) 
       //appDelegate.balanceLink = data["url"] as! String 
       completion(true) 
      case .failure(let error): 
       print(error) 
      } 
     } 

} 

回答

0

從你的服務器的500響應表示有一個服務器錯誤。你會想檢查你的日誌,並找出那是什麼錯誤並從那裏出發。