Payflex · Schema
Create Order Request
Request body for creating a new Payflex BNPL installment payment order via POST /order/productSelect
BNPLBuy Now Pay LaterPaymentsInstallmentsSouth AfricaFintechE-commerce
Properties
| Name | Type | Description |
|---|---|---|
| amount | string | Total order amount formatted to two decimal places |
| consumer | object | Consumer contact information |
| billing | object | Billing address |
| shipping | object | Shipping address |
| description | string | Human-readable order description |
| items | array | Line items in the order |
| merchant | object | Merchant redirect URLs for post-checkout flow |
| merchantReference | string | Merchant's own order reference number |
| taxAmount | number | Tax amount included in the order total |
| shippingAmount | number | Shipping amount included in the order total |
| merchantSystemInformation | object | Integration platform metadata for Payflex diagnostics |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/payflex/main/json-schema/create-order-request.json",
"title": "Create Order Request",
"description": "Request body for creating a new Payflex BNPL installment payment order via POST /order/productSelect",
"type": "object",
"required": ["amount", "consumer", "merchant", "merchantReference"],
"properties": {
"amount": {
"type": "string",
"description": "Total order amount formatted to two decimal places",
"pattern": "^\\d+\\.\\d{2}$",
"example": "299.99"
},
"consumer": {
"type": "object",
"description": "Consumer contact information",
"required": ["phoneNumber", "givenNames", "surname", "email"],
"properties": {
"phoneNumber": {
"type": "string",
"description": "Consumer's phone number including country code",
"example": "+27821234567"
},
"givenNames": {
"type": "string",
"description": "Consumer's first name(s)",
"example": "Jane"
},
"surname": {
"type": "string",
"description": "Consumer's last name",
"example": "Smith"
},
"email": {
"type": "string",
"format": "email",
"description": "Consumer's email address",
"example": "[email protected]"
}
}
},
"billing": {
"type": "object",
"description": "Billing address",
"properties": {
"addressLine1": { "type": "string", "example": "12 Main Street" },
"addressLine2": { "type": "string", "example": "Apt 3" },
"suburb": { "type": "string", "example": "Cape Town" },
"postcode": { "type": "string", "example": "8001" }
}
},
"shipping": {
"type": "object",
"description": "Shipping address",
"properties": {
"addressLine1": { "type": "string", "example": "12 Main Street" },
"addressLine2": { "type": "string", "example": "Apt 3" },
"suburb": { "type": "string", "example": "Cape Town" },
"postcode": { "type": "string", "example": "8001" }
}
},
"description": {
"type": "string",
"description": "Human-readable order description",
"example": "Order from Example Store"
},
"items": {
"type": "array",
"description": "Line items in the order",
"items": {
"type": "object",
"required": ["name", "quantity", "price"],
"properties": {
"name": { "type": "string", "description": "Product name", "example": "Blue T-Shirt" },
"sku": { "type": "string", "description": "Product SKU", "example": "SKU-001" },
"quantity": { "type": "string", "description": "Quantity as string", "example": "2" },
"price": { "type": "string", "description": "Unit price to two decimal places", "example": "99.99" }
}
}
},
"merchant": {
"type": "object",
"description": "Merchant redirect URLs for post-checkout flow",
"required": ["redirectConfirmUrl", "redirectCancelUrl"],
"properties": {
"redirectConfirmUrl": {
"type": "string",
"format": "uri",
"description": "URL to redirect consumer after successful payment",
"example": "https://example.com/checkout/confirm?status=confirmed"
},
"redirectCancelUrl": {
"type": "string",
"format": "uri",
"description": "URL to redirect consumer after cancelled payment",
"example": "https://example.com/checkout/cancel?status=cancelled"
}
}
},
"merchantReference": {
"type": "string",
"description": "Merchant's own order reference number",
"example": "12345"
},
"taxAmount": {
"type": "number",
"description": "Tax amount included in the order total",
"example": 0
},
"shippingAmount": {
"type": "number",
"description": "Shipping amount included in the order total",
"example": 0
},
"merchantSystemInformation": {
"type": "object",
"description": "Integration platform metadata for Payflex diagnostics",
"properties": {
"plugin_version": { "type": "string", "example": "2.7.0" },
"php_version": { "type": "string", "example": "8.1.0" },
"ecommerce_platform": { "type": "string", "example": "WooCommerce 8.0" },
"total_plugin_modules": { "type": "string", "example": "25" },
"active_plugin_modules": { "type": "string", "example": "12" }
}
}
}
}