@@ -392,26 +392,27 @@ def __init__(self, order, *args, **kwargs):
392392 del self .fields ['save_card' ]
393393
394394 def _post_clean (self ):
395- kwargs = {
396- 'amount' : self .amount ,
397- 'event' : self .order .event ,
398- 'order' : self .order ,
399- }
400- try :
401- if self .cleaned_data .get ('save_card' ):
402- self .card = self .add_card (self .cleaned_data ['token' ])
403- self ._charge = stripe_charge (self .card .id , customer = self .customer , ** kwargs )
404- else :
405- self ._charge = stripe_charge (self .cleaned_data ['token' ], ** kwargs )
406- self .card = self ._charge .source
407- except stripe .error .CardError , e :
408- self .add_error (None , e .message )
409- except stripe .error .APIError , e :
410- self .add_error (None , STRIPE_API_ERROR )
411- except stripe .error .InvalidRequestError , e :
412- self .add_error (None , e .message )
413- except InvalidAmountException , e :
414- self .add_error (None , e .message )
395+ if 'token' in self .cleaned_data :
396+ kwargs = {
397+ 'amount' : self .amount ,
398+ 'event' : self .order .event ,
399+ 'order' : self .order ,
400+ }
401+ try :
402+ if self .cleaned_data .get ('save_card' ):
403+ self .card = self .add_card (self .cleaned_data ['token' ])
404+ self ._charge = stripe_charge (self .card .id , customer = self .customer , ** kwargs )
405+ else :
406+ self ._charge = stripe_charge (self .cleaned_data ['token' ], ** kwargs )
407+ self .card = self ._charge .source
408+ except stripe .error .CardError , e :
409+ self .add_error (None , e .message )
410+ except stripe .error .APIError , e :
411+ self .add_error (None , STRIPE_API_ERROR )
412+ except stripe .error .InvalidRequestError , e :
413+ self .add_error (None , e .message )
414+ except InvalidAmountException , e :
415+ self .add_error (None , e .message )
415416
416417 def save (self ):
417418 if self .cleaned_data .get ('save_card' ):
0 commit comments