---
title: "Create a payment"
method: POST
path: "/v1/charges"
---

# Create a payment

`POST /v1/charges`

A Charge is a one-time payment that can be requested against any connected processing service.

## Query parameters

- `capture` boolean

## Headers

- `x-user-secret-key` string, required
- `Content-Type` string, required

## Request body

- object
  - `amount` string, required — The amount of the transactions
  - `currency` string, required — The ISO4217 alpha-3 currency code
  - `reference` string — A manually defined reference for payments in PowerBoard
  - `token` string — The One-Time-Token returned from the PowerBoard widget or API
  - `_3ds` object
    - `id` string — The 3DS charge ID returned from the 3DS Payment widget.
  - `description` string — Manually defined description for payments in payment systems
  - `descriptor` string — Manually defined descriptor for payments in payment systems
  - `customer` object
    - `payment_source` object
      - `gateway_id` string — The gateway ID of the gateway being used for this transaction. I.e. The PowerBoard gatewayID of mastercard service
      - `vault_token` string — The vault token of a customer
      - `vault_token_reference` string
      - `card_name` string — The name of the cardholder
      - `card_number` string — The card number of the card being used in the charge
      - `expire_month` string — The expiry month of the card
      - `expire_year` string — The expiry year of the card
      - `card_ccv` string — The CCV of the card
      - `address_line1` string — Customer's address line1
      - `address_line2` string — Customer's address line2
      - `state` string — Customer's address state
      - `country` string — Customer's address country
      - `city` string — Customer's address city
      - `postcode` string — Customer's address postcode
    - `customer_id` string — The customer ID
    - `first_name` string — The first name of the customer
    - `last_name` string — The last name of the customer
    - `email` string — The customer's email
    - `phone` string — The customer's phone number
    - `reference` string — The customer's reference identifier
  - `custom_fields` object — Any key/value pair to be passed to the API
    - `any_name` string — The custom fields Object allows you to add any key/value pair to the API request to be returned in the response

## Response `200`

200

- object
  - `status` integer
  - `error` unknown
  - `resource` object
    - `type` string
    - `data` object
      - `transfer` object
        - `items` object[]
      - `schedule` object
        - `stopped` boolean
      - `statistics` object
        - `total_refunded_amount` integer
        - `full_refund` boolean
        - `need_sync` boolean
      - `customer` object
        - `first_name` string
        - `last_name` string
        - `email` string
        - `reference` string
        - `payment_source` object
          - `vault_token` string
          - `type` string
          - `card_number_bin` string
          - `card_number_last4` string
          - `card_scheme` string
          - `card_funding_method` string
          - `expire_month` integer
          - `expire_year` integer
          - `gateway_id` string
          - `gateway_type` string
          - `gateway_name` string
          - `vault_type` string
          - `items` object[]
          - `card_issuer` string
      - `_id` string
      - `type` string
      - `amount` integer
      - `currency` string
      - `status` string
      - `company_id` string
      - `capture` boolean
      - `authorization` boolean
      - `archived` boolean
      - `description` string
      - `one_off` boolean
      - `reference` string
      - `reference2` string
      - `_source_ip_address` string
      - `items` object[]
      - `transactions` object[]
        - `created_at` string
        - `type` string
        - `status` string
        - `amount` integer
        - `currency` string
        - `_source_ip_address` string
        - `gateway_specific_code` unknown
        - `gateway_specific_description` unknown
        - `error_message` unknown
        - `error_code` unknown
        - `status_code` unknown
        - `status_code_description` unknown
        - `include_authorization` boolean
        - `initialization_source` string
        - `first_payment` boolean
        - `_id` string
        - `external_id` string
        - `external_reference` string
        - `authorization_code` string
        - `processed_at` string
      - `updated_at` string
      - `created_at` string
      - `__v` integer
      - `external_id` string

## Other responses

- `400` — 400

---

[API](https://skmtc.dev/commbank/apis/powerboard-api.md) · [All operations](https://skmtc.dev/commbank/apis/powerboard-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/commbank/powerboard-api/revisions/2ef3ed32f8c2/schema)
