# `Worldpay.WPG.Builder`
[🔗](https://github.com/iamkanishka/worldpay/blob/v1.0.0/lib/worldpay/wpg/wpg.ex#L1)

Builds WPG XML request documents.

All functions return XML strings that can be submitted via `Worldpay.WPG.submit/2`.

# `cancel`

```elixir
@spec cancel(String.t()) :: String.t()
```

Build a cancel modification.

# `capture`

```elixir
@spec capture(String.t(), non_neg_integer(), String.t(), non_neg_integer()) ::
  String.t()
```

Build a capture (settlement) modification.

# `envelope`

```elixir
@spec envelope(
  String.t(),
  keyword()
) :: String.t()
```

Wrap inner XML in a WPG `paymentService` envelope.

# `hpp_order`

```elixir
@spec hpp_order(keyword()) :: String.t()
```

Build a HPP order (hosted payment page redirect).

# `inquiry`

```elixir
@spec inquiry(String.t()) :: String.t()
```

Build an inquiry request.

# `order`

```elixir
@spec order(keyword()) :: String.t()
```

Build a card order submission (Direct integration).

# `refund`

```elixir
@spec refund(String.t(), non_neg_integer(), String.t(), non_neg_integer()) ::
  String.t()
```

Build a refund modification.

# `split_funding`

```elixir
@spec split_funding(String.t(), [map()]) :: String.t()
```

Build a split funding capture modification.

# `token_order`

```elixir
@spec token_order(keyword()) :: String.t()
```

Build a token order submission.

---

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