Updates an invoice.
curl https://api.stripe.com/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c \
-u STRIPE_SECRET_KEY: \
-d closed=true \
-X POST
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)
set rest = CreateObject("Chilkat_9_5_0.Rest")
' URL: https://api.stripe.com/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c
bTls = 1
port = 443
bAutoReconnect = 1
success = rest.Connect("api.stripe.com",port,bTls,bAutoReconnect)
If (success <> 1) Then
outFile.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
outFile.WriteLine(rest.LastErrorText)
WScript.Quit
End If
success = rest.SetAuthBasic("STRIPE_SECRET_KEY","")
success = rest.AddQueryParam("closed","true")
strResponseBody = rest.FullRequestFormUrlEncoded("POST","/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c")
If (rest.LastMethodSuccess <> 1) Then
outFile.WriteLine(rest.LastErrorText)
WScript.Quit
End If
set jsonResponse = CreateObject("Chilkat_9_5_0.JsonObject")
success = jsonResponse.Load(strResponseBody)
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")
planId = jsonResponse.StringOf("lines.data[i].plan.id")
planObject = jsonResponse.StringOf("lines.data[i].plan.object")
planAmount = jsonResponse.IntOf("lines.data[i].plan.amount")
planCreated = jsonResponse.IntOf("lines.data[i].plan.created")
planCurrency = jsonResponse.StringOf("lines.data[i].plan.currency")
planInterval = jsonResponse.StringOf("lines.data[i].plan.interval")
planInterval_count = jsonResponse.IntOf("lines.data[i].plan.interval_count")
planLivemode = jsonResponse.BoolOf("lines.data[i].plan.livemode")
planName = jsonResponse.StringOf("lines.data[i].plan.name")
planStatement_descriptor = jsonResponse.IsNullOf("lines.data[i].plan.statement_descriptor")
planTrial_period_days = jsonResponse.IsNullOf("lines.data[i].plan.trial_period_days")
proration = jsonResponse.BoolOf("lines.data[i].proration")
quantity = jsonResponse.IntOf("lines.data[i].quantity")
subscription = jsonResponse.IsNullOf("lines.data[i].subscription")
subscription_item = jsonResponse.StringOf("lines.data[i].subscription_item")
type = jsonResponse.StringOf("lines.data[i].type")
i = i + 1
Loop
outFile.Close
{
"id": "in_1BnETLGswQrCoh0X6M67Qy9c",
"object": "invoice",
"amount_due": 0,
"application_fee": null,
"attempt_count": 0,
"attempted": false,
"billing": "charge_automatically",
"charge": null,
"closed": true,
"currency": "usd",
"customer": "cus_CBbggkUyLoz3pe",
"date": 1516662783,
"description": null,
"discount": null,
"due_date": null,
"ending_balance": null,
"forgiven": false,
"lines": {
"data": [
{
"id": "sub_CBbgC3EaFZqN3Q",
"object": "line_item",
"amount": 999,
"currency": "usd",
"description": "1x Silver Express (at $9.99)",
"discountable": true,
"livemode": true,
"metadata": {},
"period": {
"start": 1521760383,
"end": 1524438783
},
"plan": {
"id": "gold",
"object": "plan",
"amount": 2000,
"created": 1516662783,
"currency": "usd",
"interval": "month",
"interval_count": 1,
"livemode": false,
"metadata": {},
"name": "T-shirt",
"statement_descriptor": null,
"trial_period_days": null
},
"proration": false,
"quantity": 1,
"subscription": null,
"subscription_item": "si_CBbgZxCVF3Ha7P",
"type": "subscription"
}
],
"has_more": false,
"object": "list",
"url": "/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c/lines"
},
"livemode": false,
"metadata": {},
"next_payment_attempt": 1516666383,
"number": "330a34b8d5-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
}