Do not use UserCardDetail to save card

This commit is contained in:
PCoder 2021-02-07 15:58:03 +05:30
parent a5c83dd589
commit d46deaa23a
1 changed files with 29 additions and 31 deletions

View File

@ -698,39 +698,37 @@ class SettingsView(LoginRequiredMixin, FormView):
email=request.user.email, id_payment_method=id_payment_method email=request.user.email, id_payment_method=id_payment_method
) )
card = card_details['response_object'] card = card_details['response_object']
if UserCardDetail.get_user_card_details(stripe_customer, card): acc_result = stripe_utils.associate_customer_card(
msg = _('You seem to have already added this card') request.user.stripecustomer.stripe_id,
messages.add_message(request, messages.ERROR, msg) id_payment_method,
else: set_as_default=True
acc_result = stripe_utils.associate_customer_card( )
request.user.stripecustomer.stripe_id, id_payment_method if acc_result['response_object'] is None:
)
if acc_result['response_object'] is None:
msg = _(
'An error occurred while associating the card.'
' Details: {details}'.format(
details=acc_result['error']
)
)
messages.add_message(request, messages.ERROR, msg)
return self.render_to_response(self.get_context_data())
preferred = False
if stripe_customer.usercarddetail_set.count() == 0:
preferred = True
UserCardDetail.create(
stripe_customer=stripe_customer,
last4=card['last4'],
brand=card['brand'],
fingerprint=card['fingerprint'],
exp_month=card['exp_month'],
exp_year=card['exp_year'],
card_id=card['card_id'],
preferred=preferred
)
msg = _( msg = _(
"Successfully associated the card with your account" 'An error occurred while associating the card.'
' Details: {details}'.format(
details=acc_result['error']
)
) )
messages.add_message(request, messages.SUCCESS, msg) messages.add_message(request, messages.ERROR, msg)
return self.render_to_response(self.get_context_data())
preferred = False
if stripe_customer.usercarddetail_set.count() == 0:
preferred = True
UserCardDetail.create(
stripe_customer=stripe_customer,
last4=card['last4'],
brand=card['brand'],
fingerprint=card['fingerprint'],
exp_month=card['exp_month'],
exp_year=card['exp_year'],
card_id=card['card_id'],
preferred=preferred
)
msg = _(
"Successfully associated the card with your account"
)
messages.add_message(request, messages.SUCCESS, msg)
return self.render_to_response(self.get_context_data()) return self.render_to_response(self.get_context_data())
else: else:
billing_address_data = form.cleaned_data billing_address_data = form.cleaned_data