Connect your own PortOne account and your app takes payments. Sales settle to your bank account on your payment company’s schedule, and DontCode takes no fee on them.
Sign up free at admin.portone.io with your email, then open the confirmation email PortOne sends. You can sign in once you confirm it.
In the PortOne console, click 전자결제 신청 on 홈. Upload your business registration certificate, add your app’s address, then choose a payment company and the ways to pay. Toss Payments covers cards, bank transfer and wallets in one contract; the guides below cover each choice.
Open 결제 연동 → 연동 관리. Your 상점 아이디 (Store ID) is there, starting with store-. Copy it.
Open 결제 연동 → 연동 관리 → 식별코드·API Keys and choose V2 API. Click 새로운 API Secret 발급, give it a name, pick when it expires, and click 생성. Copy it right away: PortOne shows it only once. Only an Owner or Admin of the PortOne account can issue one.
Once your contract is approved, open 결제 연동 → 연동 관리 → 채널 관리. Switch the mode to 실연동, pick your payment company and its payment module, and click 다음. Name the channel, enter the merchant ID and keys from your contract, choose 과세구분, and save. The channel shows in the list with its channel key, starting with channel-key-. Copy it.
In your project, open Payments → Connect. Paste the three values into Store ID, API secret and Payment channel, and click Connect. DontCode checks them with PortOne, and your app takes payments once they pass. The API secret is encrypted when you save it and never shown again; only its last four characters stay visible.
Optional. Without it checkout still works, but a refund you make in PortOne’s own dashboard won’t show in DontCode.
Your webhook URL looks like this:
https://payments.dontcode.cafe/api/webhooks/portone/<project id>You can connect before your contract is approved. In 채널 관리, switch the mode to 테스트 and add a channel; some payment companies offer a shared test ID to pick. Paste its channel key into Payment channel and pay in your app. Test payments show on Payments with a Test tag and never count toward your sales. When your live channel is ready, paste its key over the test one.
Each guide covers one way to get paid, from the contract to the field it fills on Connect. Start with Toss Payments, and add the others when you need them.
One contract covers cards, bank transfer and Toss Pay. Samsung Pay, Apple Pay and PAYCO show in the same window when your contract includes them.
Open the guide →
A direct contract with KakaoPay, so buyers can pay with KakaoPay. Subscriptions take a second channel.
Open the guide →
A direct contract with NaverPay (결제형), so buyers can pay with NaverPay.
Open the guide →
Take cards issued abroad, in US dollars and other currencies, through a contract with Eximbay.
Open the guide →
Buyers pay with their PayPal account. PayPal shows its own button at checkout.
Open the guide →
Issue a new one in PortOne and paste the whole value. A secret also stops working on the expiry date you picked; issue a new one then too, and paste it with Replace on Connect.
The Store ID and the API secret come from different PortOne accounts. Copy both again from the same account.
A channel key starts with channel-key-. Copy it from the channel list in 채널 관리, not the channel’s name or your merchant ID.
PortOne shows it only once and DontCode never shows it back. Issue a new one and paste it.