Initial support for Stripe (And Improve Paypal)
[hcoop/portal.git] / money.sig
index 1abf0fa..d3d591d 100644 (file)
--- a/money.sig
+++ b/money.sig
@@ -14,6 +14,13 @@ sig
     val listUsers : int -> (bool * Init.user) list
     (* List users and indicate whether they participated in a transaction *)
 
+    type stripePayment = {charge_id : string, webuser_id : int, card_name : string, paid_on : string, gross_cents : int, fee_cents : int, net : real}
+
+    val listUserPendingStripePayments : int -> stripePayment list
+    val listAllPendingStripePayments : unit -> stripePayment list
+    val lookupStripePayment : string -> stripePayment
+    val applyStripePayment : stripePayment -> int
+
     val lookupHostingUsage : int -> string option
 
     type charge = {trn : int, usr : int, amount : real}
@@ -37,6 +44,8 @@ sig
     val delinquentPledgers : unit -> { id : int, name : string, shares : int, balance : real } list
     val resetPledges : int list -> unit
 
-    val freezeworthyPledgers : unit -> { id : int, name : string, balance : real } list
-    val bootworthyPledgers : unit -> { id : int, name : string, balance : real } list
+    val freezeworthyPledgers : unit -> { id : int, name : string, balance : real, joinedThisMonth : bool } list
+    val bootworthyPledgers : unit -> { id : int, name : string, balance : real, joinedThisMonth : bool } list
+
+    val billDues : {descr : string, base : real, date : string} -> unit
 end