Handle SCA in dcl flow
This commit is contained in:
		
					parent
					
						
							
								676a358832
							
						
					
				
			
			
				commit
				
					
						4c7b9eaa52
					
				
			
		
					 1 changed files with 17 additions and 0 deletions
				
			
		|  | @ -953,6 +953,23 @@ class OrderConfirmationView(DetailView, FormView): | ||||||
|                 tax_rates=[stripe_tax_rate.tax_rate_id] if stripe_tax_rate else [], |                 tax_rates=[stripe_tax_rate.tax_rate_id] if stripe_tax_rate else [], | ||||||
|             ) |             ) | ||||||
|             stripe_subscription_obj = subscription_result.get('response_object') |             stripe_subscription_obj = subscription_result.get('response_object') | ||||||
|  |             logger.debug(stripe_subscription_obj) | ||||||
|  |             latest_invoice = stripe.Invoice.retrieve( | ||||||
|  |                 stripe_subscription_obj.latest_invoice) | ||||||
|  |             ret = stripe.PaymentIntent.confirm( | ||||||
|  |                 latest_invoice.payment_intent | ||||||
|  |             ) | ||||||
|  |             if ret.status == 'requires_action': | ||||||
|  |                 pi = stripe.PaymentIntent.retrieve( | ||||||
|  |                     latest_invoice.payment_intent | ||||||
|  |                 ) | ||||||
|  |                 context = { | ||||||
|  |                     'sid': stripe_subscription_obj.id, | ||||||
|  |                     'payment_intent_secret': pi.client_secret, | ||||||
|  |                     'STRIPE_PUBLISHABLE_KEY': settings.STRIPE_API_PUBLIC_KEY, | ||||||
|  |                     'showSCA': True | ||||||
|  |                 } | ||||||
|  |                 return JsonResponse(context) | ||||||
|             # Check if the subscription was approved and is active |             # Check if the subscription was approved and is active | ||||||
|             if (stripe_subscription_obj is None |             if (stripe_subscription_obj is None | ||||||
|                     or stripe_subscription_obj.status != 'active'): |                     or stripe_subscription_obj.status != 'active'): | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue