Stripe API Balance

Я пытаюсь получить баланс Stripe с помощью API Stripe с PHP.

Я звоню следующее:

function retrieve_balance()
{
$response = Stripe_Balance::retrieve();

return $response;
}

Это возвращает что-то вроде этого:

object(Stripe_Balance)#28 (5) {
["_apiKey":protected]=>
string(32) "my_key_here"["_values":protected]=>
array(4) {
["pending"]=>
array(1) {
[0]=>
object(Stripe_Object)#32 (5) {
["_apiKey":protected]=>
string(32) "my_key_here"["_values":protected]=>
array(2) {
["amount"]=>
int(0)
["currency"]=>
string(3) "usd"
etc...

Я попытался сделать следующее, но это только привело к ошибке. Я пытаюсь получить количество ожидающих и доступных.

<?php
var_dump($balance);
/*Issue Line Below*/
echo $balance->pending->amount;
?>

Я получаю ошибку: Trying to get property of non-object

1

Решение

Проблема здесь в том, что pending это не объект, а массив, поэтому PHP выдает эту ошибку. Ваш код должен быть примерно таким:

$response = Stripe_Balance::retrieve();
foreach($response->pending as $pendingBalance)
{
echo "Pending balance of " . $pendingBalance->amount . " in " . $pendingBalance->currency . "<br>";
}
2

Другие решения

Лучший способ

$balance = Stripe_Balance::retrieve();
$balanceArr = $balance->__toArray(true);
$amount = $balanceArr['pending']['0']['amount'];
2

Я подозреваю, что проблема в том, что вы используете функцию в качестве оболочки для этого. На самом деле нет необходимости определять свою собственную функцию, единственной целью которой является вызов другой функции, и в этом случае это может вызвать проблему. Первый шаг, который я хотел бы сделать, это удалить оболочку функции и просто использовать библиотеку Stripe напрямую.

Надеюсь, это поможет,
Larry

PS Я работаю над поддержкой в ​​Stripe.

0
По вопросам рекламы [email protected]