Skip to main content
Cybersource is a Visa solution that provides comprehensive payment processing solutions across multiple payment methods and regions. KCP (Korea Cyber Payment) is a popular online payment method in South Korea that allows customers to pay using various Korean payment options including credit cards, bank transfers, and mobile payments. It is widely used for e-commerce transactions in Korea.

Setup

Please follow the common Cybersource instructions to get set up with CyberSource. After setting up your Cybersource account, make sure KCP is enabled as a payment method on your account.

Features

Cybersource KCP payments support the following features:
  • Refunds - Refund transactions in full or in part
  • Transaction synchronization - Keep payment statuses synchronized with CyberSource

Supported countries

Cybersource supports transactions from buyers in KR.

Supported currencies

Cybersource supports processing payments in KRW.

Limitations

The following features are not supported by this connector:
  • Delayed capture - Authorization and capture must happen together
  • Partial capture - Cannot capture a portion of the authorized amount
  • Void - Cannot cancel transactions once initiated
  • Payment method tokenization - Cannot store payment methods for recurring transactions
  • Zero auth - Zero-dollar verification transactions are not supported
  • Settlement reporting - Settlement reporting is not available
  • Webhooks - CyberSource does not support webhooks for KCP transactions (status checks via API polling)

Integration

For KCP, the default integration for CyberSource is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields.
var transaction = await client.Transactions.CreateAsync(
  transactionCreate: new TransactionCreate()
  {
    Amount = 1299,
    Currency = "KRW",
    Country = "KR",
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "kcp",
          RedirectUrl = "https://example.com/callback",
        }
      ),
  }
);
After the transaction is created, the API response includes payment_method.approval_url and the buyer_approval_pending status.
{
  "type": "transaction",
  "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625",
  "payment_method": {
    "type": "payment-method",
    "approval_url": "https://cdn.sandbox.spider.gr4vy.app/connectors/cybersource/apm.html?token=..."
  },
  "method": "kcp"
}
Redirect the buyer to the approval_url so they can complete authentication and approve the payment. After approval the buyer is redirected to the redirect_url you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example capture_succeeded or failure states).

Pending transactions

Cybersource does not support webhooks for KCP transactions yet. This means that any payment in a pending status requires a query to the Cybersource API to get the latest status. The system automatically polls for status updates.

Canceled transactions

The KCP sandbox allows for canceling a transaction, but on return to the server the status of the transaction is checked with Cybersource. It has been noticed that sometimes the server returns a completed status for canceled transactions, resulting in a captured status. This is likely only an issue in sandbox, and this issue has been raised with KCP and Cybersource.

Testing

Cybersource has instructions on how to test KCP.