
韓国国内の複数PG(Toss・KG Inicis・NICE・Kakao Pay・Naver Payなど)を1つのAPIでつなぐPortOne連携ガイドです。 アカウント作成からPG契約、チャンネル登録、V2 API呼び出しまでご案内します。
利用料
無料(PG手数料のみ)
対応PG
15以上
必要書類
事業者登録証・PG契約
Overview
PortOne(旧 Iamport)は複数のPGを1つのAPIで抽象化するサービスです。PortOne自体は無料ですが、各PGとの個別契約が必要です。新規プロジェクトはV2(GraphQL/REST)を推奨し、V1も継続サポートされています。
事業者登録が完了
個人・法人いずれも可。
PGを選択
Toss・KG Inicis・NICEなど。
V2 vs V1の判断
新規はV2推奨。
Webhook受信サーバー
HTTPSエンドポイントが必要。
Step by Step
SIGNUP
admin.portone.ioで登録します。
PG
実決済のためのPG契約。PortOneコンソールから申請できます。
TEST
本契約前にテストで連携を完成させます。
KEYS
新規プロジェクトはV2を使ってください。
CHANNEL
実決済への切り替え時に実チャンネルを登録します。
CLIENT
フロントエンドから決済ウィンドウを呼び出します。
VERIFY
フロントの結果だけを信じず、サーバーで再確認します。
WEBHOOK
決済ステータスの変化を即座に受信します。
Pitfalls
フロントの結果のみ信頼
ブラウザコンソールで結果を改ざんできるので、必ずサーバーからPortOne APIで再照会して金額を検証してください。
API Secretの露出
.env代わりにハードコードしてGitHubへ上げる事故が多発します。露出時は即再発行。
テストとライブのチャンネル混在
テストキーでライブチャンネルを呼ぶと失敗、逆も同じ。環境変数で区別してください。
Webhook署名検証の省略
誰でもWebhookエンドポイントへPOSTできます。署名検証なしに状態を更新すると注文偽造が可能です。
V1文書のみで開発
ネット上の情報は多くがV1基準です。新規プロジェクトはV2文書を優先してください。