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 escrow: true, // Settings when escrow payment vbank_due: "YYYYMMDD", bypass: { // When PC acceptmethod: "noeasypay", // Remove the Easypay checkout button from the integrated checkout window(PC) // acceptmethod: "cardpoint", // Settings when using card company points(PC) // When Mobile P_RESERVED: "noeasypay=Y", // Remove the Easypay checkout button from the integrated checkout window(Mobile) // P_RESERVED: "cp_yn=Y", // Settings when using card company points(Mobile) // P_RESERVED: "twotrs_bank=Y&iosapp=Y&app_scheme=your_app_scheme://", / /Go back to the app where the payment was made with account transfer on iOS }, period: { from: "20200101", //YYYYMMDD to: "20201231", //YYYYMMDD }, }, 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
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
RequiredYou 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.
javascript{ "card": { "direct": { "code": "367", "quota": 3 } } }
Parameters
- code: Credit card code (string)
- quota: Installment plan. For immediate, set to 0. (integer)
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)