def ProcessSubscription(self, pArgumentDic):
        tVipSubscriber = VipSubscriber()
        tVipSub = VipSubscription()
        tVipPayment = VipPayment()
        tLogList = []

        tOwnerEmail = pArgumentDic['payer_email']
        tOwnerId = pArgumentDic['payer_id']
        tVipSubscriber = VipSubscriber.GetSubscriberByIdAndEmail(
            tOwnerId, tOwnerEmail)
        tVipSubs = VipSubscription.GetActiveSubscriptionsByOwner(tOwnerId)

        if (tVipSubs != None and len(tVipSubs) > 0):
            tVipSub = tVipSubs[0]
            tVipSub.subscriptionIsActive = True
            tLogList = tVipSub.subscriptionLog
            tLogList.append("Paid: " + str(datetime.datetime.now()) +
                            " with transaction id " + pArgumentDic['txn_id'])
            tVipSub.subscriptionLog = tLogList
        else:
            tVipSub.subscriptionAutoState = "Tier0"
            tVipSub.subscriptionId = pArgumentDic['subscr_id']
            tLogList = tVipSub.subscriptionLog
            tLogList.append("Started: " + str(datetime.datetime.now()) +
                            " with transaction id " + pArgumentDic['txn_id'])
            tVipSub.subscriptionLog = tLogList
            tVipSub.subscriptionNeedsUpgrade = True
            tVipSub.subscriptionOwner = tOwnerId

        tVipSub.subscriptionIsActive = True
        tSubKey = str(tVipSub.put())

        tVipSubscriber.subscriberHasActiveSubscription = True
        tVipSubscriber.subscriberActiveSubscription = tSubKey
        tSubList = []
        tSubList = tVipSubscriber.subscriberSubscriptions
        tSubList.append(tSubKey)
        tVipSubscriber.put()

        if ('payment_gross' in pArgumentDic.keys()):
            tVipPayment.paymentAmount = pArgumentDic['payment_gross']

        tVipPayment.paymentEmail = tOwnerEmail
        tVipPayment.paymentPaypalId = tOwnerId
        tVipPayment.put()
    def ProcessSubscription(self, pArgumentDic):
        tVipSubscriber = VipSubscriber()
        tVipSub = VipSubscription()
        tVipPayment = VipPayment()
        tLogList = []

        tOwnerEmail = pArgumentDic["payer_email"]
        tOwnerId = pArgumentDic["payer_id"]
        tVipSubscriber = VipSubscriber.GetSubscriberByIdAndEmail(tOwnerId, tOwnerEmail)
        tVipSubs = VipSubscription.GetActiveSubscriptionsByOwner(tOwnerId)

        if tVipSubs != None and len(tVipSubs) > 0:
            tVipSub = tVipSubs[0]
            tVipSub.subscriptionIsActive = True
            tLogList = tVipSub.subscriptionLog
            tLogList.append("Paid: " + str(datetime.datetime.now()) + " with transaction id " + pArgumentDic["txn_id"])
            tVipSub.subscriptionLog = tLogList
        else:
            tVipSub.subscriptionAutoState = "Tier0"
            tVipSub.subscriptionId = pArgumentDic["subscr_id"]
            tLogList = tVipSub.subscriptionLog
            tLogList.append(
                "Started: " + str(datetime.datetime.now()) + " with transaction id " + pArgumentDic["txn_id"]
            )
            tVipSub.subscriptionLog = tLogList
            tVipSub.subscriptionNeedsUpgrade = True
            tVipSub.subscriptionOwner = tOwnerId

        tVipSub.subscriptionIsActive = True
        tSubKey = str(tVipSub.put())

        tVipSubscriber.subscriberHasActiveSubscription = True
        tVipSubscriber.subscriberActiveSubscription = tSubKey
        tSubList = []
        tSubList = tVipSubscriber.subscriberSubscriptions
        tSubList.append(tSubKey)
        tVipSubscriber.put()

        if "payment_gross" in pArgumentDic.keys():
            tVipPayment.paymentAmount = pArgumentDic["payment_gross"]

        tVipPayment.paymentEmail = tOwnerEmail
        tVipPayment.paymentPaypalId = tOwnerId
        tVipPayment.put()