commit
						023eefe9e1
					
				@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					import stripe
 | 
				
			||||||
 | 
					import get
 | 
				
			||||||
 | 
					import set
 | 
				
			||||||
 | 
					def init(key:str):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Initializing stripe store with a key
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    stripe.api_key = key
 | 
				
			||||||
@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					def customer(email:str) :
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    This function returns a customer given an email
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    return stripe.Customer.search(query=f"email:'{email}'").data
 | 
				
			||||||
 | 
					def customers():
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    This function returns a list of customers (all customers)
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    _data = []
 | 
				
			||||||
 | 
					    customers = stripe.Customer.list(limit=100)
 | 
				
			||||||
 | 
					    for _customer in customers.auto_paging_iter() :
 | 
				
			||||||
 | 
					        _data.append(_customer)
 | 
				
			||||||
 | 
					    return _data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def product (_name):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    returns a product given it's name
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    return stripe.Product.search(query=f"name:'{_name}'").data
 | 
				
			||||||
 | 
					def products():
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    return a list of products
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    _products =  stripe.Product.list(limit=100)
 | 
				
			||||||
 | 
					    return _products.auto_paging_iter()
 | 
				
			||||||
 | 
					def plans(_name:str):
 | 
				
			||||||
 | 
					    """retrieves plans for a given producti
 | 
				
			||||||
 | 
					    :_name name of the product
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    _prod = product(_name)
 | 
				
			||||||
 | 
					    _id = _prod[0]['id']
 | 
				
			||||||
 | 
					    return stripe.Price.search(query=f"product:'{_id}'").data
 | 
				
			||||||
@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					def customer(email:str,name:str):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    :email  customer's email
 | 
				
			||||||
 | 
					    :name   customer's name
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    return stripe.Customer.create(name=name,email=email)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def subscribe(_id,_price):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    :_id    customer identifier
 | 
				
			||||||
 | 
					    :_price price object associated with product/plan
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    return stripe.Subscription.create(customer=_id,
 | 
				
			||||||
 | 
					    items=[{"price":_price}]
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					def unsubscribe(_id:str):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Cancelling a given subscription for a given user
 | 
				
			||||||
 | 
					    _id: subscription identifier
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    return stripe.Subscription.cancel(_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue