示例#1
0
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")
示例#2
0
 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)
示例#3
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")
示例#4
0
 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)