Recurring Payments - Klarna
Klarna supports recurring payments such as subscriptions. The transaction process is distinct for the first payment (shopper-initiated) and subsequent payments (merchant-initiated).
Klarna recurring currently only supports Verification by completing first payment option. If the first transaction does not involve a payment, recurring payment cannot be scheduled.
First payment
Step 1: Create a Customer
Create a customer
with the Create a Customer API API if the customer is new, otherwise this step is optional.
Step 2: Create a Payment Consent
Use the customer_id
you get from Step 1 or you previously saved to create a Payment Consent with the Create a Payment Consent API API.
POST /api/v1/pa/payment_consents/create
Step 3: Initialize a Payment Intent
Create a Payment Intent with the Create a Payment Intent API API.
POST /api/v1/pa/payment_intents/create
Step 4: Confirm the Payment Intent with the Payment Consent
When a shopper selects to pay with Klarna on your desktop/mobile browser, call the Confirm a Payment Intent API API with the Payment Consent id you received from Step 2 to get a redirect URL.
POST /api/v1/pa/payment_intents/{id}/confirm
You will get a response similar to the following.
You should redirect the shopper to the Klarna page with the next_action.url
returned in the confirm Payment Intent response. Shoppers will be able to continue to complete the payment on that page.
Once the shopper completes the payment, the Payment Consent will be verified automatically, and Airwallex will notify you of the Payment Consent status asynchronously via the webhook. Please refer to the webhook documentation to set up your webhook accordingly.
To query the payment status and capture the Payment Intent, please refer to Klarna one-off payment flow Step 3 and Step 4 .
Subsequent payments
Step 1: Initialize a Payment Intent
When you are ready to charge the subsequent recurring payment, create a Payment Intent with the Create a Payment Intent API API.
Step 2. Complete payment with verified consent
Confirm the subsequent payment with the verified Payment Consent by calling the Confirm a Payment Intent API API.
POST /api/v1/pa/payment_intents/{id}/confirm
To query the payment status and capture the Payment Intent, please refer to Klarna one-off payment flow Step 3 and Step 4 .