@@ -41,7 +41,7 @@ def capture(charge, amount=None):
4141 sync_charge_from_stripe_data (stripe_charge )
4242
4343
44- def create (amount , customer , source = None , currency = "usd" , description = None , send_receipt = settings .PINAX_STRIPE_SEND_EMAIL_RECEIPTS , capture = True ):
44+ def create (amount , customer , source = None , currency = "usd" , description = None , send_receipt = settings .PINAX_STRIPE_SEND_EMAIL_RECEIPTS , capture = True , email = None ):
4545 """
4646 Creates a charge for the given customer.
4747
@@ -71,7 +71,7 @@ def create(amount, customer, source=None, currency="usd", description=None, send
7171 )
7272 charge = sync_charge_from_stripe_data (stripe_charge )
7373 if send_receipt :
74- hooks .hookset .send_receipt (charge )
74+ hooks .hookset .send_receipt (charge , email )
7575 return charge
7676
7777
@@ -96,11 +96,8 @@ def sync_charge_from_stripe_data(data):
9696 Returns:
9797 a pinax.stripe.models.Charge object
9898 """
99- customer = models .Customer .objects .get (stripe_id = data ["customer" ])
100- obj , _ = models .Charge .objects .get_or_create (
101- customer = customer ,
102- stripe_id = data ["id" ]
103- )
99+ obj , _ = models .Charge .objects .get_or_create (stripe_id = data ["id" ])
100+ obj .customer = models .Customer .objects .filter (stripe_id = data ["customer" ]).first ()
104101 obj .source = data ["source" ]["id" ]
105102 obj .currency = data ["currency" ]
106103 obj .invoice = next (iter (models .Invoice .objects .filter (stripe_id = data ["invoice" ])), None )
0 commit comments