---
title: "POST /checkout-link/generate-checkout-url"
method: POST
path: "/checkout-link/generate-checkout-url"
---

# POST /checkout-link/generate-checkout-url

`POST /checkout-link/generate-checkout-url`

Generates a link for receiving payments via Hosted Checkout. After payment, customers are redirected to the Return URL configured on your hosted application in the dashboard. For payment status updates, use application webhooks and/or an optional callbackUrl on the request body (see Payment notifications in the Checkout Link API guide).

## Request body

- union
  - object
    - `totalPrice` string, required — Your order amount
    - `orderReference` string, required — Your unique Order reference
    - `orderCurrency` 'TZS' | 'USD', required — Your order payment currency to receive in(e.g., TZS, USD)
    - `customerName` string — Your customer name
    - `customerEmail` string — Your customer email
    - `customerPhone` string — Your customer phone number, starting with country code and without the plus sign, e.g., 255712345678
    - `description` string — Your order description
    - `callbackUrl` string — Optional URL that receives an HTTP POST when a payment for this checkout link succeeds. Separate from application webhooks configured in the dashboard.
    - `wooCommerceCallbackURL` string — Optional WooCommerce order callback URL for this checkout link.
    - `checksum` string — If enabled, this is the generated checksum of the payload. Refer to the [documentation](/home/checksum) for more details.
  - object
    - `orderItems` object[], required — Your order items
      - `name` string, required — Item name
      - `price` string, required — Item Amount
      - `quantity` integer, required — Items Quantity
    - `orderReference` string, required — Your unique Order reference
    - `orderCurrency` 'TZS' | 'USD', required — Your order payment currency to receive in(e.g., TZS, USD)
    - `customerName` string — Your customer name
    - `customerEmail` string — Your customer email
    - `customerPhone` string — Your customer phone number, starting with country code and without the plus sign, e.g., 255712345678
    - `description` string — Your order description
    - `callbackUrl` string — Optional URL that receives an HTTP POST when a payment for this checkout link succeeds. Separate from application webhooks configured in the dashboard.
    - `wooCommerceCallbackURL` string — Optional WooCommerce order callback URL for this checkout link.
    - `checksum` string — If enabled, this is the generated checksum of the payload. Refer to the [documentation](/home/checksum) for more details.

## Response `200`

Generate Checkout Link Response

- object[]
  - `updatedAt` string, date-time — Last updated timestamp
  - `createdAt` string, date-time — Creation timestamp
  - `id` string — Payout ID
  - `orderReference` string — Associated order reference
  - `amount` string — Payout amount
  - `currency` string — Currency code
  - `fee` string — Transaction fee
  - `status` 'SUCCESS' | 'PROCESSING' | 'PENDING' | 'FAILED' | 'REFUNDED' | 'REVERSED' — Payout status
  - `channel` 'BANK TRANSFER' | 'MOBILE MONEY' — Payout channel
  - `channelProvider` string — Name of the payout channel provider
  - `transferType` 'ACH' | 'RTGS' — Transfer type - when applicable
  - `notes` string — Additional notes if available
  - `beneficiary` object
    - `accountNumber` string — Beneficiary's account number
    - `accountName` string — Beneficiary's account name
    - `swiftNumber` string — SWIFT number if applicable
    - `routingNumber` string — Routing number if applicable
    - `beneficiaryMobileNumber` string — Beneficiary's mobile number if applicable
    - `beneficiaryEmail` string, email — Beneficiary's email if applicable
  - `clientId` string — Application Client ID associated with the payout

## Other responses

- `400` — Validation Error
- `401` — Invalid or Expired Token
- `404` — Not Found Error
- `409` — Conflict Error

---

[API](https://skmtc.net/clickpesa/apis/core-api-openapi-specification.md) · [All operations](https://skmtc.net/clickpesa/apis/core-api-openapi-specification/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clickpesa/core-api-openapi-specification/versions/9f70f35c5590/schema)
