---
title: "Create a charge"
method: POST
path: "/charges"
---

# Create a charge

`POST /charges`

Sandbox (Testing): https://global-api.sand.au.edge.zip.co/merchant/charges

Once the Zip checkout flow has redirected the customer to your previously defined "redirect_uri," that page should consume the the state of the checkout to determine if it has been approved or declined. If the checkout has been approved, this page should then proceed to charge the customer.

## Headers

- `Authorization` string, required
- `Idempotency-Key` string, required
- `Zip-Version` string, date, required

## Request body

- object
  - `authority` object, required — Order shipping address object.
  - `reference` string, required — Unique payment reference for this charge.
  - `amount` number, double, required — Amount of this charge. This is the amount that will be transferred (if capture=true) from customer to merchant account or ring-fenced if capture=false.
  - `currency` string, required — Transaction currency. Accepted values are AUD, NZD, and USD
  - `capture` boolean — Defaults to true. Capture=true will immediately transfer funds to merchant account and deduct the funds from customers account. Capture=False will authorize only and will ring-fence funds to be transferred on a call to /capture.

## Response `200`

200

- object
  - `amount` integer
  - `captured_amount` integer
  - `created_date` string
  - `currency` string
  - `id` string
  - `product` string
  - `receipt_number` integer
  - `refunded_amount` integer
  - `state` string
  - `customer` object
    - `first_name` string
    - `last_name` string
    - `email` string

---

[API](https://skmtc.dev/zip/apis/gateway-api.md) · [All operations](https://skmtc.dev/zip/apis/gateway-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zip/gateway-api/revisions/4b1127fdca1e/schema)
