Add metadata (vm_id) to Stripe subscription
This commit is contained in:
		
					parent
					
						
							
								d2ae94327a
							
						
					
				
			
			
				commit
				
					
						2a59a3336b
					
				
			
		
					 2 changed files with 17 additions and 0 deletions
				
			
		|  | @ -18,6 +18,7 @@ from utils.hosting_utils import get_all_public_keys, get_or_create_vm_detail | |||
| from utils.forms import UserBillingAddressForm | ||||
| from utils.mailer import BaseEmail | ||||
| from utils.models import BillingAddress | ||||
| from utils.stripe_utils import StripeUtils | ||||
| 
 | ||||
| logger = get_task_logger(__name__) | ||||
| 
 | ||||
|  | @ -118,6 +119,10 @@ def create_vm_task(self, vm_template_id, user, specs, template, | |||
| 
 | ||||
|         # Associate an order with a stripe subscription | ||||
|         order.set_subscription_id(stripe_subscription_id, cc_details) | ||||
|         stripe_utils = StripeUtils() | ||||
|         stripe_utils.set_subscription_meta_data( | ||||
|             stripe_subscription_id, {'ID': vm_id} | ||||
|         ) | ||||
| 
 | ||||
|         # If the Stripe payment succeeds, set order status approved | ||||
|         order.set_approved() | ||||
|  |  | |||
|  | @ -304,3 +304,15 @@ class StripeUtils(object): | |||
|             cpu=cpu, | ||||
|             memory=memory, | ||||
|             disk_size=disk_size) | ||||
| 
 | ||||
|     @handleStripeError | ||||
|     def set_subscription_meta_data(self, subscription_id, meta_data): | ||||
|         """ | ||||
|         Adds VM metadata to a subscription | ||||
|         :param subscription_id: Stripe identifier for the subscription | ||||
|         :param meta_data: A dict of meta data to be added | ||||
|         :return: | ||||
|         """ | ||||
|         subscription = stripe.Subscription.retrieve(subscription_id) | ||||
|         subscription.metadata = meta_data | ||||
|         subscription.save() | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue