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 Chilkat.Rest
Dim success As Boolean
' URL: https://api.stripe.com/v1/invoices
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect("api.stripe.com",port,bTls,bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
rest.SetAuthBasic("STRIPE_SECRET_KEY","")
rest.AddQueryParam("customer","cus_CBbg9PmQ9sLbmo")
Dim strResponseBody As String = rest.FullRequestFormUrlEncoded("POST","/v1/invoices")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
Dim jsonResponse As New Chilkat.JsonObject
jsonResponse.Load(strResponseBody)
Dim id As String
Dim object As String
Dim amount_due As Integer
Dim application_fee As Boolean
Dim attempt_count As Integer
Dim attempted As Boolean
Dim billing As String
Dim charge As Boolean
Dim closed As Boolean
Dim currency As String
Dim customer As String
Dim date As Integer
Dim description As Boolean
Dim discount As Boolean
Dim due_date As Boolean
Dim ending_balance As Boolean
Dim forgiven As Boolean
Dim linesHas_more As Boolean
Dim linesObject As String
Dim linesUrl As String
Dim livemode As Boolean
Dim next_payment_attempt As Integer
Dim number As String
Dim paid As Boolean
Dim period_end As Integer
Dim period_start As Integer
Dim receipt_number As Boolean
Dim starting_balance As Integer
Dim statement_descriptor As Boolean
Dim subscription As Boolean
Dim subtotal As Integer
Dim tax As Boolean
Dim tax_percent As Boolean
Dim total As Integer
Dim webhooks_delivered_at As Boolean
Dim i As Integer
Dim count_i As Integer
Dim amount As Integer
Dim description_str As String
Dim discountable As Boolean
Dim periodStart As Integer
Dim periodEnd As Integer
Dim plan As Boolean
Dim proration As Boolean
Dim quantity As Boolean
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")
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
End While
{
"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
}