Creates a customer invoice object.
curl https://api.stripe.com/v1/invoices \
-u STRIPE_SECRET_KEY: \
-d customer=cus_CBbg9PmQ9sLbmo \
-X POST
Dim rest As New ChilkatRest
Dim success As Long
' URL: https://api.stripe.com/v1/invoices
Dim bTls As Long
bTls = 1
Dim port As Long
port = 443
Dim bAutoReconnect As Long
bAutoReconnect = 1
success = rest.Connect("api.stripe.com",port,bTls,bAutoReconnect)
If (success <> 1) Then
Debug.Print "ConnectFailReason: " & rest.ConnectFailReason
Debug.Print rest.LastErrorText
Exit Sub
End If
success = rest.SetAuthBasic("STRIPE_SECRET_KEY","")
success = rest.AddQueryParam("customer","cus_CBbg9PmQ9sLbmo")
Dim strResponseBody As String
strResponseBody = rest.FullRequestFormUrlEncoded("POST","/v1/invoices")
If (rest.LastMethodSuccess <> 1) Then
Debug.Print rest.LastErrorText
Exit Sub
End If
Dim jsonResponse As New ChilkatJsonObject
success = jsonResponse.Load(strResponseBody)
Dim id As String
Dim object As String
Dim amount_due As Long
Dim application_fee As Long
Dim attempt_count As Long
Dim attempted As Long
Dim billing As String
Dim charge As Long
Dim closed As Long
Dim currency As String
Dim customer As String
Dim date As Long
Dim description As Long
Dim discount As Long
Dim due_date As Long
Dim ending_balance As Long
Dim forgiven As Long
Dim linesHas_more As Long
Dim linesObject As String
Dim linesUrl As String
Dim livemode As Long
Dim next_payment_attempt As Long
Dim number As String
Dim paid As Long
Dim period_end As Long
Dim period_start As Long
Dim receipt_number As Long
Dim starting_balance As Long
Dim statement_descriptor As Long
Dim subscription As Long
Dim subtotal As Long
Dim tax As Long
Dim tax_percent As Long
Dim total As Long
Dim webhooks_delivered_at As Long
Dim i As Long
Dim count_i As Long
Dim amount As Long
Dim description_str As String
Dim discountable As Long
Dim periodStart As Long
Dim periodEnd As Long
Dim plan As Long
Dim proration As Long
Dim quantity As Long
Dim type As String
id = jsonResponse.StringOf("id")
object = jsonResponse.StringOf("object")
amount_due = jsonResponse.IntOf("amount_due")
application_fee = jsonResponse.IsNullOf("application_fee")
attempt_count = jsonResponse.IntOf("attempt_count")
attempted = jsonResponse.BoolOf("attempted")
billing = jsonResponse.StringOf("billing")
charge = jsonResponse.IsNullOf("charge")
closed = jsonResponse.BoolOf("closed")
currency = jsonResponse.StringOf("currency")
customer = jsonResponse.StringOf("customer")
date = jsonResponse.IntOf("date")
description = jsonResponse.IsNullOf("description")
discount = jsonResponse.IsNullOf("discount")
due_date = jsonResponse.IsNullOf("due_date")
ending_balance = jsonResponse.IsNullOf("ending_balance")
forgiven = jsonResponse.BoolOf("forgiven")
linesHas_more = jsonResponse.BoolOf("lines.has_more")
linesObject = jsonResponse.StringOf("lines.object")
linesUrl = jsonResponse.StringOf("lines.url")
livemode = jsonResponse.BoolOf("livemode")
next_payment_attempt = jsonResponse.IntOf("next_payment_attempt")
number = jsonResponse.StringOf("number")
paid = jsonResponse.BoolOf("paid")
period_end = jsonResponse.IntOf("period_end")
period_start = jsonResponse.IntOf("period_start")
receipt_number = jsonResponse.IsNullOf("receipt_number")
starting_balance = jsonResponse.IntOf("starting_balance")
statement_descriptor = jsonResponse.IsNullOf("statement_descriptor")
subscription = jsonResponse.IsNullOf("subscription")
subtotal = jsonResponse.IntOf("subtotal")
tax = jsonResponse.IsNullOf("tax")
tax_percent = jsonResponse.IsNullOf("tax_percent")
total = jsonResponse.IntOf("total")
webhooks_delivered_at = jsonResponse.IsNullOf("webhooks_delivered_at")
i = 0
count_i = jsonResponse.SizeOfArray("lines.data")
Do While i < count_i
jsonResponse.I = i
id = jsonResponse.StringOf("lines.data[i].id")
object = jsonResponse.StringOf("lines.data[i].object")
amount = jsonResponse.IntOf("lines.data[i].amount")
currency = jsonResponse.StringOf("lines.data[i].currency")
description_str = jsonResponse.StringOf("lines.data[i].description")
discountable = jsonResponse.BoolOf("lines.data[i].discountable")
livemode = jsonResponse.BoolOf("lines.data[i].livemode")
periodStart = jsonResponse.IntOf("lines.data[i].period.start")
periodEnd = jsonResponse.IntOf("lines.data[i].period.end")
plan = jsonResponse.IsNullOf("lines.data[i].plan")
proration = jsonResponse.BoolOf("lines.data[i].proration")
quantity = jsonResponse.IsNullOf("lines.data[i].quantity")
subscription = jsonResponse.IsNullOf("lines.data[i].subscription")
type = jsonResponse.StringOf("lines.data[i].type")
i = i + 1
Loop
{
"id": "in_1BnETLGswQrCoh0XR7p1RCtV",
"object": "invoice",
"amount_due": 0,
"application_fee": null,
"attempt_count": 0,
"attempted": false,
"billing": "charge_automatically",
"charge": null,
"closed": false,
"currency": "usd",
"customer": "cus_CBbg9PmQ9sLbmo",
"date": 1516662783,
"description": null,
"discount": null,
"due_date": null,
"ending_balance": null,
"forgiven": false,
"lines": {
"data": [
{
"id": "ii_1BnETLGswQrCoh0XsAcSzoLf",
"object": "line_item",
"amount": 0,
"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"
}
],
"has_more": false,
"object": "list",
"url": "/v1/invoices/in_1BnETLGswQrCoh0XR7p1RCtV/lines"
},
"livemode": false,
"metadata": {},
"next_payment_attempt": 1516666383,
"number": "36eba31eaa-0001",
"paid": false,
"period_end": 1516662783,
"period_start": 1516662783,
"receipt_number": null,
"starting_balance": 0,
"statement_descriptor": null,
"subscription": null,
"subtotal": 0,
"tax": null,
"tax_percent": null,
"total": 0,
"webhooks_delivered_at": null
}