user13788524
user13788524

Reputation:

How to render a template when paypal order is captured?

I am implementing a paypal server side payment button. I managed to create the order and capture it.

Now I would like to render a success template when the order is captured, but I don't know where, because here im returning the json response but how can i render a template when the payment is successful? How should this be done?

def capture(request, order_id, mail):
    if request.method == "POST":
        capture_order = OrdersCaptureRequest(order_id)
        environment = SandboxEnvironment(client_id=value, client_secret=value)
        client = PayPalHttpClient(environment)

        response = client.execute(capture_order)
        data = response.result.__dict__['_dict']
        letter = Letter.objects.filter(mail=mail).first()


        return JsonResponse(data)
    else:
        return JsonResponse({'details': "invalid request"})

Upvotes: 0

Views: 73

Answers (1)

Preston PHX
Preston PHX

Reputation: 30477

Here is the best front-end sample for a server-side integration: https://developer.paypal.com/demo/checkout/#/pattern/server

This capture sample correctly handles the 3 cases of retrying, showing an error, and showing a success message.

For your implementation, the success case can be to manipulate the DOM to show whatever message / "template" you want to appear.

(You could even use actions.redirect() if you must, although redirects are a poor design choice and to be avoided as much as possible.)

Upvotes: 1

Related Questions