portone-payment-integration

portone-payment-integration is a skill for Claude Code, Codex from humanerd-drew/opencode-drewgent. It costs 69 tokens per session (1,693 once invoked), scanned A, original, MIT.

A payment integration guide for PortOne, a Korean payment gateway service that connects web apps to providers such as KG Inicis, Kakao Pay, and Toss Payments. It covers browser-side payment requests and server-side verification.

In plain words
What is it for?
Adding Korean payment providers to a Cloudflare Workers application, verifying payments, storing purchases in D1, and tracking purchases for individual records.
Why use it?
Payment success reported by a browser should be checked by the server before an order is recorded. The guide describes that verification and purchase-tracking flow.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Adding Korean payment providers to a Cloudflare Workers application, verifying payments, storing purchases in D1, and tracking purchases for individual records.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/humanerd-drew/opencode-drewgent/portone-payment-integration
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add humanerd-drew/opencode-drewgent --skill portone-payment-integration
Clone the repo
git clone --depth 1 https://github.com/humanerd-drew/opencode-drewgent

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for portone-payment-integration

README.md
[![agentmods](https://agentmods.dev/badge/skills/humanerd-drew/opencode-drewgent/portone-payment-integration.svg)](https://agentmods.dev/skills/humanerd-drew/opencode-drewgent/portone-payment-integration)
Your own site
<a href="https://agentmods.dev/skills/humanerd-drew/opencode-drewgent/portone-payment-integration"><img src="https://agentmods.dev/badge/skills/humanerd-drew/opencode-drewgent/portone-payment-integration.svg" alt="Measured on agentmods" height="20"></a>
Per session 69 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,693 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00069 $0.01693
Opus 5 $0.00034 $0.00847
Sonnet 5 $0.00014 $0.00339
Haiku 4.5 $0.00007 $0.00169

Measured 4d ago against content hash 72ce3ecfafdd, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

portone-payment-integration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/software-development/portone-payment-integration/SKILL.md · 196 lines

How it starts

The opening of the file, as written. The whole thing — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PortOne V2 Payment Integration (Korean PG)

Overview

PortOne (포트원, formerly 아임포트/I'mport) is a Korean payment gateway aggregator. This skill covers integration with a Cloudflare Workers backend and vanilla JS SPA frontend, using the PortOne V2 SDK (@portone/browser-sdk).

When to Use

  • Adding Korean PG payment (KG이니시스, 카카오페이, 토스페이먼츠, etc.) to a web app
  • Need per-entity/per-record purchase tracking (not per-account)
  • Integrating with Cloudflare Workers + D1 database
  • Setting up payment verification backend

Core Architecture

Data Flow

User → SPA (PaymentView) → PortOne SDK → PG 결제창
                                          ↓ 성공
                                    SPA → POST /api/payment/verify
                                          ↓
                                    CF Worker → PortOne API 검증
                                          ↓
                                    D1 purchases 테이블 저장
                                          ↓
                                    SPA localStorage 캐시 (fallback)

Required Configuration

const PORTONE_CONFIG = {
  storeId: 'store-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',  // PortOne admin console
  channelKeys: {
    naverpay: 'channel-key-...',   // KG이니시스 (네이버페이)
    kakaopay: 'channel-key-...',   // 카카오페이
    card: 'channel-key-...',       // 한국결제네트웍스
  },
};

Frontend Integration

SDK Loading

<script src="https://cdn.portone.io/v2/browser-sdk.js"></script>
<script type="module" src="js/app.js"></script>

The SDK exposes window.PortOne.requestPayment().

Payment Request

const response = await window.PortOne.requestPayment({
  storeId: PORTONE_CONFIG.storeId,
  channelKey: PORTONE_CONFIG.channelKeys[selectedMethod],
  paymentId: `ORDER-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
  orderName: config.title,
  totalAmount: config.amount,      // integer (KRW = 1x)
  currency: 'KRW',
  customer: {
    email: user?.email || '',
    fullName: user?.name || '',
    phoneNumber: payerPhone || undefined,
  },
  redirectUrl: window.location.href,
  payMethod: 'EASY_PAY',           // 'CARD' | 'EASY_PAY' | 'TRANSFER' | etc.
  easyPay: { easyPayProvider: 'NAVERPAY' },
});

Read the full file on GitHub · 196 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 196 lines · 69 tokens per session scan A 72ce3ecfafdd

Subscribe to this mod's changes

portone-payment-integration is a skill published in the GitHub repository humanerd-drew/opencode-drewgent (2 stars, last pushed 1mo ago), licensed MIT. It adds 69 tokens to every session and 1,693 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

x402

Set up Browser Use Cloud payments with x402 — pay per request from a crypto wallet (USDC on Base mainnet), no signup or API key. Two setups it works out up front — "just use it" (set up a wallet so you or Claude Code can run cloud browser tasks paid from the wallet — Claude writes and runs throwaway scripts, nothing…

browser-use/browser-use · 175 tokens

tushare

A Python interface for Tushare, a financial data service that provides market and company information for stocks, funds, futures, and digital assets. It returns queried data as pandas tables.

HKUDS/Vibe-Trading · 79 tokens

kalshi-api

Kalshi exchange mechanics — RSA-PSS auth, order schema, YES/NO orderbook convention, WebSocket, and endpoint surface. Market-type-agnostic shared layer for all Kalshi skills.

agiprolabs/claude-trading-skills · 44 tokens

tushare-plugin-builder

This skill should be used when the user provides a Tushare API document URL and asks to generate a full plugin in this codebase, including extractor, schema, config, query service, and agent/MCP/http usage with testable curl examples.

Yourdaylight/stock_datasource · 56 tokens

freee-api-skill

A guide for using freee's APIs through an MCP server. freee is a Japanese business platform covering accounting, payroll, invoices, time tracking, sales, tax filing, and related work.

freee/freee-mcp · 332 tokens

lexware-office

Work with Lexware Office contacts, products, invoices, quotations, bookkeeping vouchers, receipts, payment status, and guarded invoice, quotation, or expense writes through the Public API.

HybridAIOne/hybridclaw · 39 tokens