Skip to content

KakaoPay Beta

Last updated: 3rd August 2022

Start accepting payments using one of the top e-wallets in South Korea. KakaoPay provides a mobile payment service, allowing its customers to make one-time purchases or sign up for a recurring payment.

KakaoPay is a part of Ant Financial's e-wallet network, which enables it to be used in countries (covered by Ant’s partners) outside of the local market.

To start accepting KakaoPay payments, contact your Customer Success Manager.

Model

Collecting

Payment flow

Redirect

Payment method type

Wallet

One-step payment

Authorization

Capture

Refund

Partial refund

Chargeback

Recurring payment

Supported countries and currencies

Supported countries

  • Australia
  • EU countries
  • Hong Kong
  • Singapore
  • United Kingdom

Supported processing and settlement currencies

  • AUD
  • EUR
  • HKD
  • SGD
  • GBP

KakaoPay has a 2-step process:


Request a payment

For the full API specification, see the API reference.

    post

    https://api.checkout.com/payments

    Request example

    If a customer ID or email is not provided in the request, we automatically create a customer profile and return the customer ID in the response.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    {
    "amount": 1100,
    "currency": "HKD",
    "source": {
    "type": "kakaopay"
    },
    "processing": {
    "terminal_type": "APP",
    "os_type": "IOS"
    },
    "success_url": "https://google.com/success",
    "failure_url": "https://google.com/failure",
    "payment_type": "Regular",
    "reference": "ORD-5023-4E89",
    "capture": "true",
    "customer": {
    "email": "test@test.com"
    },
    "shipping": {
    "address": {
    "country": "GB"
    }
    },
    "items": [{
    "reference": "1st item reference",
    "name": "1st item name",
    "unit_price": 10
    }],
    "processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"
    }

    Response example

    If you receive a 202 Success response with a payment id and a status field set to Pending, your request was successful.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    {
    "id": "pay_sxzrgliy2w3e5gpnby3chlswwq",
    "status": "Pending",
    "reference": "ORD-5023-4E89",
    "customer": {
    "id": "cus_2g4ehcpm6phexgkzahlwxvbgne",
    "email": "test@test.com",
    "name": "Louis Smith"
    },
    "_links": {
    "self": {
    "href": "https://gwc.ckotech.co/gateway/payments/pay_sxzrgliy2w3e5gpnby3chlswwq"
    },
    "redirect": {
    "href": "https://psp.ac.alipay.com/page/simulation-wallet/acwallet/alipayconnectcode.html?code=281666040095AHvh5AIKT0a3kv8X6Zzv3kiv&pspName=KAKAOPAY&loadMode=2"
    }
    }
    }

    Redirect the customer

    Redirect your customer to the redirect link’s href in the response. This will allow the customer to authorize the payment, before they are transferred to your predefined success or failure URL.


    Request a recurring payment

    To request a recurring payment, your payment request should have payment_type set to recurring.

    To get a detailed view of all required and optional fields, see our API reference.

      post

      https://api.checkout.com/payments

      Initial request example

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      {
      "amount": 1100,
      "currency": "EUR",
      "source": {
      "type": "kakaopay"
      },
      "processing": {
      "terminal_type": "WEB"
      },
      "success_url": "https://google.com/success",
      "failure_url": "https://google.com/failure",
      "payment_type": "Recurring",
      "reference": "ORD-5023-4E89",
      "capture": "true",
      "customer": {
      "email": "test@test.com",
      "name": "Louis Smith"
      },
      "shipping": {
      "address": {
      "country": "GB"
      }
      },
      "items": [{
      "reference": "1st item reference",
      "name": "1st item name",
      "unit_price": 10
      }],
      "processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"
      }

      Initial response example

      If you receive a 202 Success response with a payment id and a status field set to Pending, your request was successful.

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      {
      "id": "pay_4z3h7526xn6evko3vnybrmnu4e",
      "status": "Pending",
      "reference": "ORD-5023-4E89",
      "customer": {
      "id": "cus_2g4ehcpm6phexgkzahlwxvbgne",
      "email": "test@test.com",
      "name": "Louis Smith"
      },
      "source": {
      "id": "src_gnyde6bvifsukobwjb2vkwkbni",
      "type": "kakaopay"
      },
      "_links": {
      "self": {
      "href": "https://gwc.ckotech.co/gateway/payments/pay_4z3h7526xn6evko3vnybrmnu4e"
      },
      "redirect": {
      "href": "https://g.alipayplus.com/page/aplus-linker/acwallet/qrcode.html?url=alipayconne"
      }
      }
      }

      Subsequent request example

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      {
      "amount": 44,
      "currency": "EUR",
      "source": {
      "type": "id",
      "id": "src_inmwstthmjyfcskeir3gcqtyj4"
      },
      "payment_type": "Recurring",
      "reference": "ORD-5023-4E89-1234",
      "customer": {
      "name": "Louis Smith",
      "email": "test@test.com"
      },
      "shipping": {
      "address": {
      "country": "GB"
      }
      },
      "items": [{
      "reference": "1st item reference",
      "name": "1st item name",
      "unit_price": 43,
      "quantity": 1
      }],
      "processing_channel_id": "pc_ekaubqrravqupfxde7kxvd2t3i"
      }

      Subsequent response example

      If you receive a 202 Success response with a payment id and a status field set to Pending, your request was successful.

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      {
      "id": "pay_xljv6f7ye4lebinkv7i7pho634",
      "status": "Pending",
      "reference": "ORD-5023-4E89-1234",
      "customer": {
      "id": "cus_mzrvode5g2jubm4bgbaad2usbu",
      "email": "test@test.com",
      "name": "Louis Smith"
      },
      "source": {
      "id": "src_inmwstthmjyfcskeir3gcqtyj4",
      "type": "kakaopay"
      },
      "_links": {
      "self": {
      "href": "https://gwc.ckotech.co/gateway/payments/pay_xljv6f7ye4lebinkv7i7pho634"
      }
      }
      }

      Refund a payment

      KakaoPay supports both partial and full refunds. You can refund a payment through the Dashboard or using the refund API.


      Webhooks

      You may receive the following webhooks when using KakaoPay.

      WebhookDescription

      payment_pending

      Sent when a merchant initiates the payment request.

      payment_capture_pending

      Sent when a payment request has been successfully initiated and payment is pending for capture.

      payment_captured

      Sent when the payment has been successfully captured.

      payment_declined

      Sent when a payment request has been rejected.

      payment_expired

      Sent when a payment request has expired.

      payment_refund_pending

      Sent when the refund of the payment has been (fully or partially) accepted.

      payment_refunded

      Sent when the payment has been (fully or partially) refunded.

      payment_refund_declined

      Sent when a refund has been declined.

      View all of our webhook notifications.


      Testing KakaoPay

      Before you begin testing, you'll need to contact your Customer Success Manager or Implementation Engineer to:

      • Activate KakaoPay payments in the sandbox environment.
      • Get credentials to access the Alipay+ Linker app.

      To start testing once you've completed merchant onboarding to KakaoPay:

      1. Sign in to the sandbox environment using the username and password provided by your Customer Success Manager.
      2. Create a KakaoPay sandbox transaction by following the Request a payment instructions.
      3. Use the testing credentials to know what to do next depending on the device you are using.

      Testing credentials

      When requesting a KakaoPay payment, there are specific steps to follow depending on the device being used and the processing.terminal_type specified in the payment request.

      Deviceprocessing.terminal_typeAfter selecting redirect link

      Computer

      APP

      Select Pay Now

      Application

      APP

      Select Pay Now

      Computer

      WEB

      For this method, make sure you have set up KakaoPay as an e-wallet under Common Settings in the Alipay+ Linker app. To choose the correct e-wallet, select TEST_WALLET.

      1. Sign in to Alipay+ Linker app with the credentials provided by your Customer Success Manager.
      2. Select KAKAOPAY as an e-wallet under Common Settings.
      3. Select Scan.
      4. Scan the QR code from your computer screen.
      5. Select Pay Now.

      Application

      WEB

      1. Open the URL with the Alipay+ Linker app. You will be redirected to a payment confirmation page.
      2. Select Pay Now.