Authorization

This document provides technical specifications for Authorization workflow APIs: /authorize, /authorize/{order_id}/capture (for capture), and /authorize/{order_id}/void. These APIs support a two-step payment process, allowing merchants to reserve funds first (Authorization) and then confirm the final amount (Capture) or release the reserved funds (Void).

Shared Request Data Models

The following objects are used across one or more API requests.

Product Model

Input ParameterTypeMax LengthDescription
nameString100Name of the product or service.
descriptionString255Detailed description of the product/item.
priceDecimal-Unit price of the product.
quantityInteger-Number of units purchased.

Order Model

Input ParameterTypeMax LengthDescription
idString50Merchant's unique ID for the order (used to track the overall payment lifecycle).
referenceString50Secondary internal reference number for the order.
descriptionString255A brief description of the transaction's purpose.
currencyString3The 3-letter currency code (e.g., "KWD").
amountDecimal-The total amount for the current transaction (authorization amount, capture amount, or void amount).

Payment Gateway Model

Input ParameterTypeMax LengthDescription
srcString10Specifies the payment source (Note: currently accepting only "cc" for credit card).

Customer Model

Input ParameterTypeMax LengthDescription
uniqueIdString100Unique identifier for the customer.
nameString100Customer's full name.
emailString100Customer's email address.
mobileString20Customer's mobile number, including the country code.