Depending on which adapter types you are using for your SP side, I would recommend using the appropriate kit for it. Being the OpenToken kit, Agentless kit, etc.
I had the same problem before, so what you must do is finish the flow in your application and write a cookie on the response. This would depend on which adapter you are using, but the end is the same.
If you are using OpenToken Adapters you must be receiving an open token by either query string or form post. You must open that token with the OpenToken agent kit. Once you do that, you will find your "attributes" or "claims" inside, then you must write a cookie in the response, and use that cookie to have startup a session.
If you are using Agentless Adapters you will be receiving a REF id by either query string or form post. You must grab that REF id and call the Pickup Endpoint in PingFederate. That call will return the claims, then you must write a cookie once again and startup a session.
In the past, I coded an HTTPModule that would do this for me, and I repurposed the WS-Federation functionality to write my cookies. At the end, the site would be authenticating with Ping, but reading WIF cookies like a WS-Federation enabled app to keep the session going.
However, we ended up moving to OpenIdConnect/OAuth2, which is a newer standard and does not require SP adapters.
I have released a client for OWIN that would take care of everything for you as long as you have the OAuth2/OpenIdConnect module enabled in PingFederate.
Here is the link if you ever move.
https://www.nuget.org/packages/Owin.Security.Providers.PingFederate