KG INICIS
KG INICIS payment window integration guide
1. Configure KG INICIS settings
Refer to the KG INICIS 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 .
Javascript SDKIMP.request_pay( { pg: "html5_inicis", pay_method: "card", merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 name: "Order name: Test payment request", amount: 14000, buyer_email: "iamport@siot.do", buyer_name: "John Doe", buyer_tel: "010-1234-5678", buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", buyer_postcode: "123-456", m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile }, 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
html5_inicis
.
pay_method
* string
Payment method code
Payment method codes
Payment method codes
card
(credit card)trans
(instant account transfer)vbank
(virtual account)phone
(mobile micropayment)samsung
(Samsung Pay hub-type)kakaopay
(Kakao Pay)payco
( PAYCO hub-type)tosspay
(Toss Simple Pay hub-type)ssgpay
(SSG Pay hub-type)chai
(CHAI Pay)lpay
(LPAY hub-type)naverpay
(Naver Pay)cultureland
(Cultureland)smartculture
(Smart Culture)happymoney
(Happy Money)
merchant_uid
* string
Order ID
Must be unique for each request.
amount
* integer
Payment amount
Must be an integer (not string)
buyer_tel
*
string
Customer phone number
RequiredKG INICIS payment window
You can request for a billing key through the KG INICIS payment window.
- To open non-authenticated payment window, specify the customer_uid parameter.
- After getting a billing key from the window, you can request payment using the billing key.
amount
parameter is for display purpose only. Actual payment approval is not processed.
Javascript SDKIMP.request_pay( { pg: "html5_inicis", pay_method: "card", // only 'card' supported. merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 name: "Initial billing key request", amount: 0, // For display purpose only (no payment approval). customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) buyer_email: "johndoe@gmail.com", buyer_name: "John Doe", buyer_tel: "02-1234-1234", m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) }, 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
html5_inicis
.
If you have multiple merchant IDs (each for general and subscription) issued by KG INCIS, set to
html5_inicis.{Merchant ID}
orinicis.{Merchant ID}
(for ActiveX).
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
Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the REST API with the customer_uid.)
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-sidecurl -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
You can use iโmport REST API to request billing key, request payment, and schedule payment.
Request one-time payment
To request a one-time payment, use the key-in REST API POST /subscribe/payments/onetime. The card information is not saved during this process.
curl -H "Content-Type: application/json" \
-X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \
https://api.iamport.kr/subscribe/payments/onetime
Request billing key
To request a billing key, use the billing key request REST API POST /subscribe/customers/{customer_uid}.
curl -H "Content-Type: application/json" \
-X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \
https://api.iamport.kr/subscribe/customers/your-customer-unique-id
Request billing key + initial payment
To request a billing key and initial payment, use the key-in REST API POST /subscribe/payments/onetime.
customer_uid
: required for saving the billing key.
curl -H "Content-Type: application/json" \
-X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \
https://api.iamport.kr/subscribe/payments/onetime
Request payment with billing key
After successfully getting the billing key and making the initial payment,
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 repeat pay
REST API (POST /subscribe/payments/again) with the customer_uid
as follows:
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
For detailed information, refer to:
3. Additional functions
javascript{ "display": { "card_quota": [6] // Display up to 6 months installment plans } }
Parameters
- card_quota :
[]
: Only immediate pay2,3,4,5,6
: immediate, 2, 3, 4, 5, 6 month installment plans\
Installment plan option is available only for KRW 50,000 or more.
Example of allowing up to 3 months installment plans
javascript{ "card": { "direct": { "code": "367", "quota": 3 } } }
Parameters
- code: Credit card code (string)
- quota: Installment plan. For immediate, set to 0. (integer)
Example of direct call to Hyundai Card module
javascript{ "card": { "detail": [ { "card_code": "*", "enabled": false }, // Disable all credit cards { "card_code": "366", "enabled": true }, // Enable specific credit card ] } }
Parameters
- card_code: Credit card code (string)
- enabled: Option to enable the credit card (boolean)