Passa al contenuto
Crea account
o
Accedi
Il logo della documentazione Stripe
/
Chiedi all'IA
Crea un account
Accedi
Inizia
Pagamenti
Ricavi
Per piattaforme e marketplace
Gestione del denaro
Strumenti di sviluppo
Panoramica
Informazioni sui pagamenti con Stripe
Eseguire l'upgrade dell'integrazione
Analisi dei dati sui pagamenti
Pagamenti online
PanoramicaTrovare il caso d'uso più adattoManaged Payments
Utilizzare Payment Links
Creare una pagina di pagamento
Creare un'integrazione iniziale
Creare un'integrazione in-app
Metodi di pagamento
Aggiungere modalità di pagamento
    Panoramica
    Opzioni di integrazione delle modalità di pagamento
    Gestire i metodi di pagamento predefiniti nella Dashboard
    Tipi di metodi di pagamento
    Carte
    Pagare con il saldo Stripe
    Criptovaluta
    Addebiti bancari
    Reindirizzamenti bancari
    Trasferimenti bancari
    Bonifici (Sources)
    Acquista ora, paga dopo
      Affirm
      Afterpay / Clearpay
      Alma
      Billie
      Capchase Pay
      Klarna
        Accettare un pagamento
        Rispondere alle contestazioni
      Kriya
      Mondu
      Pagamento su fattura
      Scalapay
      SeQura
      Sunbit
      Zip
    Pagamenti in tempo reale
    Voucher
    Wallet
    Abilitare metodi di pagamento locali per Paese
    Metodi di pagamento personalizzati
Gestire i metodi di pagamento
Pagare più velocemente con Link
Interfacce di pagamento
Payment Links
Checkout
Elements per il Web
Elements in-app
Scenari di pagamento
Flussi di pagamento personalizzati
Acquisizione flessibile
Orchestrazione
Pagamenti di persona
Terminal
Altri prodotti Stripe
Financial Connections
Criptovaluta
Climate
Pagina inizialePagamentiAdd payment methodsBuy now, pay laterKlarna

Accettare un pagamento Klarna

Scopri come accettare un pagamento con Klarna, una modalità di pagamento a rate utilizzata in tutto il mondo.

Copia pagina

Voci riga unificate con Klarna

Per ottimizzare i tassi di approvazione durante l’integrazione con Klarna, includi dati line_items per rappresentare il contenuto del carrello di un acquirente. Per l’accesso anticipato, consulta le voci riga di Payments.

L’accettazione di Klarna nella tua app consiste nella visualizzazione di una vista web con cui il cliente deve autenticare il proprio pagamento. Il cliente torna quindi alla tua app e tu puoi verificare immediatamente se il pagamento ha avuto esito positivo o negativo.

Nota

Prima di avviare l’integrazione, assicurati che il tuo account sia idoneo per Klarna accedendo alle impostazioni delle modalità di pagamento.

Configura Stripe
Lato server
Lato client

Innanzitutto, devi creare un account Stripe. Registrati ora.

Lato server

Per questa integrazione sono necessari endpoint sul server che comunicano con l’API Stripe. Utilizza le nostre librerie ufficiali per accedere all’API Stripe dal tuo server:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Lato client

L’SDK per Android di Stripe è open source e completamente documentato.

Per installare l’SDK, aggiungi stripe-android al blocco dependencies del tuo file app/build.gradle:

