Create Payment Program Enablement

Create a Payment Program Enablement allows Acquiring Partners the instant activation of discretionary Payment Programs for their Partners, such as Financing 0% APR with no additional manual review process.

Overview

Payment Program Enablement refers to the process by which a Partner enables a discretionary Payment Program that is not enabled by default, such as Financing 0% APR.

Payment Program Enablement includes attributes such as merchant category codes, customer countries, and a Payment Program Enablement Code. This allows support for enabling options only for a specific customer country, merchant category, or promotional campaign.

Payment Program Enablement Code

A Payment Program Enablement Code is an optional, Partner-defined string used to restrict the availability of a Payment Program to purchases where the same code is explicitly provided during purchase creation.

This mechanism is typically used for campaigns, promotions, or eligibility conditions that cannot be represented by standard enablement criteria such as customer country or merchant category code.

Restricted Payment Programs

Most Payment Programs are enabled by default and Partners receive these automatically or can enable them via the Payment Programs API.

However, there is a subset of Restricted Payment Programs that require additional approval. For example, Financing in the UK, which requires Klarna or the Acquiring Partner to manually verify the Partner’s Financial Conduct Authority (FCA) licence.

To enable these Restricted Payment Programs, a request must be raised through your Klarna Business Developer or Partner Support.

Prerequisites

Step-by-step

Step 1: Create a Payment Program Enablement

To enable an optional or discretionary Payment Program, Acquiring Partners must create a Payment Program Enablement on behalf of their Partners by using the createPaymentProgramEnablementKlarna Icon request.

For this request, the payment_program_id must be provided and can be retrieved from the listPaymentProgramsForPaymentProgramPlanKlarna Icon endpoint.

Enabling a Payment Program via API is instant and requires no manual review process.

For example, to enable Financing 0% APR with a 12-month duration for customers based in Sweden and a Payment Program Enablement Code of promo-campaign-1, you would implement the following request.

Learnings:

When a Payment Program Enablement is created with a payment_program_enablement_code, the same code must be provided when creating the purchase.

If the code is missing or does not match, the Payment Program will not be available to the customer during the purchase.

This is typically used to target customers based on eligibility conditions that cannot be represented by more generic enablement criteria (for example, customers purchasing specific products defined by the Partner).

Sample request

JSON
  "payment_program_id": "krn:network:global:all:payment:payment-program:e7eb676e-cc4b-4e7a-902a-35a1186b8024",
  "enablement_criteria": {
    "customer_countries": [
      "SE"
    ],
    "merchant_category_codes": [
      "0742"
    ],
    "payment_program_enablement_code": "promo-campaign-1"
  }
} 

Sample response

JSON
  "payment_program_id": "krn:network:global:all:payment:payment-program:e7eb676e-cc4b-4e7a-902a-35a1186b8024",
  "payment_program_enablement_id": "krn:network:global:test:payment:payment-program-enablement:53e38cdd-0711-4c65-9152-121758bb4657",
  "enablement_criteria": {
    "customer_countries": [
      "SE"
    ],
    "merchant_category_codes": [
      "0742"
    ],
    "payment_program_enablement_code": "promo-campaign-1"
  }
} 

Restricted Payment Programs, such as Financing in the UK, can only be enabled by Klarna. To raise a request, please contact your Klarna Business Developer or Partner Support 🇬🇧 .

Step 2: Delete a Payment Program Enablement (Update coming soon)

To disable an optional Payment Program, Acquiring Partners can delete the previously created Payment Program Enablement by using the deletePaymentProgramEnablementKlarna Icon endpoint.

Deleting a Payment Program Enablement via API is instant and requires no manual review process.

Endpoint to "Update a Payment Program Enablement" will be available in a future release. Until then, if you want to update any configurations for an existing Payment Program Enablement, you need to delete it and create a new one with the new configurations you need.

Step 3: List all Payment Program Enablements for your Partner

Using listPaymentProgramEnablementsKlarna Icon endpoint will return a history of all previously created Payment Program Enablements for a specific Partner Account ID.

The response may contain past, current and future Payment Programs Enablements. If you haven't sent a createPaymentProgramEnablementKlarna Icon request before for the specific Partner Account, the response would be empty.

Sample request

GET /v2/accounts/{partner_account_id}/products/payment/payment-programs/payment-program-enablements

Sample response

JSON
  "payment_program_enablements": [
    {
      "payment_program_id": "krn:network:global:all:payment:payment-program:11cb810d-109e-4a5c-bf2d-0f50ccff779c",
      "payment_program_enablement_id": "krn:network:global:test:payment:payment-program-enablement:d6a6f5fb-657a-4a4f-bc1e-9ba6f027e14d",
      "enablement_criteria": {
        "customer_countries": [
          "DE"
        ],
        "merchant_category_codes": [
          "0742"
        ],
        "payment_program_enablement_code": "promo-campaign-1"

Testing

Use your test environment to validate create Payment Program Enablement flow:

  • Send a create Payment Program Enablement request with valid data and confirm a 2xx response.
  • Verify that the newly created Payment Program Enablement Id is available on List all Payment Programs Enablements.
  • After **15 minutes** (the time it takes for internal Klarna caches to refresh), verify that the enabled Payment Program is available for the Partner Account on their checkout.

Troubleshooting

Common HTTP responses

  • 400 Bad Request: Required field missing, type mismatch or general invalid field.
    • Action: Fix the payload and retry with the same Klarna-Idempotency-Key.
  • 5xx Server Error: Internal Server Error
    • Action: Retry with exponential backoff and the same Klarna-Idempotency-Key.