Danal
Danal payment window integration guide
1. Configure Danal PG settings
Refer to the Danal settings page to configure the PG settings.
2. Request payment
To open the Danal TPay payment window, call JavaScript SDK IMP.request_pay(param, callback).
In both PC and mobile browsers, callback is invoked after calling IMP.request_pay(param, callback)
.
Javascript SDKIMP.request_pay( { pg: "danal_tpay", 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", }, 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
danal_tpay
.
pay_method
* string
Payment method code
Payment method codes
Payment method codes
card
(credit card)trans
(instant account transfer)vbank
(virtual account)cultureland
(Cultureland)happymoney
(Happy Money)booknlife
(Book n culture gift card)
merchant_uid
* string
Order ID
Must be unique for each request.
buyer_tel
* string
Customer phone number
Danal payment window may throw an error if omitted
amount
* integer
Payment amount
Must be an integer (not string)
Virtual account payment requirement
biz_num
: 10-digit business registration number (required)
To open non-authenticated 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.
(if amount is set to 0, Danal executes a test payment of 10 won which is automatically cancelled after 30 minutes.)
Javascript SDKIMP.request_pay( { pg: "danal_tpay", pay_method: "card", // only 'card' supported. 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: "johndoe@gmail.com", buyer_name: "John Doe", buyer_tel: "02-1234-1234", buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", period: { from: "20200101", //YYYYMMDD to: "20201231", //YYYYMMDD }, }, 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
danal_tpay
.
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
period``
array
Product subscription payment for subscription payment. The date is displayed on the Danal payment window.
from
: YYYYMMDD
to
: YYYYMMDD
\
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
3. Additional functions
javascript{ "display": { "card_quota": [6] // Display up to 6 months installment plans } }
Parameters
- card_quota :
[]
: Only immediate pay3,6
: immediate, 3, 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, "usePoint": "Y" } } }
Parameters
- code: Credit card code (string)
- quota: Installment plan. For immediate, set to 0. (integer)
- usePoint: Option to use points (post applied)
Danal setup required
- Direct module call requires pre-setup by Danal.
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)
Example of showing only Shinhan Card in the payment window