build.gradle.kts
Kotlin
plugins { id("com.android.application") } android { ... } dependencies { // ... // Stripe Android SDK implementation("com.stripe:stripe-android:21.17.0") // Include the financial connections SDK to support US bank account as a payment method implementation("com.stripe:financial-connections:21.17.0") }

Nota

Per ulteriori informazioni sulla versione più recente e su quelle precedenti dell’SDK, consulta la pagina Releases su GitHub. Per ricevere una notifica quando viene pubblicata una nuova versione, imposta il controllo delle versioni per il repository.

Configura l’SDK con la tua chiave pubblicabile di Stripe in modo che possa inviare le richieste all’API Stripe, ad esempio nella sottoclasse Application:

Kotlin
import com.stripe.android.PaymentConfiguration class MyApp : Application() { override fun onCreate() { super.onCreate() PaymentConfiguration.init( applicationContext,
"pk_test_TYooMQauvdEDq54NiTphI7jx"
) } }

Nota

Usa le chiavi di test durante i test e le chiavi della modalità live quando pubblichi l’app.

I nostri esempi di codice Stripe utilizzano inoltre OkHttp e GSON per inviare richieste HTTP a un server.

Creare un PaymentIntent
Lato server
Lato client

Un PaymentIntent è un oggetto che rappresenta la tua intenzione di riscuotere un pagamento da un cliente e traccia il ciclo di vita del processo di pagamento in ogni sua fase.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur

Lato client

Nel PaymentIntent restituito è presente una chiave privata client, che il client può utilizzare per completare la procedura di pagamento in modo sicuro anziché specificare tutto l’oggetto PaymentIntent. Sul lato client, richiedi un PaymentIntent dal tuo server e memorizza la chiave privata client.

Kotlin
class KlarnaPaymentActivity: AppCompatActivity() { private lateinit var paymentIntentClientSecret: String override fun onCreate(savedInstanceState: Bundle?) { // ... startCheckout() } private fun startCheckout() { // Request a PaymentIntent from your server and store its client secret } }

Inviare il pagamento a Stripe
Lato client

Recupera la chiave privata client dal PaymentIntent che hai creato nel passaggio 2 e chiama il metodo PaymentLauncher confirm. Verrà visualizzata una vista web dove il cliente potrà completare il pagamento. In seguito, viene chiamato onActivityResult con il risultato del pagamento.

Kotlin
class KlarnaPaymentActivity : AppCompatActivity() { // ... private lateinit var paymentIntentClientSecret: String private val paymentLauncher: PaymentLauncher by lazy { val paymentConfiguration = PaymentConfiguration.getInstance(applicationContext) PaymentLauncher.Companion.create( this, paymentConfiguration.publishableKey, paymentConfiguration.stripeAccountId, ::onPaymentResult ) } private fun startCheckout() { // ... val confirmParams = ConfirmPaymentIntentParams .createWithPaymentMethodCreateParams( paymentMethodCreateParams = paymentMethodCreateParams, clientSecret = paymentIntentClientSecret, shipping = shippingDetails ) paymentLauncher.confirm(confirmParams) } private fun onPaymentResult(paymentResult: PaymentResult) { when (paymentResult) { is PaymentResult.Completed -> { // show success UI } is PaymentResult.Canceled -> { // handle cancel flow } is PaymentResult.Failed -> { // handle failures // (for example, the customer may need to choose a new payment // method) } } } }

Eseguire il test dell'integrazione Klarna

Di seguito abbiamo selezionato dati di test per i Paesi attualmente supportati. In una sandbox, Klarna approva o rifiuta una transazione in base all’indirizzo email fornito.

ApprovatoRifiutato
Data di nascita10-07-197003-05-1994
NomeTestJohn
CognomePerson-ausnow
ViaWharf StSilverwater Rd
Numero civico41-5
Codice postale48772.128
CittàPort DouglasSilverwater
Area geograficaQLDNSW
Telefono+61473752244+61473763254
Emailcustomer@email.aucustomer+denied@email.au

Autenticazione a due fattori

Qualsiasi numero a sei cifre è un codice valido per l’autenticazione a due fattori. Utilizza 999999 per la mancata autenticazione.

Modalità di rimborso

Nel flusso di Klarna in modalità di test, puoi utilizzare i seguenti valori di test per provare i diversi tipi di rimborso:

TipoValore
Addebito direttoDE11520513735120710131
Bonifico bancarioBanca demo
Carta di credito
  • Numero: 4111 1111 1111 1111
  • CVV: 123
  • Scadenza: qualsiasi data valida nel futuro
Carta di debito
  • Numero: 4012 8888 8888 1881
  • CVV: 123
  • Scadenza: qualsiasi data valida nel futuro

FacoltativoSeparare l'autorizzazione dall'addebito

FacoltativoGestire gli eventi successivi al pagamento

FacoltativoPersonalizzare la pagina di pagamento Klarna

FacoltativoAggiungere voci riga al PaymentIntent

Pagamenti non riusciti

Klarna decide se accettare o rifiutare una transazione in base a diversi fattori, ad esempio da quanto tempo l’acquirente utilizza Klarna, l’importo in sospeso che il cliente deve rimborsare o il valore dell’ordine corrente.

Quando il cliente seleziona un metodo di pagamento a rate, Klarna esegue una valutazione del rischio prima di accettare la transazione. A seconda del risultato della valutazione, dell’importo della transazione o del debito residuo del cliente, Klarna potrebbe rifiutare la transazione. Pertanto ti consigliamo di inserire altre opzioni di pagamento nel flusso di completamento della transazione, come ad esempio card. In questi casi, il PaymentMethod viene scollegato e lo stato dell’oggetto PaymentIntent diventa automaticamente a requires_payment_method.

I clienti devono completare il pagamento entro 48 ore dal reindirizzamento al sito Klarna. Se non viene intrapresa alcuna azione dopo 48 ore, l’oggetto PaymentMethod viene scollegato e lo stato dell’oggetto PaymentIntent passa automaticamente da requires_action a requires_payment_method.

In questi casi, invita il cliente a riprovare con una diversa opzione di pagamento presente nel tuo flusso di completamento della transazione.

Limiti di frequenza di Klarna

Le richieste API indirizzate a Klarna sono soggette a limiti di frequenza oltre ai limiti di frequenza a livello dell’API di Stripe. Questi limiti possono variare a seconda della forma delle richieste API effettuate. In generale, se effettui più di 360 richieste al minuto, potresti riscontrare una certa limitazione della velocità sotto forma di risposte con codice di stato HTTP 400 o 402. Contattaci per ulteriori informazioni se temi che il tuo utilizzo possa raggiungere questi livelli, poiché Klarna potrebbe essere in grado di aumentare questi limiti caso per caso.

Messaggi di errore

In genere i pagamenti Klarna non riusciti restituiscono uno dei seguenti codici di errore. Questi codici vengono visualizzati nell’oggetto API last_payment_error.

Attenzione

Prima della versione API 2023-08-16, tutti gli errori di Klarna venivano segnalati come payment_intent_authentication_failure. Verifica che la tua versione dell’API sia aggiornata per visualizzare gli errori dettagliati elencati di seguito.

Codice di erroreSpiegazione
payment_method_customer_declineIl cliente ha annullato il pagamento sulla pagina di Klarna
payment_method_provider_declineKlarna ha rifiutato il pagamento del cliente
payment_intent_payment_attempt_expiredIl cliente non ha mai completato il pagamento sulla pagina di Klarna e la sessione di pagamento è scaduta
payment_method_not_availableSi è verificato un errore imprevisto durante il tentativo di utilizzare Klarna
Questa pagina è stata utile?
SìNo
Hai bisogno di aiuto? Contatta l'assistenza clienti.
Partecipa al nostro programma di accesso anticipato.
Dai un'occhiata al nostro registro delle modifiche.
Domande? Contattaci.
LLM? Leggi llms.txt.
Realizzato da Markdoc