Sofort/Klarna: pay-by-bank
1) Cos'è Sofort/Klarna Pay-by-Bank
Sofort (oggi Klarna Pay Now/Pay-by-Bank) è uno strumento A2A che consente all'acquirente di pagare l'ordine direttamente dal proprio conto bancario tramite la banca/mobile-app. Il flusso è tipicamente costruito su issuer-redirect/App2App con conferma su SCA (PSD2), mentre il Merchant ottiene l'autorizzazione online (success) e poi il credito bancario su report/calcoli del provider.
Proprietà chiave:- Costo basso rispetto alle MDR cartucce.
- Lo stato online (successo/fallimento) è quasi immediato, con l'immissione di fondi non sempre instant (di solito T + 1/T + 2).
- Ampia geografia nell'UE/EEA (in particolare la Germania/Austria), supporto a decine di banche emittenti.
- Minimo informazioni di pagamento da parte dell'acquirente - scelta della banca e conferma.
2) Ruoli e membri
Klarna/Sofort (schema/provider): routing alle banche, states, report, calcoli, rimborsi.
Issuer (banca dei pagatori): SCA, conferma dei prelievi, limiti/antifrode.
Merchant PSP/Acquirer: connessione di merchant, API/SDK, webhooks e recon.
Merchant: avvio del pagamento, elaborazione degli stati/rimborsi, riconciliazione.
3) Flussi di pagamento: Redirect e App2App
3. 1 Classic redirect
1. Checkout Merchant ha scelto «Pay by bank (Sofort/Klarna)».
2. L'elenco delle banche è stato a una banca online (o alla pagina hosted del provider) di SCA.
3. La banca conferma il pagamento del rimborso al merchant (success/failed/canceled/pending).
4. Merchant registra l'ordine come «pagato/in attesa», aspetta il webhook/rapporto di iscrizione.
3. 2 App2App / Mobile
Sui dispositivi mobili, il Merchant apre un'applicazione bancaria di deeplink/intent per confermare il ritorno in linea più alto.
Conversione superiore, attrito inferiore; tenete fallback su reading web.
3. 3 Ricorest-to-Pay/Embedded varianti
Una serie di banche sono disponibili per richiest-to-pay/PIS tramite le interfacce del provider (l'acquirente viene richiesto alla banca-applicazione).
Embedded widget da PSP semplifica l'elenco delle banche, gli errori e gli stati.
4) Limiti e comportamento delle banche
Non c'è un unico soffitto «schema» - esistono limiti issuer-bank e profili di rischio del provider:- Per-trasmissione, per-day/week presso la banca pagatrice.
- Nuovi destinatari/merchant - soglie ridotte, è possibile resistere.
- Canali (mobile/web), regole velocity, geo/segnali device.
- Nei singoli paesi/banche, le eccezioni SCA (RA, TRA) sono possibili - dipendono dalla banca.
5) Stato e iscrizione (authorization vs settement)
Online status: `success`, `pending`, `failed`, `canceled`, `expired`.
Pending è possibile in caso di ritardo nella conferma o nella convalida asincrona.
Settement: il credito effettivo viene da rapporti del provider (solitamente T + 1/T + 2 giorni bancari; dipende dal paese/banca/schema di compensazione).
Per i servizi critici, utilizzare il modello di autorizzazione e condizionale prima di confermare l'iscrizione.
6) Restituzioni, restituzioni parziali e display
Marceback (come nelle mappe) non è disponibile. Il rimborso è una nuova operazione di credito tramite il provider al pagatore.
Supportati da partial refunds.
I tempi di rimborso sono bancari (T + 1/T + 2).
I display/reclami seguono la procedura ODR del provider + tramite la banca pagatrice; preparare i fogli dell'ordine, proof-of-delivery/servizi.
7) Commissioni ed economia
Tipicamente fix/bassa percentuale con transazione + TPM (hosted checkout, report, ODR).
Tenere conto dei costi di supporto (pending/expiries), dei rischi-incidenti e dei costi operativi recon.
8) Accoppiamento e reporting
Conserva il provider «paymentId/transactionId», «orderId», banca-issuer, indicatori temporali, states.
Attivare webhooks per modificare lo stato e auto-recon giornaliero.
Combinare i risultati online (successo/pending) con i rapporti finanziari (iscrizioni/rimborsi/correzioni).
Memorizzare l'output UTR/bancario dal report per ogni transazione.
9) Pratiche UX
Directory of banks: predisporre l'ultima scelta, ordinare in base alla popolarità/banca del dispositivo.
Mobile-first: offre App2App, fallback - Web Redict.
Errori e ripetizione: capiamo le ragioni (limite, guasto SCA, timeout), il pulsante ripetizione e alternative.
Idampotenza: 'orderId' + chiave di idempotenza per ripetizioni sicure.
Ricevuta: importo, data/ora, 'transactionId', banca, canale (App2App/Redirect).
10) Cancellazioni e mandati ricorrenti
Sofort classico - one-off. I modelli ricettivi utilizzano il primo pagamento A2A-mandate/SEPA DD/Open Banking PIS per il futuro.
Gestire i mandati (limite, frequenza, notifiche) e memorizzare i registri di accettazione.
11) Complaens, sicurezza, dati
PSD2/SCA conferma in banca, device bining, antifrode banca.
Riduzioni PII - Memorizzare solo gli attributi necessari. cifrare il PII; Firma HMAC per il Web Hook.
GDPR/Logs: consenso, diritto di eliminazione, controllo delle modifiche.
12) Verticale ad alto rischio (inclusa la iGaming)
La disponibilità di Pay-by-Bank per alcune categorie è limitata al provider/bancario per le politiche interne e il diritto locale.
Aspettate limiti ridotti, più CUS/finmonitoring, possibili hold's.
Tenete i binari alternativi (mappe, SEPA, open banking A2A, voucher) e segmentazione del traffico.
13) Integrazione merchant: opzioni
1. Hosted/Embedded от PSP/Klarna
Avvio rapido: widget di selezione della banca, states, errori, webhooks «dalla scatola».
2. Server-to-Server + redirect/App2App
Più controllo: pagina propria delle banche, elaborazione di errori sottili, QR/Deep Link personalizzati.
3. Fatture/Richiest-to-Pay
Invio di una richiesta di pagamento (email/SMS/link), utile per B2V/servizi.
Componenti di backend obbligatori:- Эндпоинты: `createPayment`, `queryStatus`, `refund`, `webhook`, `reconcile`.
- Idampotenza e tabella dedupe per «orderId».
- Retrai per esposizione a stato, dead-letter per risposte instabili.
- Cataloghi: banche/paesi, limiti/codici di errore, SLA-metriche issuer's '.
14) Architettura «Sofort/Klarna Gateway»
Livello API (REST/GraphQL) per la cassa.
Le code di eventi sono States-Ivent-Billing/CRM/Analista.
Osservabilità: conversione in banca/canale, «pending→success/expired», latitanza, rifiuto SCA.
Sicurezza: vault per i segreti, IP-allowlist provider, anti-replay token, convalida rigorosa redict-URI.
15) Assegno foglio di output
1. Selezionare PSP/canale Klarna/Sofort con la geografia delle banche.
2. Implementare «createPayment» + selezionare una banca + redict/App2App con fallback.
3. Collegare webhooks, idempotenza, timeout e ripetizione dello stato.
4. Configura il recon (daily + full), memorizza le istruzioni UTR/fine.
5. Attivare il partial/full refunds e il codice ODR nello zappino.
6. Preparare script UX di guasti/limiti e metodi alternativi.
7. Testare le banche mobili (iOS/Android) e i principali isuer's nei paesi di destinazione.
8. Tenete traccia dei limiti e della pagina degli stati degli incidenti.
Scheda di riferimento
Статусы: `success`, `pending`, `failed`, `canceled`, `expired`.
Settement: più frequente T + 1/T + 2; pianificate «condizionale» prima del prestito.
Limiti: per-txn/day/week presso issuer'a; Per i nuovi destinatari, di seguito.
Recurrent: via e-mandate/SEPA DD/Open Banking.
Riepilogo
Per la conversione - App2App/Embedded, per la stabilità - webhooks + recon chiari.
Condividi la conferma online e il credito effettivo (T + 1/T + 2) nella logica aziendale.
Non fissare gli importi rigidi: configure dei limiti per banca/paese + aggiornamenti regolari.
Per le sottoscrizioni, utilizzare il primo pagamento A2A come mandato, con controllo UX comprensibile e limiti.