Skip to main content

Payment Page Integration

Use this flow when integrating Blikk Payment Page into your website, app, or backend-driven checkout. The payment page is a hosted solution that handles the entire payment flow, including redirecting the user to their bank for Strong Customer Authentication (SCA) and returning them to your site after the payment is complete.

It is hosted in our production environment at https://payment.blikk.tech/ and is available for both mobile and desktop browsers. The payment page is designed to be opened in a new browser tab or window.

On mobile devices it displays a button for opening the banking app directly, while on desktop it displays a QR code that can be scanned with a mobile device to open the banking app directly.

After creating a payment, do not redirect immediately when scaRedirectUrl first appears. Keep polling the payment and update UI messages based on the current status.

  1. Create payment.
  2. Start polling payment status (GET /ecom/v3/payments/:id).
  3. Render status-specific UI while polling.
  4. Redirect/open link only when the status and scaRedirectUrl rules below are met.
  5. Continue polling until terminal status.

Status-Driven Behavior​

StatusscaRedirectUrlWhat to show/do
DRAFTPresent and points to https://light.blikk.tech/...Onboarding is required. Redirect user to this URL so onboarding can be completed.
SCA_REQUIREDPresentMobile app/browser: show button or link labeled Open Banking App that opens scaRedirectUrl. Desktop app/browser: show QR code containing scaRedirectUrl.
SCA_REQUIREDMissing/emptyShow message instructing user to check their phone for a banking app notification.
PENDING, SCA_COMPLETEAnyShow waiting/progress message and keep polling.
SUCCESS, CANCELLED, REJECTED, ERRORAnyTerminal state. Stop polling and render final result.

Important Rules​

  • Do not treat non-empty scaRedirectUrl alone as a redirect trigger.
  • Use both status and scaRedirectUrl to decide the next step.
  • For desktop QR flow, encode the raw scaRedirectUrl value directly in the QR code.
  • Keep backend/server-side status checks authoritative before finalizing order state.

Example SCA User Messages​

ScenarioEnglishIcelandic
SCA_REQUIRED with URL (mobile)Open your banking app to approve payment.Opnaðu bankaappið þitt til að staðfesta greiðslu.
SCA_REQUIRED with URL (desktop)Scan this QR code with your phone.Skannaðu þennan QR-kóða með símanum þínum.
SCA_REQUIRED without URLPlease check your phone for a banking app notification.Athugaðu hvort tilkynning frá bankanum þínum hafi borist í símann þinn.

Displaying Payment Status (User-Facing Translations)​

StatusEnglishIcelandic
DRAFTPayment pending...Greiðsla í vinnslu...
PENDINGWaiting for authorization…Beðið eftir heimild…
SCA_REQUIREDWaiting for authorization…Beðið eftir heimild…
SCA_COMPLETEWaiting for confirmation...Beðið eftir heimild…
SUCCESSPayment successfulGreiðsla tókst
ERRORPayment failedVilla við greiðslu
REJECTEDPayment rejectedGreiðslu hafnað
CANCELLEDPayment cancelledHætt var við greiðslu

Group non-terminal waiting statuses with same message to reduce flicker.

Payment Status Lifecycle​

StatusDescriptionKeep Polling
DRAFTCreated; not yet initiated by debtor✅
PENDINGInitiated; awaiting bank processing✅
SCA_REQUIREDBank indicates SCA is required✅
SCA_COMPLETEUser has completed SCA; settlement pending✅
ERRORIrrecoverable error; payment invalid❌
CANCELLEDCancelled by user or merchant❌
REJECTEDRejected by user or bank❌
SUCCESSCompleted; funds transferred❌