def processor_hook(request): # Attempt to validate the event by posting it back to Stripe. if settings.DEBUG: event = stripe.Event.construct_from(request.DATA, STRIPE_PRIV_KEY) else: event = stripe.Event.retrieve(request.DATA['id']) if not event: LOGGER.error("Posted stripe event %s FAIL", request.DATA['id']) raise Http404 LOGGER.info("Posted stripe event %s PASS", event.id) if event.type == 'charge.succeeded': charge_succeeded(event.data.object.id) elif event.type == 'charge.failed': charge_failed(event.data.object.id) elif event.type == 'charge.refunded': charge_refunded(event.data.object.id) elif event.type == 'charge.captured': charge_captured(event.data.object.id) elif event.type == 'charge.dispute.created': charge_dispute_created(event.data.object.id) elif event.type == 'charge.dispute.updated': charge_dispute_updated(event.data.object.id) elif event.type == 'charge.dispute.closed': charge_dispute_closed(event.data.object.id) return Response("OK")
def test_pay_now(self): """Pay the balance of account. No Issue.""" customer, charge_id = self._create_charge_for_balance('ABC') charge_succeeded(charge_id) next_balance = balance(customer) assert(next_balance == 0)
def processor_hook(request): if not event in ['charge.succeeded', 'charge.failed', 'charge.refunded', 'charge.captured', 'charge.dispute.created', 'charge.dispute.updated', 'charge.dispute.closed' ]: return Response("OK") # Attempt to validate the event by posting it back to Stripe. event = stripe.Event.retrieve(request.DATA['id']) if not event: LOGGER.error("Posted stripe event %s FAILED", request.DATA['id']) raise Http404 LOGGER.info("Posted stripe event %s OK", event.id) if event.type == 'charge.succeeded': charge_succeeded(event.data.object.id) elif event.type == 'charge.failed': charge_failed(event.data.object.id) elif event.type == 'charge.refunded': charge_refunded(event.data.object.id) elif event.type == 'charge.captured': charge_captured(event.data.object.id) elif event.type == 'charge.dispute.created': charge_dispute_created(event.data.object.id) elif event.type == 'charge.dispute.updated': charge_dispute_updated(event.data.object.id) elif event.type == 'charge.dispute.closed': charge_dispute_closed(event.data.object.id) return Response("OK")
def test_pay_now_two_success(self): """Pay the balance of account. Receive two 'charge.succeeded' events.""" customer, charge_id = self._create_charge_for_balance('ABC') charge_succeeded(charge_id) charge_succeeded(charge_id) next_balance = balance(customer) assert(next_balance == 0)