# Payment channels

Each submerchant has its own set of payment channels (BLIK, bank transfers, cards, PayPal, deferred payments, etc.). You manage them through the SimPay Flow API - usually in the settings panel of your application, where the submerchant chooses which payment methods to offer.

All channel operations are available only for submerchants with the `flow_submerchant_active` status.

## Default channels

After onboarding is approved, the submerchant automatically receives active and enabled channels for all payment methods that have an active default rate in your Flow service (see [Commissions](/en/simpay-flow/commissions#default-and-dedicated-rates)). Channels for methods enabled later must be [registered](#registering-a-new-channel).

## Submerchant channel list

[`GET /flow/{flowServiceId}/submerchants/{submerchantId}/payment-channels`](/apis/flow/flowgetsubmerchantpaymentchannels) returns all submerchant channels with:

| Field | Description |
|  --- | --- |
| `id` | Channel ID, e.g. `blik`, `blik-level0`, `paypal` |
| `status` | Channel status: `new`, `in_progress`, `active`, `rejected` |
| `enabled` | Whether the channel is enabled (visible to payers) |
| `type` | `redirect` - payment on the SimPay gateway, `whitelabel` - payment directly on your site |
| `commission` | SimPay commission (`simpay`) and your commission (`flow`) - see [Commissions](/en/simpay-flow/commissions) |
| `extra` | Additional data for selected channels (BLIK OneClick, BLIK Recurring Payments, PayPal) |


A channel is available to payers only when it has the `active` status **and** is enabled (`enabled: true`).

## Enabling and disabling channels

You enable and disable active channels with the [`PATCH /flow/{flowServiceId}/submerchants/{submerchantId}/payment-channels`](/apis/flow/flowupdatesubmerchantpaymentchannels) request:


```bash
curl -X PATCH "https://api.simpay.pl/flow/{flowServiceId}/submerchants/user-123/payment-channels" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "channels": [
      { "slug": "blik", "enabled": true },
      { "slug": "paypal", "enabled": false }
    ]
  }'
```

Channels that don't exist, are not active yet or have no active commission in your Flow service are skipped without an error.

## Registering a new channel

1. Get the list of channels the submerchant can register: [`GET .../payment-channels/available-for-registration`](/apis/flow/flowgetsubmerchantavailablepaymentchannels). The list contains only channels for which your Flow service has an active commission and which the submerchant doesn't have yet.
2. Register the selected channel: [`POST .../payment-channels/register`](/apis/flow/flowregistersubmerchantpaymentchannel) with the channel `id`.



```bash
curl -X POST "https://api.simpay.pl/flow/{flowServiceId}/submerchants/user-123/payment-channels/register" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "id": "paypo" }'
```

After registration:

- a channel that **doesn't require verification** (`needs_verification: false`) immediately gets the `active` status,
- a channel that **requires verification** gets the `new` status and is verified by SimPay (or registered with the payment method operator). We will notify you about the status change with the `flow_submerchant_payment_channel:status_changed` [webhook](/en/simpay-flow/webhooks).


The channel is disabled by default
A newly registered channel has `enabled: false`. Once it's active, enable it with `PATCH .../payment-channels`.

Some channels (`requires_company: true`) are available only for submerchants with a registered business. For an unregistered business, the API returns the `CHANNEL_REQUIRES_COMPANY` error.

## Special channels

### BLIK Level 0 + OneClick

1. Register and activate the `blik-level0` channel.
2. Send `POST .../payment-channels/register` with `"id": "blik-level0-oneclick"`.
3. You'll find the OneClick request status in `extra.blikOneClick` of the `blik-level0` channel: `PENDING_REGISTRATION` → `REGISTERED_WAITING_ACTIVATION` → `ACTIVE` (or `REJECTED`).


OneClick is available only for submerchants with a registered business. More about the service itself: [BLIK Level 0 + OneClick](/payment/blik/level0_oneclick).

### BLIK Recurring Payments

You'll find the active recurring payment models (`A` - AUTO, `O` - OPEN, `M` - MANUAL) in `extra.blikRecurrent.models` of the `blik-recurrent` channel. More: [BLIK Recurring Payments](/payment/blik/recurrent).

### PayPal

For the `paypal` channel, set the submerchant's PayPal account email with the [`PUT .../payment-channels/paypal`](/apis/flow/flowupdatesubmerchantpaypal) request. You'll find the current email in `extra.paypalCheckoutEmail`.