Я интегрирую Stripe в свое приложение ridesharing, и мне было интересно, можно ли отобразить баланс учетной записи Connect для пользователя в Swift?
Stripe имеет возможность получить stripe.balance.retrieve({})
, но этоотображение баланса в консоли.
Можно ли передать это значение веб-интерфейсу в Swift с помощью запроса GET и сохранить значение в UITextLabel?
Я пытался что-то с этим запросом GET, но я могу заставить его отображаться только в консоли Swift?
func readBalance(userID: String)
{
var viewProfileComponents = URLComponents(string: "http://myWebsite/payment/payout")!
viewProfileComponents.queryItems = [
URLQueryItem(name: "userID", value: userID)
]
var request = URLRequest(url: viewProfileComponents.url!) // Pass Parameter in URL
print (viewProfileComponents.url!)
request.httpMethod = "GET" // GET METHOD
URLSession.shared.dataTask(with: request) { (data, response, error) -> Void in
if (error != nil){ // error handling responses.
print (error as Any)
}
else if let data = data {
print(data)
let userInfoString:NSString = NSString(data: data, encoding: String.Encoding.utf8.rawValue)!
if let data = userInfoString.data(using: String.Encoding.utf8.rawValue) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String:AnyObject]
print (json as Any)
if let userInfo = json!["data"]
{
DispatchQueue.main.async {
self.balanceAmount.text? = (userInfo["balance"] as! String)
}
}
} catch let error as NSError {
print(error)
}
}
}
}.resume()
}
Где balanceAmount
- это мой UITextLabel
GET Request
router.get("/payout", function (req, res) {
var userID = req.query.userID;
console.log('get payout body ', req.body);
db.query(`select \"Users\".\"stripeAccountID\", \"Users\".\"balance\" from database.\"Users\" where \"Users\".\"userID\" ='${userID}'`)
.then(function(data) {
const accBalance = stripe.balance.retrieve({
stripe_account: data.stripeAccountID
}).then(db.any(`UPDATE database.\"Users\" set \"Users\".\"balance\" = '${accBalance}' where \"Users\".\"userID\" ='${userID}'`));
console.log(data.balance)
console.log('data: ', data)
res.status(200).json({
status: 'Success',
data: data,
message: 'Retrieved Account Balance.'
});
})
.catch(function(error){
console.log('Error fetching payout', error);
});
})
Ответ GET Stripe Server
Ответ консоли Xcode
Я знаю, что ответ XCET GET не совпадает, balance
в XCode извлекается из значения базы данных.
Если есть какая-либо другая информация, которая может помочь, пожалуйста, сообщите мне.
Заранее спасибо!