Betalinger med Stripe og SaaS-faktureringssystemer · leksjon

Integrering av Payment Intents API

Lær å bruke Payment Intents API for dynamiske betalingsflyter og sikre robust behandling av transaksjoner i ulike situasjoner.

Leksjon 1 av 411 trinn

Integrering av Payment Intents API er en gratis leksjon i Betalinger med Stripe og SaaS-faktureringssystemer på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Betalinger med Stripe og SaaS-faktureringssystemer, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Betalinger med Stripe og SaaS-faktureringssystemer inneholder totalt 4 leksjoner.

Hvorfor Payment Intents?

Velkommen! I dag skal vi se nærmere på Stripes Payment Intents API. Dette er et kraftig verktøy for å håndtere komplekse betalingsflyter.

Før Payment Intents fungerte enkle belastninger for grunnleggende betalinger. Men hva med betalinger som krever ekstra trinn, for eksempel 3D Secure-autentisering?

Payment Intents løser dette ved å representere Deres hensikt om å kreve inn en betaling, slik at dynamiske prosesser med flere trinn blir mulig.

Payment Intent-objektet

En Payment Intent er et objekt som følger livssyklusen til kundens betalingsforsøk. Det veileder Dem gjennom trinnene som kreves for å fullføre en betaling.

  • Created: Hensikten er klar til å starte.
  • Requires Action: Kunden må autentisere seg (for eksempel med 3D Secure).
  • Succeeded: Betalingen er fullført.
  • Canceled: Betalingsforsøket ble avbrutt.

Dette objektet hjelper Dem med å håndtere alt fra første opprettelse til endelig bekreftelse.

Serversiden: Opprette en Intent

Det første trinnet er alltid å opprette en Payment Intent på serveren Deres. Dette sikrer at sensitive opplysninger som beløp og valuta styres på serversiden.

De angir amount, currency og payment method types som De vil godta (for eksempel «card»). Stripe returnerer deretter et PaymentIntent-objekt som inneholder en client_secret.

Prøv å kjøre dette forenklede eksempelet på serversiden (Java):

import java.util.List;
import java.util.Map;

// This is a simplified example to illustrate server-side intent creation.
// In a real application, this would involve calling Stripe's API.
public class Main {
  public static void main(String[] args) {
    long amount = 1000L; // Example: $10.00 in cents
    String currency = "usd";
    String paymentMethodType = "card";

    System.out.println("--- Server-Side Payment Intent Creation ---");
    System.out.println("Creating Payment Intent for: " + amount + " " + currency);
    System.out.println("Payment method type: " + paymentMethodType);
    System.out.println("\nStripe API call (conceptual, using Java client library):\n");
    System.out.println("  PaymentIntent.create(Map.of(");
    System.out.println("    \"amount\", " + amount + "L,");
    System.out.println("    \"currency\", \"" + currency + "\",");
    System.out.println("    \"payment_method_types\", List.of(\"" + paymentMethodType + "\")");
    System.out.println("  ));");
    System.out.println("\nStripe would return an object including:\n");
    System.out.println("  \"id\": \"pi_mockPaymentIntent123\",");
    System.out.println("  \"client_secret\": \"pi_mockPaymentIntent123_secret_mockSecretString\"");
    System.out.println("\nThe client_secret is then sent securely to the client-side.");
  }
}

Klientsiden: Bekrefte betalingen

Når serveren Deres sender client_secret til frontend-løsningen, bruker De Stripe.js til å bekrefte Payment Intent. Det er her kunden samhandler med betalingsskjemaet.

Stripe.js håndterer automatisk innsamlingen av betalingsopplysninger og eventuell nødvendig autentisering (for eksempel 3D Secure), og bruker client_secret til å koble seg til intent-en som ble opprettet på serveren.

  • 1. Samle inn opplysninger: Kunden oppgir kortinformasjon.
  • 2. Kall stripe.confirmCardPayment(): Send inn client_secret og kortopplysningene.
  • 3. Håndter resultatet: Stripe returnerer den endelige statusen.

Forstå betalingsstatuser

status-feltet i en Payment Intent er avgjørende for å forstå tilstanden. Her er de vanligste statusene:

  • requires_payment_method: Betalingsopplysninger kreves.
  • requires_confirmation: Klar til å bekreftes.
  • requires_action: Kunden må fullføre en handling (for eksempel 3D Secure).
  • processing: Betalingen behandles.
  • succeeded: Betalingen var vellykket!
  • canceled: Betalingen ble avbrutt.

