Objective-C Stripe: List Balance History

Back to Index

Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.

Documentation: https://stripe.com/docs/api/curl#balance_history

CURL Command

curl https://api.stripe.com/v1/balance/history?limit=3 \
   -u STRIPE_SECRET_KEY: \
   -G

Objective-C Example

#import <CkoRest.h>
#import <CkoStringBuilder.h>
#import <CkoJsonObject.h>
#import <NSString.h>

CkoRest *rest = [[CkoRest alloc] init];
BOOL success;

//  URL: https://api.stripe.com/v1/balance/history?limit=3
BOOL bTls = YES;
int port = 443;
BOOL bAutoReconnect = YES;
success = [rest Connect: @"api.stripe.com" port: [NSNumber numberWithInt: port] tls: bTls autoReconnect: bAutoReconnect];
if (success != YES) {
    NSLog(@"%@%d",@"ConnectFailReason: ",[rest.ConnectFailReason intValue]);
    NSLog(@"%@",rest.LastErrorText);
    return;
}

[rest SetAuthBasic: @"STRIPE_SECRET_KEY" password: @""];

CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
success = [rest FullRequestNoBodySb: @"GET" uriPath: @"/v1/balance/history?limit=3" sb: sbResponseBody];
if (success != YES) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

CkoJsonObject *jsonResponse = [[CkoJsonObject alloc] init];
[jsonResponse LoadSb: sbResponseBody];

NSString *object = 0;
NSString *url = 0;
BOOL has_more;
int i;
int count_i;
NSString *id = 0;
int amount;
int available_on;
int created;
NSString *currency = 0;
BOOL description;
BOOL exchange_rate;
int fee;
int net;
NSString *source = 0;
NSString *status = 0;
NSString *type = 0;
int j;
int count_j;

object = [jsonResponse StringOf: @"object"];
url = [jsonResponse StringOf: @"url"];
has_more = [jsonResponse BoolOf: @"has_more"];
i = 0;
count_i = [[jsonResponse SizeOfArray: @"data"] intValue];
while (i < count_i) {
    jsonResponse.I = [NSNumber numberWithInt: i];
    id = [jsonResponse StringOf: @"data[i].id"];
    object = [jsonResponse StringOf: @"data[i].object"];
    amount = [[jsonResponse IntOf: @"data[i].amount"] intValue];
    available_on = [[jsonResponse IntOf: @"data[i].available_on"] intValue];
    created = [[jsonResponse IntOf: @"data[i].created"] intValue];
    currency = [jsonResponse StringOf: @"data[i].currency"];
    description = [jsonResponse IsNullOf: @"data[i].description"];
    exchange_rate = [jsonResponse IsNullOf: @"data[i].exchange_rate"];
    fee = [[jsonResponse IntOf: @"data[i].fee"] intValue];
    net = [[jsonResponse IntOf: @"data[i].net"] intValue];
    source = [jsonResponse StringOf: @"data[i].source"];
    status = [jsonResponse StringOf: @"data[i].status"];
    type = [jsonResponse StringOf: @"data[i].type"];
    j = 0;
    count_j = [[jsonResponse SizeOfArray: @"data[i].fee_details"] intValue];
    while (j < count_j) {
        jsonResponse.J = [NSNumber numberWithInt: j];
        j = j + 1;
    }

    i = i + 1;
}

Sample JSON Response Body

{
  "object": "list",
  "url": "/v1/balance/history",
  "has_more": false,
  "data": [
    {
      "id": "txn_1BnETJGswQrCoh0XxO2tGYr7",
      "object": "balance_transaction",
      "amount": 100,
      "available_on": 1516662781,
      "created": 1516662781,
      "currency": "usd",
      "description": null,
      "exchange_rate": null,
      "fee": 0,
      "fee_details": [
      ],
      "net": 100,
      "source": "ch_1BnETJGswQrCoh0XTs0EERBj",
      "status": "pending",
      "type": "charge"
    }
  ]
}