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…
Reference in a new issue