POST /v1/sessions) and gets back a session_token and an
iframe_url. From there you choose how the cardholder enters their card — and you pick by setting
one field, integration_type, on the session.
Embedded
Prava’s card UI runs inside your app via the SDK. You control the surrounding
page and get the result in-app.
Hosted (default)
You redirect the cardholder to a Prava-hosted page. No SDK, minimal code — Prava returns them to
your
callback_url when done.Either way, the card is entered on Prava’s secure surface and tokenized — your app never touches
the raw card number. There is no mode where you collect the PAN yourself.
At a glance
Both modes use the same session and the same
iframe_url — embed it, or open it directly.
Embedded mode
Create the session withintegration_type: "embedding", then mount the card UI with the SDK.
onSuccess without leaving your page. See
Collect Card Details for every option and callback, and remember to call
prava.destroy() on cleanup.
Hosted mode (default)
Leaveintegration_type off (it defaults to "full_checkout") and give Prava a callback_url. Then
send the cardholder to the returned iframe_url — no SDK needed.
callback_url. Your backend then reads
the outcome with Get Payment Result and reports the final status
with Report Status.
Which should I use?
Choose Embedded
You want the card step to feel native, keep the user on your page, and react to the result in-app.
Choose Hosted
You want to ship fast with minimal frontend code and are happy to redirect out and back.
Next steps
SDK Overview
The library behind embedded mode.
Create Session
integration_type, callback_url, and the full request/response.