mirror of
https://github.com/pretix/pretix.git
synced 2026-05-26 18:43:59 +00:00
PPv2: Do not run capture if PPOrder has not been approved by user.
This commit is contained in:
@@ -653,20 +653,20 @@ class PaypalMethod(BasePaymentProvider):
|
|||||||
else:
|
else:
|
||||||
pp_captured_order = response.result
|
pp_captured_order = response.result
|
||||||
|
|
||||||
for purchaseunit in pp_captured_order.purchase_units:
|
for purchaseunit in pp_captured_order.purchase_units:
|
||||||
for capture in purchaseunit.payments.captures:
|
for capture in purchaseunit.payments.captures:
|
||||||
try:
|
try:
|
||||||
ReferencedPayPalObject.objects.get_or_create(order=payment.order, payment=payment, reference=capture.id)
|
ReferencedPayPalObject.objects.get_or_create(order=payment.order, payment=payment, reference=capture.id)
|
||||||
except ReferencedPayPalObject.MultipleObjectsReturned:
|
except ReferencedPayPalObject.MultipleObjectsReturned:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if capture.status == 'PENDING':
|
if capture.status == 'PENDING':
|
||||||
messages.warning(request, _('PayPal has not yet approved the payment. We will inform you as '
|
messages.warning(request, _('PayPal has not yet approved the payment. We will inform you as '
|
||||||
'soon as the payment completed.'))
|
'soon as the payment completed.'))
|
||||||
payment.info = json.dumps(pp_captured_order.dict())
|
payment.info = json.dumps(pp_captured_order.dict())
|
||||||
payment.state = OrderPayment.PAYMENT_STATE_PENDING
|
payment.state = OrderPayment.PAYMENT_STATE_PENDING
|
||||||
payment.save()
|
payment.save()
|
||||||
return
|
return
|
||||||
|
|
||||||
payment.refresh_from_db()
|
payment.refresh_from_db()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user