---
title: "Initiate Payment"
method: POST
path: "/charges"
tags: ["Transactions"]
---

# Initiate Payment

`POST /charges`

API to initiate transactions by merchant. <br> <h3>About MIT (Merchant Initiated Transaction)</h3> Merchant Initiated Transactions (MIT) allows a business to use card details, that were stored during previous transactions, to charge their customers.<br> <br> <h3>How do MITs work?</h3> 1- You request a payment link with the option to save the card details.<br> 2- You save the charge ID.<br> 3- You get the charge details (redirect, GET /charge, or webhook) which will include the ID of the card used to make the payment, you can save either one of the IDs so you always have access to the card ID.<br> 4- You call the below API to initiate a transaction using the same card.<br>

## Headers

- `Content-Type` string
- `Authorization` string

## Request body

- object
  - `card_id` string, required — Saved card ID retrieved from the initial transaction made with MIT-enabled link.
  - `amount` number, required — Amount to be charged.
  - `currency` string — The three-letter ISO currency code, default is AED
  - `send_customer_receipt` boolean — Enables the sending of customer receipts.
  - `custom_data` object — Key-value object that can be used to pass custom data.
  - `external_id` string — The external ID allows non Mamo IDs to be associated with a given charge.
  - `hold_and_charge_later` boolean — Indicates whether to place the payment on hold and charge it later using the "captures" API.

## Response `200`

Successful response

- object
  - `status` 'captured' | 'failed'
  - `id` string
  - `amount` number
  - `amount_currency` string
  - `refund_amount` number
  - `refund_status` string
  - `billing_descriptor` string
  - `custom_data` object
  - `created_date` string
  - `subscription_id` string — Value is set for subscriptions only. For one-time payments, this will be null.
  - `next_payment_date` string — Value is set for subscriptions only. For one-time payments, this will be null.
  - `settlement_amount` number
  - `settlement_currency` string
  - `settlement_date` string
  - `customer_details` object
    - `name` string
    - `email` string
    - `phone_number` string
    - `comment` string
  - `payment_method` object
    - `type` string
    - `card_holder_name` string
    - `card_last4` string
    - `origin` string
  - `error_code` string
  - `error_message` string

## Other responses

- `400` — Bad Request
- `403` — Unauthorised
- `422` — Unprocessable Entity
- `500` — Unexpected error

---

[API](https://skmtc.net/mamopay/apis/payments.md) · [All operations](https://skmtc.net/mamopay/apis/payments/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mamopay/payments/versions/65bb3871a425/schema)
