Product Items and Shipping Data
You can enrich a payment intent with product-level details and shipping information. When passed, MoneyHash forwards this data to the payment provider if the provider supports it - enabling provider-side order tracking, fraud scoring, and BNPL eligibility checks that depend on knowing what was purchased.
Product items
Pass product_items as an array in the intent creation request. Each item in the array represents one product line in the order.
Product item fields
| Field | Required | Type | Description |
|---|---|---|---|
name | Yes | string | Product name |
description | No | string | Short product description |
amount | Yes | number | Unit price of the product |
quantity | Yes | integer | Number of units |
category | Yes | string | Main product category - see supported categories below |
subcategory | Yes | string | Subcategory within the main category |
type | Yes | string | Product type - Physical, Digital, or Service |
discount | No | object | Discount applied to this product item - see Discount below |
Basic example
{
"amount": 50,
"amount_currency": "AED",
"operation": "purchase",
"billing_data": {
"first_name": "Mustafa",
"last_name": "Eid",
"phone_number": "+201064610000",
"email": "[email protected]"
},
"product_items": [
{
"name": "Wireless Headphones",
"description": "Noise-cancelling over-ear headphones",
"amount": 40,
"quantity": 1,
"category": "Electronics",
"subcategory": "Audio",
"type": "Physical"
},
{
"name": "Extended Warranty",
"description": "1-year extended warranty plan",
"amount": 10,
"quantity": 1,
"category": "Business & Industrial",
"subcategory": "Finance & Insurance",
"type": "Service"
}
],
"webhook_url": "https://yourbackend.com/webhooks/moneyhash"
}Fees
Pass additional fees - such as shipping or handling - using the top-level fees array alongside product_items. Each fee object contains a multilingual title and a numeric value.
Fee fields
| Field | Required | Type | Description |
|---|---|---|---|
title | Yes | object | Multilingual fee label - supports en, ar, fr keys |
value | Yes | number | Fee amount - cannot be negative |
The sum of all product_items amounts plus all fees values must equal the intent's top-level amount. Some providers validate this and may reject the request if they don't match.
Example with fees
{
"amount": 50,
"amount_currency": "AED",
"operation": "purchase",
"product_items": [
{
"name": "First Product",
"description": "Product description",
"amount": 20,
"quantity": 1,
"category": "Electronics",
"subcategory": "Audio",
"type": "Digital"
},
{
"name": "Second Product",
"description": "Product description",
"amount": 10,
"quantity": 1,
"category": "Electronics",
"subcategory": "Audio",
"type": "Digital"
}
],
"fees": [
{
"title": {
"en": "Shipping fees",
"ar": "رسوم الشحن",
"fr": "Frais de livraison"
},
"value": 10
},
{
"title": {
"en": "Handling fees",
"ar": "رسوم المناولة",
"fr": "Frais de manutention"
},
"value": 10
}
],
"webhook_url": "https://yourbackend.com/webhooks/moneyhash"
}Discount
Discounts can be applied at the product item level via the discount field inside each item in product_items.
Discount fields
| Field | Required | Type | Description |
|---|---|---|---|
title | Yes | object | Multilingual discount label - supports en, ar, fr keys |
type | Yes | string | Discount calculation type - amount for a fixed deduction |
value | Yes | number | Discount value |
Example with discounts and fees
{
"amount": 50,
"amount_currency": "AED",
"operation": "purchase",
"product_items": [
{
"name": "First Product",
"description": "Product description",
"amount": 30,
"quantity": 1,
"category": "Electronics",
"subcategory": "Audio",
"type": "Digital",
"discount": {
"title": {
"en": "Loyalty discount",
"ar": "خصم الولاء",
"fr": "Remise fidélité"
},
"type": "amount",
"value": 5
}
},
{
"name": "Second Product",
"description": "Product description",
"amount": 20,
"quantity": 1,
"category": "Electronics",
"subcategory": "Audio",
"type": "Digital",
"discount": {
"title": {
"en": "Promo discount",
"ar": "خصم ترويجي",
"fr": "Remise promotionnelle"
},
"type": "amount",
"value": 5
}
}
],
"fees": [
{
"title": {
"en": "Shipping fees",
"ar": "رسوم الشحن",
"fr": "Frais de livraison"
},
"value": 10
},
{
"title": {
"en": "Handling fees",
"ar": "رسوم المناولة",
"fr": "Frais de manutention"
},
"value": 10
}
],
"webhook_url": "https://yourbackend.com/webhooks/moneyhash"
}Supported categories and subcategories
| Category | Subcategory | Type |
|---|---|---|
| Animals & Pet Supplies | Live Animals | Physical |
| Pet Supplies | Physical | |
| Apparel & Accessories | Clothing | Physical |
| Clothing Accessories | Physical | |
| Costumes & Accessories | Physical | |
| Handbag & Wallet Accessories | Physical | |
| Handbags, Wallets & Cases | Physical | |
| Jewelry | Physical | |
| Shoe Accessories | Physical | |
| Shoes | Physical | |
| Arts & Entertainment | Event Tickets | Physical, Digital |
| Hobbies & Creative Arts | Physical, Digital | |
| Party & Celebration | Physical | |
| Baby & Toddler | Baby Bathing | Physical |
| Baby Gift Sets | Physical | |
| Baby Health | Physical | |
| Baby Safety | Physical | |
| Baby Toys & Activity Equipment | Physical | |
| Baby Transport | Physical | |
| Baby Transport Accessories | Physical | |
| Diapering | Physical | |
| Nursing & Feeding | Physical | |
| Potty Training | Physical | |
| Swaddling & Receiving Blankets | Physical | |
| Business & Industrial | Advertising & Marketing | Service |
| Agriculture | Service | |
| Construction | Service | |
| Finance & Insurance | Service | |
| Food Service | Service | |
| Hotel & Hospitality | Service | |
| Manufacturing | Service | |
| Medical | Service | |
| Retail | Service | |
| Science & Laboratory | Service | |
| Cameras & Optics | Camera & Optic Accessories | Physical |
| Cameras | Physical | |
| Optics | Physical | |
| Photography | Physical, Digital, Service | |
| Electronics | Audio | Physical, Digital |
| Computers | Physical | |
| Electronics Accessories | Physical | |
| GPS Navigation Systems | Physical | |
| Networking | Physical | |
| Video | Physical, Digital | |
| Video Game Consoles | Physical | |
| Video Game Console Accessories | Physical | |
| Food, Beverages & Tobacco | Beverages | Physical |
| Food Items | Physical | |
| Tobacco Products | Physical | |
| Furniture | Beds & Accessories | Physical |
| Chairs | Physical | |
| Office Furniture | Physical | |
| Outdoor Furniture | Physical | |
| Shelving | Physical | |
| Sofas | Physical | |
| Tables | Physical | |
| Hardware | Building Materials | Physical |
| Heating, Ventilation & Air Conditioning | Physical | |
| Locks & Keys | Physical | |
| Plumbing | Physical | |
| Power & Electrical Supplies | Physical | |
| Tools | Physical | |
| Health & Beauty | Health Care | Physical |
| Personal Care | Physical | |
| Jewelry Cleaning & Care | Service | |
| Home & Garden | Bathroom Accessories | Physical |
| Decor | Physical | |
| Household Appliances | Physical | |
| Kitchen & Dining | Physical | |
| Lawn & Garden | Physical | |
| Lighting | Physical | |
| Linens & Bedding | Physical | |
| Pool & Spa | Physical | |
| Luggage & Bags | Backpacks | Physical |
| Duffel Bags | Physical | |
| Luggage Accessories | Physical | |
| Suitcases | Physical | |
| Mature | Erotic | Physical, Digital |
| Weapons | Physical | |
| Media | Books | Physical, Digital |
| DVDs & Videos | Physical, Digital | |
| Magazines & Newspapers | Physical, Digital | |
| Music & Sound Recordings | Physical, Digital | |
| Office Supplies | Filing & Organization | Physical |
| General Office Supplies | Physical | |
| Office Equipment | Physical | |
| Paper Handling | Physical | |
| Shipping Supplies | Physical | |
| Religious & Ceremonial | Memorial Ceremony Supplies | Physical |
| Religious Items | Physical | |
| Wedding Ceremony Supplies | Physical | |
| Software | Computer Software | Digital |
| Digital Goods & Currency | Digital | |
| Video Game Software | Digital | |
| Sporting Goods | Athletics | Physical |
| Exercise & Fitness | Physical | |
| Indoor Games | Physical | |
| Outdoor Recreation | Physical | |
| Toys & Games | Games | Physical, Digital |
| Outdoor Play Equipment | Physical | |
| Puzzles | Physical | |
| Toys | Physical | |
| Vehicles & Parts | Vehicle Parts & Accessories | Physical |
| Vehicles | Physical | |
| Crypto | Cryptocurrency | Digital |
| Token | Digital |
Shipping data
Pass shipping_data in the intent creation request to include the delivery address and shipping details. MoneyHash forwards this to the provider if supported.
Shipping data fields
| Field | Required | Type | Description |
|---|---|---|---|
first_name | No | string | Recipient first name |
last_name | No | string | Recipient last name |
email | No | string | Recipient email address |
phone_number | No | string | Recipient phone number |
address | No | string | Full street address |
street | No | string | Street name |
building | No | string | Building number or name |
apartment | No | string | Apartment or unit number |
city | No | string | City |
state | No | string | State or province |
country | No | string | ISO 3166-1 alpha-2 country code - e.g. AE, EG, SA |
postal_code | No | string | Postal or ZIP code |
shipping_method | No | string | Shipping method identifier as defined by the provider |
description | No | string | Order or shipment description |
Some payment providers maintain a predefined list of valid shipping addresses or address formats. Make sure the address values you pass match what the provider expects - mismatched values may cause the request to be rejected by the provider.
Whether individual shipping fields are required or optional depends on the payment provider. Consult your provider's documentation or the MoneyHash team to confirm which fields must be populated for your specific integration.
Example
{
"amount": 500,
"amount_currency": "AED",
"operation": "purchase",
"billing_data": {
"first_name": "Mustafa",
"last_name": "Eid",
"phone_number": "+201064610000",
"email": "[email protected]"
},
"shipping_data": {
"first_name": "Clifford",
"last_name": "Nicolas",
"email": "[email protected]",
"phone_number": "+201064610000",
"address": "123 Main Street",
"street": "Main Street",
"building": "8028",
"apartment": "803",
"city": "Dubai",
"state": "Dubai",
"country": "AE",
"postal_code": "01898",
"shipping_method": "express",
"description": "Handle with care"
},
"webhook_url": "https://yourbackend.com/webhooks/moneyhash"
}Updated about 2 months ago