Search
K
⌨️

Kakao Pay

Kakao Pay simple payment integration guide

1. Configure Kakao Pay simple payment PG settings

Refer to the Kakao Pay settings page to configure the PG settings.

2. Request payment

To open the payment window, call JavaScript SDK IMP.request_pay(param, callback).
In PC browsers, callback is invoked after calling IMP.request_pay(param, callback). In mobile browsers, the page is redirected to m_redirect_url.
General payment request
Subscription payment request
Javascript SDK
IMP.request_pay({
pg : 'kakaopay',
pay_method : 'card', // Can be omitted
merchant_uid: '{Merchant created Order ID}', //Example: order_no_0001
name : 'Order name: Test payment',
amount : 14000,
buyer_email : '[email protected]',
buyer_name : 'Customer name',
buyer_tel : '010-1234-5678',
buyer_addr : 'Samseong-dong, Gangnam-gu, Seoul',
buyer_postcode : '123-456',
m_redirect_url : "{URL to redirect to after payment approval}" //Example: http://yourservice.com/payments/complete
}, function(rsp) { // callback logic
//* ...Omitted... *//
});

Key parameter description

pg *** **string
PG code
  • If not specified and this is the only PG setting that exists, default PG is automatically set.
  • If there are multiple PG settings, set to kakaopay.
pay_method string
Payment method code
Can be omitted
(Overwritten by the option(credit card or Kakao money) selected in Kakao Pay app)
merchant_uid *** **string
Order ID
Must be unique for each request.
amount *** **integer
Payment amount
Must be an integer (not string)
Kakao Pay payment window example
To open subscription payment window, specify the customer_uid parameter.
amount
  • If requesting both billing key and initial payment, specify the payment amount.
  • If only requesting for billing key, set to 0.
Javascript SDK
IMP.request_pay({
pg : 'kakaopay',
merchant_uid : '{Merchant created Order ID}', // Example: issue_billingkey_monthly_0001
name : 'Order name: Billing key request test',
amount : 0, // For display purpose only (set actual amount to also request payment approval).
customer_uid : '{Unique ID for the card (billing key)}', // Required (Example: gildong_0001_1234)
buyer_email: "[email protected]",
buyer_name: "John Doe",
buyer_tel : '02-1234-1234',
m_redirect_url : '{Mobile only - URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile
}, function(rsp) {
if ( rsp.success ) {
alert('Success');
} else {
alert('Failed');
}
});

Key parameter description

pg *** **string
PG code
  • If not specified and this is the only PG setting that exists, default PG is automatically set.
  • If there are multiple PG settings, set to kakaopay.
customer_uid *** **string
Credit card billing key
Billing key to be mapped 1:1 with the user-entered credit card information.
amount *** **Integer
Payment amount
0: only billing key, > 0: billing key + initial payment\

Request payment with billing key (customer_uid)

After successfully getting the billing key, the billing key is stored on the i'mport server mapped 1:1 with the specified customer_uid. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the non-authenticated payment request REST API with the customer_uid as follows:
sever-side
curl -H "Content-Type: application/json" \
-X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \
https://api.iamport.kr/subscribe/payments/again
Kakao Pay simple payment is processed in mobile Kakao App.