---
title: "POST /collections/initialize"
method: POST
path: "/collections/initialize"
tags: ["COLLECTIONS"]
---

# POST /collections/initialize

`POST /collections/initialize`

## Headers

- `public-key` string, required
- `x-api-version` number, required
- `Accept-Language` 'en' | 'fr' | 'sw', required

## Request body

- CollectionRequestDto
  - `transaction_method` 'BANK' | 'CARD' | 'MOBILE_MONEY' | 'CRYPTO', required — The transaction method to be used.
  - `provider_code` string, required — The provider code as obtained from the payment options
  - `merchant_reference` string, required — The unique reference for this request. It must be at least 8 characters long. Alternatively, the value auto can be passed, and a unique reference will be created for you by the API
  - `msisdn` string — The mobile money number of the customer. Mandatory for Mobile Money.
  - `mobile_money_hpp` boolean — Should be sent with the value true in order for the API to handle the mobile money payment via hosted page
  - `currency` string, required — The 3-character ISO currency code for the request currency
  - `amount` number, required — The amount being requested
  - `description` string, required — The description/narration for the transaction. Between 10-30 characters
  - `customer_name` string — The name of the customer
  - `customer_email` string — The email of the customer
  - `redirect_url` string — The HTTPs redirect URL to which the API will redirect when the payment is successful/failed
  - `card_cipher` string
  - `charge_customer` boolean — Whether or not the customer should bear the charge for the transaction. By default, this is false to mean that the merchant bears the charge
  - `allow_final_status_change` boolean — Whether or not the final transaction status can be altered as described in the document

## Response `202`

Collection initiated successfully.

- ICollectionResponseDto
  - `code` number, required — HTTP Status code
  - `status` 'success' | 'accepted' | 'error', required — The status of the response
  - `message` string, required — Response messae
  - `data` object, required — Response data

## Other responses

- `400` — The request is invalid
- `401` — Unauthorized
- `422` — Unprocessable Entity
- `500` — An error occurred while processing the request

---

[API](https://skmtc.net/dusupay/apis/merchant-api.md) · [All operations](https://skmtc.net/dusupay/apis/merchant-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dusupay/merchant-api/revisions/cfd1b00f674f/schema)
