The following objects are used across one or more API requests.
| Input Parameter | Type | Max Length | Description |
|---|
| name | String | 100 | Name of the product or service. |
| description | String | 255 | Detailed description of the product/item. |
| price | Decimal | - | Unit price of the product. |
| quantity | Integer | - | Number of units purchased. |
| Input Parameter | Type | Max Length | Description |
|---|
| id | String | 50 | Merchant's unique ID for the order (used to track the overall payment lifecycle). |
| reference | String | 50 | Secondary internal reference number for the order. |
| description | String | 255 | A brief description of the transaction's purpose. |
| currency | String | 3 | The 3-letter currency code (e.g., "KWD"). |
| amount | Decimal | - | The total amount for the current transaction (authorization amount, capture amount, or void amount). |
| Input Parameter | Type | Max Length | Description |
|---|
| src | String | 10 | Specifies the payment source (KNET, apple-pay, samsung-pay, google-pay, and cc). |
| Input Parameter | Type | Max Length | Description |
|---|
| uniqueId | String | 100 | Unique identifier for the customer. |
| name | String | 100 | Customer's full name. |
| email | String | 100 | Customer's email address. |
| mobile | String | 20 | Customer's mobile number, including the country code. |
We have expanded our Authorization capabilities to support complex merchant workflows, multi-merchant platforms, and modern digital wallets.
Key Enhancements
- Partial Capture Logic
Settle a final amount that is less than or equal to the original pre-authorized total
Use Cases: When final order fulfillment costs less than estimated (e.g., out-of-stock items, weighted items, or adjusted service charges).
How it Works: Pass the updated final amount in your POST request to /authorize/{order_id}/capture
The remaining uncaptured balance is released back to the cardholder
- Multi-Merchant Support in Capture API
Process multi-merchant payouts directly during the capture step for marketplace and platform businesses.
Use Cases: E-commerce marketplaces, delivery platforms, and booking portals where funds need to be split across sub-merchants.
How it Works: Include the extraMerchantData array in your POST request to /authorize/{order_id}/capture to specify IBANs, sub-merchant settlement amounts, and platform commission rates.
- Expanded Digital Wallet Support
You can now authorize holds using KNET and digital wallets in addition to credit cards by setting the payment source in paymentGateway.src
Supported Sources: KNET, apple-pay, samsung-pay, google-pay, and cc.
- Automated Authorization Expiration & Cleanup
Automatically track and expire authorizations that have passed their valid time window.
The backend computes an explicit expiration timestamp (expires_at) at transaction creation time based on AuthorizationExpiryInMinutes (or default fallback values).
A scheduled system job runs to sweep and automatically expire any active Authorization transactions that have expired.