Skip to content

Commit

Permalink
cancel pending transfers after a chargeback
Browse files Browse the repository at this point in the history
  • Loading branch information
Changaco committed Aug 10, 2022
1 parent 3c35584 commit bbc90d0
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions www/callbacks/stripe.spt
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,17 @@ elif event_object_type == 'charge.dispute':
SELECT pt.*
FROM payin_transfers pt
WHERE pt.payin = %s
AND pt.status = 'succeeded'
AND coalesce(pt.reversed_amount < pt.amount, true)
""", (payin.id,))
for pt in transfers:
reverse_transfer(
website.db, pt, idempotency_key=f'{dispute.id}_pt_{pt.id}',
)
if pt.status == 'succeeded':
reverse_transfer(
website.db, pt, idempotency_key=f'{dispute.id}_pt_{pt.id}',
)
elif pt.status == 'pending':
update_payin_transfer(
website.db, pt.id, None, 'failed', 'canceled due to chargeback'
)
# Notify the person who initiated the payment
payer = Participant.from_id(payin.payer)
if dispute.status in ('needs_response', 'lost'):
Expand Down

0 comments on commit bbc90d0

Please sign in to comment.