Programlogikken Deres bør reagere på disse statusene.

Håndtere 3D Secure og SCA

Strong Customer Authentication (SCA), som ofte innebærer 3D Secure, er et lovpålagt krav i Europa for mange nettbaserte kortbetalinger. Payment Intents er utformet for å håndtere dette sømløst.

Hvis en betaling krever SCA, endres statusen til Payment Intent til requires_action. Stripe.js ber deretter automatisk kunden om å fullføre autentiseringstrinnet (for eksempel ved å videresende kunden til bankens side).

Bekreftelseskallet på klientsiden fullføres når autentiseringen er ferdig.

Sikre client_secret

client_secret er en unik nøkkel som knytter en handling på klientsiden til en bestemt Payment Intent på serveren Deres. Det er trygt å eksponere den på klientsiden, men bare i en begrenset periode.

  • Generer på serveren: Opprett alltid Payment Intent og dens client_secret på backend.
  • Send den sikkert: Send client_secret til frontend-løsningen (for eksempel via et sikkert API-endepunkt).
  • Bruk den raskt: Bruk den umiddelbart på klientsiden for å bekrefte betalingen.

Generer eller lagre aldri client_secret direkte på klientsiden.

Hente og oppdatere Intents

De kan når som helst hente en Payment Intent ved hjelp av ID-en fra kode på serversiden. Dette er nyttig for å kontrollere gjeldende status eller detaljer.

De kan også oppdatere en Payment Intent (for eksempel endre amount eller currency) så lenge den ikke er bekreftet ennå. Dette gir fleksibilitet for dynamisk prissetting eller endringer i bestillingen før den endelige betalingen.

En Payment Intent kan imidlertid ikke endres etter at den er bekreftet.

Knytte til betalingsmetoder

Når en Payment Intent lykkes, kan Stripe valgfritt lagre kundens betalingsmetode for fremtidig bruk. Dette gjøres ved å knytte betalingsmetoden til et Customer-objekt.

Dette er nyttig for gjentakende betalinger eller betalinger med ett klikk. De kan angi parameteren setup_future_usage når De oppretter Payment Intent, eller uttrykkelig opprette en Setup Intent (et tema for en annen leksjon!).

Sørg alltid for at De har kundens samtykke til å lagre betalingsopplysninger.

Rask kontroll: Payment Intents

De har lært om Payment Intents API. La oss teste forståelsen Deres!

Oppsummering: Mestre Payment Intents

Godt jobbet! De har lært det grunnleggende om Stripe's Payment Intents API.

  • Payment Intents håndterer betalingsforløp, særlig for betalinger i flere trinn eller med autentisering.
  • De oppretter dem på serversiden, får en client_secret og bekrefter dem på klientsiden med Stripe.js.
  • Statuser som requires_action hjelper Dem med å håndtere dynamiske forløp som 3D Secure.

Denne API-en er avgjørende for å bygge robuste og regelverkstilpassede betalingsopplevelser. Fortsett å øve!

Gratis å komme i gang

Lær deg Betalinger med Stripe og SaaS-faktureringssystemer med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Integrering av Payment Intents API» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Betalinger med Stripe og SaaS-faktureringssystemer, inkludert «Integrering av Payment Intents API», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Betalinger med Stripe og SaaS-faktureringssystemer inneholder totalt 4 leksjoner.

Hva lærer jeg i «Integrering av Payment Intents API»?

Lær å bruke Payment Intents API for dynamiske betalingsflyter og sikre robust behandling av transaksjoner i ulike situasjoner. Du øver på Betalinger med Stripe og SaaS-faktureringssystemer med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Betalinger med Stripe og SaaS-faktureringssystemer?

Ingen tidligere erfaring er nødvendig. Betalinger med Stripe og SaaS-faktureringssystemer på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Integrering av Payment Intents API»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Betalinger med Stripe og SaaS-faktureringssystemer-leksjonen?

Ja. Alle Betalinger med Stripe og SaaS-faktureringssystemer-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Integrering av Payment Intents API
  2. Håndtering av webhooks for asynkrone hendelser
  3. Effektiv håndtering av refusjoner og tvister
  4. Implementering av idempotens for pålitelige betalings-API-er
← Tilbake til Betalinger med Stripe og SaaS-faktureringssystemer