Node.js Stripe: Retrieve an Invoice

Back to Index

Retrieves the invoice with the given ID.

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

CURL Command

curl https://api.stripe.com/v1/invoices/in_1BnETLGswQrCoh0XR7p1RCtV \
   -u STRIPE_SECRET_KEY:

Node.js Example

var os = require('os');
if (os.platform() == 'win32') {  
    var chilkat = require('chilkat_node6_win32'); 
} else if (os.platform() == 'linux') {
    if (os.arch() == 'arm') {
        var chilkat = require('chilkat_node6_arm');
    } else if (os.arch() == 'x86') {
        var chilkat = require('chilkat_node6_linux32');
    } else {
        var chilkat = require('chilkat_node6_linux64');
    }
} else if (os.platform() == 'darwin') {
    var chilkat = require('chilkat_node6_macosx');
}

function chilkatExample() {

    var rest = new chilkat.Rest();
    var success;

    //  URL: https://api.stripe.com/v1/invoices/in_1BnETLGswQrCoh0XR7p1RCtV
    var bTls = true;
    var port = 443;
    var bAutoReconnect = true;
    success = rest.Connect("api.stripe.com",port,bTls,bAutoReconnect);
    if (success !== true) {
        console.log("ConnectFailReason: " + rest.ConnectFailReason);
        console.log(rest.LastErrorText);
        return;
    }

    rest.SetAuthBasic("STRIPE_SECRET_KEY","");

    var sbResponseBody = new chilkat.StringBuilder();
    success = rest.FullRequestNoBodySb("GET","/v1/invoices/in_1BnETLGswQrCoh0XR7p1RCtV",sbResponseBody);
    if (success !== true) {
        console.log(rest.LastErrorText);
        return;
    }

    var jsonResponse = new chilkat.JsonObject();
    jsonResponse.LoadSb(sbResponseBody);

    var id;
    var object;
    var amount_due;
    var application_fee;
    var attempt_count;
    var attempted;
    var billing;
    var charge;
    var closed;
    var currency;
    var customer;
    var date;
    var description;
    var discount;
    var due_date;
    var ending_balance;
    var forgiven;
    var linesHas_more;
    var linesObject;
    var linesUrl;
    var livemode;
    var next_payment_attempt;
    var number;
    var paid;
    var period_end;
    var period_start;
    var receipt_number;
    var starting_balance;
    var statement_descriptor;
    var subscription;
    var subtotal;
    var tax;
    var tax_percent;
    var total;
    var webhooks_delivered_at;
    var i;
    var count_i;
    var amount;
    var description_str;
    var discountable;
    var periodStart;
    var periodEnd;
    var planId;
    var planObject;
    var planAmount;
    var planCreated;
    var planCurrency;
    var planInterval;
    var planInterval_count;
    var planLivemode;
    var planName;
    var planStatement_descriptor;
    var planTrial_period_days;
    var proration;
    var quantity;
    var subscription_item;
    var type;

    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");
        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;
    }


}

chilkatExample();

Sample JSON Response Body

{
  "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": "sub_CBbgnZGMJwa9ta",
        "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_CBbgiJ7hAAGzMF",
        "type": "subscription"
      }
    ],
    "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
}