Add get_available_payment_methods
This commit is contained in:
		
					parent
					
						
							
								13f5f576b5
							
						
					
				
			
			
				commit
				
					
						a823efd8e2
					
				
			
		
					 2 changed files with 32 additions and 2 deletions
				
			
		| 
						 | 
					@ -263,9 +263,11 @@ class PaymentOrderView(FormView):
 | 
				
			||||||
                stripe_customer = user.stripecustomer
 | 
					                stripe_customer = user.stripecustomer
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                stripe_customer = None
 | 
					                stripe_customer = None
 | 
				
			||||||
            cards_list = UserCardDetail.get_all_cards_list(
 | 
					            stripe_utils = StripeUtils()
 | 
				
			||||||
                stripe_customer=stripe_customer
 | 
					            cards_list_request = stripe_utils.get_available_payment_methods(
 | 
				
			||||||
 | 
					                stripe_customer
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					            cards_list = cards_list_request.get('response_object')
 | 
				
			||||||
            context.update({'cards_list': cards_list})
 | 
					            context.update({'cards_list': cards_list})
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            billing_address_form = BillingAddressFormSignup(
 | 
					            billing_address_form = BillingAddressFormSignup(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -528,6 +528,34 @@ class StripeUtils(object):
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        return payment_intent_obj
 | 
					        return payment_intent_obj
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @handleStripeError
 | 
				
			||||||
 | 
					    def get_available_payment_methods(self, customer):
 | 
				
			||||||
 | 
					        """	Retrieves all payment methods of the given customer
 | 
				
			||||||
 | 
					            :param customer: StripeCustomer object
 | 
				
			||||||
 | 
					            :return: a list of available payment methods
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        return_list = []
 | 
				
			||||||
 | 
					        if customer is None:
 | 
				
			||||||
 | 
					            return return_list
 | 
				
			||||||
 | 
					        cu = stripe.Customer.retrieve(customer.stripe_id)
 | 
				
			||||||
 | 
					        pms = stripe.PaymentMethod.list(
 | 
				
			||||||
 | 
					            customer=customer.stripe_id,
 | 
				
			||||||
 | 
					            type="card",
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        default_source = None
 | 
				
			||||||
 | 
					        if cu.default_source:
 | 
				
			||||||
 | 
					            default_source = cu.default_source
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            default_source = cu.invoice_settings.default_payment_method
 | 
				
			||||||
 | 
					        for pm in pms.data:
 | 
				
			||||||
 | 
					            return_list.append({
 | 
				
			||||||
 | 
					                'last4': pm.card.last4, 'brand': pm.card.brand, 'id': pm.id,
 | 
				
			||||||
 | 
					                'exp_year': pm.card.exp_year,
 | 
				
			||||||
 | 
					                'exp_month': '{:02d}'.format(pm.card.exp_month),
 | 
				
			||||||
 | 
					                'preferred': pm.id == default_source
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					        return return_list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def compare_vat_numbers(self, vat1, vat2):
 | 
					    def compare_vat_numbers(self, vat1, vat2):
 | 
				
			||||||
        _vat1 = vat1.replace(" ", "").replace(".", "").replace("-","")
 | 
					        _vat1 = vat1.replace(" ", "").replace(".", "").replace("-","")
 | 
				
			||||||
        _vat2 = vat2.replace(" ", "").replace(".", "").replace("-","")
 | 
					        _vat2 = vat2.replace(" ", "").replace(".", "").replace("-","")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue