Retrieves the line items for a given invoice.
curl https://api.stripe.com/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c/lines?limit=5 \
-u STRIPE_SECRET_KEY:
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkRest.pb"
Procedure ChilkatExample()
rest.i = CkRest::ckCreate()
If rest.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; URL: https://api.stripe.com/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c/lines?limit=5
bTls.i = 1
port.i = 443
bAutoReconnect.i = 1
success = CkRest::ckConnect(rest,"api.stripe.com",port,bTls,bAutoReconnect)
If success <> 1
Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest))
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
ProcedureReturn
EndIf
CkRest::ckSetAuthBasic(rest,"STRIPE_SECRET_KEY","")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkRest::ckFullRequestNoBodySb(rest,"GET","/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c/lines?limit=5",sbResponseBody)
If success <> 1
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jsonResponse.i = CkJsonObject::ckCreate()
If jsonResponse.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jsonResponse,sbResponseBody)
object.s
url.s
has_more.i
i.i
count_i.i
id.s
amount.i
currency.s
description.s
discountable.i
livemode.i
periodStart.i
periodEnd.i
plan.i
proration.i
quantity.i
subscription.i
type.s
object = CkJsonObject::ckStringOf(jsonResponse,"object")
url = CkJsonObject::ckStringOf(jsonResponse,"url")
has_more = CkJsonObject::ckBoolOf(jsonResponse,"has_more")
i = 0
count_i = CkJsonObject::ckSizeOfArray(jsonResponse,"data")
While i < count_i
CkJsonObject::setCkI(jsonResponse, i)
id = CkJsonObject::ckStringOf(jsonResponse,"data[i].id")
object = CkJsonObject::ckStringOf(jsonResponse,"data[i].object")
amount = CkJsonObject::ckIntOf(jsonResponse,"data[i].amount")
currency = CkJsonObject::ckStringOf(jsonResponse,"data[i].currency")
description = CkJsonObject::ckStringOf(jsonResponse,"data[i].description")
discountable = CkJsonObject::ckBoolOf(jsonResponse,"data[i].discountable")
livemode = CkJsonObject::ckBoolOf(jsonResponse,"data[i].livemode")
periodStart = CkJsonObject::ckIntOf(jsonResponse,"data[i].period.start")
periodEnd = CkJsonObject::ckIntOf(jsonResponse,"data[i].period.end")
plan = CkJsonObject::ckIsNullOf(jsonResponse,"data[i].plan")
proration = CkJsonObject::ckBoolOf(jsonResponse,"data[i].proration")
quantity = CkJsonObject::ckIsNullOf(jsonResponse,"data[i].quantity")
subscription = CkJsonObject::ckIsNullOf(jsonResponse,"data[i].subscription")
type = CkJsonObject::ckStringOf(jsonResponse,"data[i].type")
i = i + 1
Wend
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jsonResponse)
ProcedureReturn
EndProcedure
{
"object": "list",
"url": "/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c/lines",
"has_more": false,
"data": [
{
"id": "ii_1BnETLGswQrCoh0XhmXYb8CY",
"object": "line_item",
"amount": 1000,
"currency": "usd",
"description": "My First Invoice Item (created for API docs)",
"discountable": true,
"livemode": false,
"metadata": {},
"period": {
"start": 1516662783,
"end": 1516662783
},
"plan": null,
"proration": false,
"quantity": null,
"subscription": null,
"type": "invoiceitem"
}
]
}