Skip to main content
POST
/
v1
/
orders
/
earning
Create an earning order
curl --request POST \
  --url https://api.papp.sa/api/v1/orders/earning \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "phone_number": "512345678",
  "total_price": 115,
  "products": [
    {
      "product_name": "Cappuccino",
      "product_price": 18.5,
      "quantity": 2
    }
  ],
  "order_number": "SALE-2024-0021",
  "name": "Ahmed Al-Saud",
  "shipping_amount": 15,
  "tax_amount": 22.5,
  "discount_amount": 10,
  "shipping_address": {
    "city": "Riyadh",
    "line1": "1234 King Fahd Rd, Al Olaya"
  },
  "metadata": {}
}
'
{
  "status": true,
  "message": "",
  "appended_data": {},
  "data": {
    "id": 42,
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "reference_number": "REF-2024-001234",
    "order_status": "approved",
    "order_number": "ORD-2024-001234",
    "type": 1,
    "total_price": 150.5,
    "total_points": 1505,
    "metadata": {
      "source": "mobile_app"
    },
    "date": "2024-12-23T00:00:00.000Z",
    "time": "10:00:00",
    "since": "2 hours ago",
    "created_at": "2024-12-23T10:00:00.000Z",
    "items": [
      {
        "product_name": "Cappuccino",
        "product_price": 18.5,
        "quantity": 2
      }
    ]
  }
}

Authorizations

x-api-key
string
header
required

Body

application/json
phone_number
string
required

Customer phone number. Accepted formats: +966XXXXXXXXX, 00966XXXXXXXXX, 966XXXXXXXXX, 0XXXXXXXXX, or bare 5XXXXXXXX. Normalised server-side to 5\d{8}.

Example:

"512345678"

total_price
number<float>
required

Purchase amount (SAR).

Required range: x >= 0
Example:

115

products
object[]
required
Minimum array length: 1
order_number
string
required

Merchant order reference.

Example:

"SALE-2024-0021"

name
string | null
Maximum string length: 255
Example:

"Ahmed Al-Saud"

shipping_amount
number<float> | null
Required range: x >= 0
Example:

15

tax_amount
number<float> | null
Required range: x >= 0
Example:

22.5

discount_amount
number<float> | null
Required range: x >= 0
Example:

10

shipping_address
object

Optional shipping address. All fields are individually optional.

metadata
object

Optional metadata stored on the order.

Response

Order created successfully.

status
boolean
required
Example:

true

message
string | null
required
Example:

""

appended_data
object
required
Example:
{}
data
object
required