# Accept a payment using PAYCO in South Korea

# Checkout


Integrating with [PAYCO](https://www.payco.com/) enables South Korea-based customers to pay using this popular local payment method.

When a customer makes a payment, we redirect them to our local processor partner to authenticate and authorize the payment. After the customer authorizes the payment, we redirect them back to your site.

## Determine compatibility

**Supported business locations**: AT, BE, CY, DE, DK, EE, ES, FI, FR, GB, GR, HK, HR, HU, IE, IT, JP, LT, LU, LV, MT, NL, PT, SE, SG, SI, SK, US

**Supported currencies**: `krw`

**Presentment currencies**: `krw`

**Payment mode**: Yes

**Setup mode**: No

**Subscription mode**: No

[A Checkout Session](https://docs.stripe.com/payments/checkout/how-checkout-works.md) must satisfy all of the following conditions to support South Korean payment methods:

- *Prices* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions) for all line items must be expressed in Korean won (currency code `krw`).
- The minimum amount accepted is 100 KRW. There is no maximum limit for card passthrough transactions, while the maximum amount that a customer can top up to their Payco account as stored value is 2,000,000 KRW.

## Accept a PAYCO payment

Enable PAYCO by making the following updates to your integration.

When creating a [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md), you must do the following:

- [Enable PAYCO](https://dashboard.stripe.com/settings/payment_methods) in your Dashboard. Stripe automatically displays PAYCO to eligible customers using [dynamic payment methods](https://docs.stripe.com/payments/payment-methods/dynamic-payment-methods.md). If you currently specify `payment_method_types`, see the [migration guide](https://docs.stripe.com/payments/dashboard-payment-methods.md).
- Make sure all `line_items` use the `krw` currency.

#### Stripe-hosted page

```curl
curl https://api.stripe.com/v1/checkout/sessions \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "line_items[0][price_data][currency]=krw" \
  -d "line_items[0][price_data][product_data][name]=T-shirt" \
  -d "line_items[0][price_data][unit_amount]=2000" \
  -d "line_items[0][quantity]=1" \
  -d mode=payment \
  --data-urlencode "success_url=https://example.com/success"
```

#### Full embedded page

```curl
curl https://api.stripe.com/v1/checkout/sessions \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "line_items[0][price_data][currency]=krw" \
  -d "line_items[0][price_data][product_data][name]=T-shirt" \
  -d "line_items[0][price_data][unit_amount]=2000" \
  -d "line_items[0][quantity]=1" \
  -d mode=payment \
  --data-urlencode "return_url=https://example.com/return" \
  -d ui_mode=embedded_page
```

## Test your integration with PAYCO

While testing your Checkout integration, select **PAYCO** and click **Pay**. This redirects you to a Stripe-hosted page where you have the choice to authorize or fail the payment. If you authorize the payment, the PaymentIntent switches from `requires_action` to `succeeded`. Failing the test payment makes the PaymentIntent switch from `requires_action` to `requires_payment_method`. Learn more about how to [test](https://docs.stripe.com/testing.md#redirects) redirect-based payment methods.

