Attempts payment on an invoice out of the normal collection schedule.
curl https://api.stripe.com/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c/pay \
-u STRIPE_SECRET_KEY: \
-X POST
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
CkRest rest = new CkRest();
boolean success;
// URL: https://api.stripe.com/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c/pay
boolean bTls = true;
int port = 443;
boolean bAutoReconnect = true;
success = rest.Connect("api.stripe.com",port,bTls,bAutoReconnect);
if (success != true) {
System.out.println("ConnectFailReason: " + rest.get_ConnectFailReason());
System.out.println(rest.lastErrorText());
return;
}
rest.SetAuthBasic("STRIPE_SECRET_KEY","");
CkStringBuilder sbResponseBody = new CkStringBuilder();
success = rest.FullRequestNoBodySb("POST","/v1/invoices/in_1BnETLGswQrCoh0X6M67Qy9c/pay",sbResponseBody);
if (success != true) {
System.out.println(rest.lastErrorText());
return;
}
CkJsonObject jsonResponse = new CkJsonObject();
jsonResponse.LoadSb(sbResponseBody);
String id;
String object;
int amount_due;
boolean application_fee;
int attempt_count;
boolean attempted;
String billing;
String charge;
boolean closed;
String currency;
String customer;
int date;
boolean description;
boolean discount;
boolean due_date;
boolean ending_balance;
boolean forgiven;
boolean linesHas_more;
String linesObject;
String linesUrl;
boolean livemode;
int next_payment_attempt;
String number;
boolean paid;
int period_end;
int period_start;
boolean receipt_number;
int starting_balance;
boolean statement_descriptor;
boolean subscription;
int subtotal;
boolean tax;
boolean tax_percent;
int total;
boolean webhooks_delivered_at;
boolean last_payment_attempt;
int i;
int count_i;
int amount;
String description_str;
boolean discountable;
int periodStart;
int periodEnd;
String planId;
String planObject;
int planAmount;
int planCreated;
String planCurrency;
String planInterval;
int planInterval_count;
boolean planLivemode;
String planName;
boolean planStatement_descriptor;
boolean planTrial_period_days;
boolean proration;
int quantity;
String subscription_item;
String 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.stringOf("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");
last_payment_attempt = jsonResponse.IsNullOf("last_payment_attempt");
i = 0;
count_i = jsonResponse.SizeOfArray("lines.data");
while (i < count_i) {
jsonResponse.put_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;
}
}
}
{
"id": "in_1BnETLGswQrCoh0X6M67Qy9c",
"object": "invoice",
"amount_due": 0,
"application_fee": null,
"attempt_count": 0,
"attempted": true,
"billing": "charge_automatically",
"charge": "ch_1BnETLGswQrCoh0XYoMbCKZ3",
"closed": false,
"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": true,
"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,
"last_payment_attempt": null
}