# `Worldpay.CNP`
[🔗](https://github.com/iamkanishka/worldpay/blob/v1.0.0/lib/worldpay/wpg/cnp.ex#L560)

Worldpay **cnpAPI** — US eCommerce XML processing (Vantiv platform).

Submits requests to the cnpAPI online endpoint.

## Configuration

    config :worldpay,
      cnp_merchant_id: "your-merchant-id",
      cnp_user: "your-user",
      cnp_password: "your-password"

# `authorization`

```elixir
@spec authorization(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit an authorization.

# `capture`

```elixir
@spec capture(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit a capture.

# `credit`

```elixir
@spec credit(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit a credit (refund).

# `echeck_credit`

```elixir
@spec echeck_credit(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit an eCheck credit.

# `echeck_sale`

```elixir
@spec echeck_sale(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit an eCheck sale.

# `echeck_void`

```elixir
@spec echeck_void(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit an eCheck void.

# `funding_instruction`

```elixir
@spec funding_instruction(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit a Dynamic Payout funding instruction.

# `register_token`

```elixir
@spec register_token(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Register a token.

# `reversal`

```elixir
@spec reversal(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit a reversal.

# `sale`

```elixir
@spec sale(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit a sale transaction.

# `void`

```elixir
@spec void(
  keyword(),
  Worldpay.Config.t()
) :: {:ok, map()} | {:error, Worldpay.Error.t()}
```

Submit a void.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
