def test_get_customer(self): user = PersonFactory() self.assertEqual(user.stripe_test_customer_id, '') customer = stripe_get_customer(user, TEST) user.refresh_from_db() self.assertEqual(user.stripe_test_customer_id, customer.id) self.assertEqual(customer.email, user.email) new_customer = stripe_get_customer(user, TEST) self.assertEqual(new_customer.id, customer.id) user.refresh_from_db() self.assertEqual(user.stripe_test_customer_id, customer.id)
def test_get_customer__no_create(self): user = PersonFactory() self.assertEqual(user.stripe_test_customer_id, '') customer = stripe_get_customer(user, TEST, create=False) self.assertIsNone(customer) user.refresh_from_db() self.assertEqual(user.stripe_test_customer_id, '')
def delete(self, request, *args, **kwargs): if not request.is_ajax(): raise Http404 try: creditcard = CreditCard.objects.get(is_saved=True, pk=kwargs['pk']) except CreditCard.DoesNotExist: # Count it a success. return self.success() user = request.user if creditcard.person_id != user.id: # Maybe also just redirect? raise Http404 creditcard.is_saved = False creditcard.save() customer = stripe_get_customer(creditcard.person, creditcard.api_type, create=False) if customer is not None: stripe_delete_card(customer, creditcard.stripe_card_id) return self.success()
def add_card(self, token): self.customer = stripe_get_customer(self.user, self.api_type) return stripe_add_card(self.customer, token, self.api_type)