コード例 #1
0
ファイル: api.py プロジェクト: eerock/reddit
    def process_response(self, res):
        from r2.models import Account

        fullname = res.merchantcustomerid.contents[0]
        name = res.description.contents[0]
        customer_id = int(res.customerprofileid.contents[0])
        acct = Account._by_name(name)

        # make sure we are updating the correct account!
        if acct.name == name:
            CustomerID.set(acct, customer_id)
        else:
            raise AuthorizeNetException, "account name doesn't match authorize.net account"

        # parse the ship-to list, and make sure the Account is up todate
        ship_to = []
        for profile in res.findAll("shiptolist"):
            a = Address.fromXML(profile)
            ShippingAddress.add(acct, a.customerAddressId)
            ship_to.append(a)

        # parse the payment profiles, and ditto
        profiles = []
        for profile in res.findAll("paymentprofiles"):
            a = Address.fromXML(profile)
            cc = CreditCard.fromXML(profile.payment)
            payprof = PaymentProfile(a, cc, int(a.customerPaymentProfileId))
            PayID.add(acct, a.customerPaymentProfileId)
            profiles.append(payprof)

        return acct, Profile(acct, profiles, ship_to)
コード例 #2
0
ファイル: api.py プロジェクト: DanHoerst/reddit
    def process_response(self, res):
        from r2.models import Account
        fullname = res.merchantcustomerid.contents[0]
        name = res.description.contents[0]
        customer_id = int(res.customerprofileid.contents[0])
        acct = Account._by_name(name)

        # make sure we are updating the correct account!
        if acct.name == name:
            CustomerID.set(acct, customer_id)
        else:
            raise AuthorizeNetException, \
                  "account name doesn't match authorize.net account"

        # parse the ship-to list, and make sure the Account is up todate
        ship_to = []
        for profile in res.findAll("shiptolist"):
            a = Address.fromXML(profile)
            ShippingAddress.add(acct, a.customerAddressId)
            ship_to.append(a)

        # parse the payment profiles, and ditto
        profiles = []
        for profile in res.findAll("paymentprofiles"):
            a = Address.fromXML(profile)
            cc = CreditCard.fromXML(profile.payment)
            payprof = PaymentProfile(a, cc, int(a.customerPaymentProfileId))
            PayID.add(acct, a.customerPaymentProfileId)
            profiles.append(payprof)

        return acct, Profile(acct, profiles, ship_to)
コード例 #3
0
ファイル: interaction.py プロジェクト: zeantsoi/reddit
def add_payment_method(user, address, credit_card, validate=False):
    profile_id = CustomerID.get_id(user._id)
    payment_method_id = api.create_payment_profile(profile_id, address, credit_card, validate)

    if payment_method_id:
        PayID.add(user, payment_method_id)
        return payment_method_id
コード例 #4
0
ファイル: interaction.py プロジェクト: zeantsoi/reddit
def add_payment_method(user, address, credit_card, validate=False):
    profile_id = CustomerID.get_id(user._id)
    payment_method_id = api.create_payment_profile(profile_id, address,
                                                   credit_card, validate)

    if payment_method_id:
        PayID.add(user, payment_method_id)
        return payment_method_id
コード例 #5
0
ファイル: interaction.py プロジェクト: zeantsoi/reddit
def get_or_create_customer_profile(user):
    profile_id = CustomerID.get_id(user._id)
    if not profile_id:
        profile_id = api.create_customer_profile(merchant_customer_id=user._fullname, description=user.name)
        CustomerID.set(user, profile_id)

    profile = api.get_customer_profile(profile_id)

    if not profile or profile.merchantCustomerId != user._fullname:
        raise ValueError("error getting customer profile")

    for payment_profile in profile.paymentProfiles:
        PayID.add(user, payment_profile.customerPaymentProfileId)

    return profile
コード例 #6
0
ファイル: interaction.py プロジェクト: zeantsoi/reddit
def get_or_create_customer_profile(user):
    profile_id = CustomerID.get_id(user._id)
    if not profile_id:
        profile_id = api.create_customer_profile(
            merchant_customer_id=user._fullname, description=user.name)
        CustomerID.set(user, profile_id)

    profile = api.get_customer_profile(profile_id)

    if not profile or profile.merchantCustomerId != user._fullname:
        raise ValueError("error getting customer profile")

    for payment_profile in profile.paymentProfiles:
        PayID.add(user, payment_profile.customerPaymentProfileId)

    return profile
コード例 #7
0
ファイル: api.py プロジェクト: eerock/reddit
 def process_response(self, res):
     # add the id to the user object in case something has gone wrong
     PayID.add(self._user, self.customerPaymentProfileId)
     return PaymentProfile.fromXML(res.paymentprofile)
コード例 #8
0
ファイル: api.py プロジェクト: eerock/reddit
 def process_response(self, res):
     pay_id = int(res.customerpaymentprofileid.contents[0])
     PayID.add(self._user, pay_id)
     return pay_id
コード例 #9
0
ファイル: api.py プロジェクト: DanHoerst/reddit
 def process_response(self, res):
     # add the id to the user object in case something has gone wrong
     PayID.add(self._user, self.customerPaymentProfileId)
     return PaymentProfile.fromXML(res.paymentprofile)
コード例 #10
0
ファイル: api.py プロジェクト: DanHoerst/reddit
 def process_response(self, res):
     pay_id = int(res.customerpaymentprofileid.contents[0])
     PayID.add(self._user, pay_id)
     return pay_id