diff stripe/src/luan/modules/stripe/Stripe.luan @ 402:62b457c50594

add stripe; change Luan.values to only return values, not indexes;
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 28 Apr 2015 22:38:31 -0600
parents
children 7fd9f1b7b878
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stripe/src/luan/modules/stripe/Stripe.luan	Tue Apr 28 22:38:31 2015 -0600
@@ -0,0 +1,32 @@
+java()
+local Luan = require "luan:Luan"
+local error = Luan.error
+local assert_integer = Luan.assert_integer
+local StripeLuan = require "java:luan.modules.stripe.StripeLuan"
+local Stripe = require "java:com.stripe.Stripe"
+local Customer = require "java:com.stripe.model.Customer"
+local Charge = require "java:com.stripe.model.Charge"
+
+currency = "usd"
+
+function init(api_key)
+	Stripe.apiKey = api_key
+end
+
+function create_customer(params)
+	local java_customer = Customer.create(params)
+	return StripeLuan.table(java_customer)
+end
+
+function retrieve_customer(id)
+	local java_customer = Customer.retrieve(id)
+	return StripeLuan.table(java_customer)
+end
+
+function create_charge(params)
+	params.amount or error "missing parameter 'amount'"
+	params.amount = assert_integer(params.amount)
+	params.currency = params.currency or currency
+	local java_charge = Charge.create(params)
+	return StripeLuan.table(java_charge)
+end