Contract and functional checks for the Commission Engine API (plan RET-Q4-2026). Run in order against a fresh database. Request names carry the test case IDs of docs/03-test-cases.csv.
| Summary Item | Total | Failed |
|---|---|---|
| Requests | 61 | 0 |
| Prerequest Scripts | 0 | 0 |
| Test Scripts | 122 | 0 |
| Assertions | 158 | 0 |
| Skipped Tests | 0 | - |
| Header Name | Header Value |
|---|---|
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | c026d1c9-14f9-40a8-9969-ccfd3bf9222e |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:35 GMT |
| server | uvicorn |
| content-length | 37 |
| content-type | application/json |
{"status":"ok","version":"0.1.0-rc2"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-API-001 status 200 | 1 | 0 | 0 |
| TC-API-001 status ok and version | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 4693e6c4-b366-49b1-8edf-81e030a6462c |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 79 |
{
"seller_id": "S00001",
"name": "Ana Garc\u00eda",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:35 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00001","name":"Ana García","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-SEL-001 status 201 | 1 | 0 | 0 |
| TC-SEL-001 body echoes input and is ACTIVE | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 8f2a7c4a-1f03-4ba5-8b42-f64eddfcfa53 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 79 |
{
"seller_id": "S00002",
"name": "Luis P\u00e9rez",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:35 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00002","name":"Luis Pérez","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | d7d1c775-3fc8-496c-a429-f7380fc90cef |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 79 |
{
"seller_id": "S00001",
"name": "Ana Garc\u00eda",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 91 |
| content-type | application/json |
{"error":{"code":"DUPLICATE_SELLER","message":"Seller S00001 already exists","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-SEL-002 status 409 | 1 | 0 | 0 |
| TC-SEL-002 error code DUPLICATE_SELLER | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 65004fcb-10fe-4051-a6cf-b501647514a2 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
"pm.test(\"TC-API-002 status 404\", function () { pm.response.to.have.status(404); });\npm.test(\"TC-API-002 error code SELLER_NOT_FOUND\", function () {\n pm.expect(pm.response.json().error.code).to.eql(\"SELLER_NOT_FOUND\");\n});\n"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 91 |
| content-type | application/json |
{"error":{"code":"SELLER_NOT_FOUND","message":"Seller S99999 does not exist","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 29ace215-e7a1-4d0f-b10c-a659190f0cc6 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 50 |
{
"seller_id": "S00009",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 129 |
| content-type | application/json |
{"error":{"code":"VALIDATION_ERROR","message":"Request is not valid","details":[{"loc":["body","name"],"msg":"Field required"}]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-API-003 status 422 | 1 | 0 | 0 |
| TC-API-003 error code VALIDATION_ERROR | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 3d36e966-8d38-44d1-adac-bd3c0ed4bf73 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 26 |
{
"amount": "90000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 64 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00001","amount":"90000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-QTA-001 status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | a9583229-f058-4f95-820b-03950b2ca99a |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00001","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-QTA-001 status 200 | 1 | 0 | 0 |
| TC-QTA-001 amount replaced | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 7dfa4b7c-1871-4543-a415-da0346cc76e9 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00002","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | be2abdb2-d4bb-4c90-a5bc-4568d48dd875 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-11","seller_id":"S00001","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 406c3c20-7bd6-4573-a050-a75cb1093ede |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-11","seller_id":"S00002","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 723cc979-7d1a-4850-bcae-f53aff3882f7 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 79 |
{
"seller_id": "S00003",
"name": "Sof\u00eda Ruiz",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00003","name":"Sofía Ruiz","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 7af1e424-9e12-4f47-9a5e-6ea8122c64fb |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 26 |
{
"status": "INACTIVE"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 82 |
| content-type | application/json |
{"seller_id":"S00003","name":"Sofía Ruiz","store_id":"T1000","status":"INACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-SEL-007 status 200 | 1 | 0 | 0 |
| TC-SEL-007 status is INACTIVE | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 31e06aee-253a-48de-b62a-fa9bdd97ede6 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 208 |
{
"transaction_id": "PM-SALE-1",
"type": "SALE",
"txn_date": "2026-10-15",
"store_id": "T1000",
"amount": 1500.5,
"credits": [
{
"seller_id": "S00001",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 229 |
| content-type | application/json |
{"transaction_id":"PM-SALE-1","type":"SALE","txn_date":"2026-10-15","store_id":"T1000","amount":"1500.50","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00001","split_pct":100,"credit":"1500.50"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-TXN-001 status 201 | 1 | 0 | 0 |
| TC-TXN-001 credit lines | 1 | 0 | 0 |
| TC-TXN-001 posts to 2026-10 | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 1c305302-2aa6-4112-bf7c-bce5137a36a3 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
"pm.test(\"TC-API-005 status 200\", function () { pm.response.to.have.status(200); });\n\npm.test(\"TC-API-005 amount and credit are strings with two decimals\", function () {\n const j = pm.response.json();\n pm.expect(j.amount).to.eql(\"1500.50\");\n pm.expect(j.credits[0].credit).to.eql(\"1500.50\");\n});"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 229 |
| content-type | application/json |
{"transaction_id":"PM-SALE-1","type":"SALE","txn_date":"2026-10-15","store_id":"T1000","amount":"1500.50","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00001","split_pct":100,"credit":"1500.50"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Total | 1 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 83744bf5-5a7e-48dd-96c1-5dd051188e4c |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 275 |
{
"transaction_id": "PM-SALE-2",
"type": "SALE",
"txn_date": "2026-10-16",
"store_id": "T1000",
"amount": "10000.00",
"credits": [
{
"seller_id": "S00001",
"split_pct": 70
},
{
"seller_id": "S00002",
"split_pct": 30
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 286 |
| content-type | application/json |
{"transaction_id":"PM-SALE-2","type":"SALE","txn_date":"2026-10-16","store_id":"T1000","amount":"10000.00","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00001","split_pct":70,"credit":"7000.00"},{"seller_id":"S00002","split_pct":30,"credit":"3000.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-TXN-002 status 201 | 1 | 0 | 0 |
| TC-TXN-002 credit lines | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 72987d37-5975-4916-a509-15f4b7ce8935 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 273 |
{
"transaction_id": "PM-SALE-3",
"type": "SALE",
"txn_date": "2026-10-16",
"store_id": "T1000",
"amount": "100.01",
"credits": [
{
"seller_id": "S00001",
"split_pct": 50
},
{
"seller_id": "S00002",
"split_pct": 50
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 280 |
| content-type | application/json |
{"transaction_id":"PM-SALE-3","type":"SALE","txn_date":"2026-10-16","store_id":"T1000","amount":"100.01","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00001","split_pct":50,"credit":"50.01"},{"seller_id":"S00002","split_pct":50,"credit":"50.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-TXN-003 status 201 | 1 | 0 | 0 |
| TC-TXN-003 credit lines | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 95af049b-e571-46ea-b4bd-f8f5d25bd346 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 273 |
{
"transaction_id": "PM-SALE-4",
"type": "SALE",
"txn_date": "2026-10-16",
"store_id": "T1000",
"amount": "100.00",
"credits": [
{
"seller_id": "S00001",
"split_pct": 60
},
{
"seller_id": "S00002",
"split_pct": 39
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 85 |
| content-type | application/json |
{"error":{"code":"INVALID_SPLIT","message":"Splits must add up to 100","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-TXN-005 status 422 | 1 | 0 | 0 |
| TC-TXN-005 error code INVALID_SPLIT | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 80bc7baa-cb6a-49ba-8af3-a38afa112440 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 210 |
{
"transaction_id": "PM-SALE-5",
"type": "SALE",
"txn_date": "2026-10-16",
"store_id": "T1000",
"amount": "100.00",
"credits": [
{
"seller_id": "S00003",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 87 |
| content-type | application/json |
{"error":{"code":"SELLER_INACTIVE","message":"Seller S00003 is inactive","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-TXN-009 status 422 | 1 | 0 | 0 |
| TC-TXN-009 error code SELLER_INACTIVE | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 4d806c33-ab7a-4736-9a65-e85301945374 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 208 |
{
"transaction_id": "PM-SALE-1",
"type": "SALE",
"txn_date": "2026-10-15",
"store_id": "T1000",
"amount": 1500.5,
"credits": [
{
"seller_id": "S00001",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 104 |
| content-type | application/json |
{"error":{"code":"DUPLICATE_TRANSACTION","message":"Transaction PM-SALE-1 already exists","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-TXN-012 status 409 | 1 | 0 | 0 |
| TC-TXN-012 error code DUPLICATE_TRANSACTION | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 0910736d-b8f7-446f-8d8a-86c040ffe7d8 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
"pm.test(\"TC-TXN-018 status 404\", function () { pm.response.to.have.status(404); });\npm.test(\"TC-TXN-018 error code TRANSACTION_NOT_FOUND\", function () {\n pm.expect(pm.response.json().error.code).to.eql(\"TRANSACTION_NOT_FOUND\");\n});\n"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 103 |
| content-type | application/json |
{"error":{"code":"TRANSACTION_NOT_FOUND","message":"Transaction NOPE-404 does not exist","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | c6c7d0e9-1bb0-493a-8d96-d6eb10da908f |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 273 |
{
"transaction_id": "PM-BASE",
"type": "SALE",
"txn_date": "2026-10-05",
"store_id": "T1000",
"amount": "10000.00",
"credits": [
{
"seller_id": "S00001",
"split_pct": 70
},
{
"seller_id": "S00002",
"split_pct": 30
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 284 |
| content-type | application/json |
{"transaction_id":"PM-BASE","type":"SALE","txn_date":"2026-10-05","store_id":"T1000","amount":"10000.00","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00001","split_pct":70,"credit":"7000.00"},{"seller_id":"S00002","split_pct":30,"credit":"3000.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | a49fdb18-a9d0-4d26-be86-ae471d512109 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 168 |
{
"transaction_id": "PM-RET-1",
"type": "RETURN",
"txn_date": "2026-10-20",
"store_id": "T1000",
"amount": "2000.00",
"original_transaction_id": "PM-BASE"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 292 |
| content-type | application/json |
{"transaction_id":"PM-RET-1","type":"RETURN","txn_date":"2026-10-20","store_id":"T1000","amount":"2000.00","original_transaction_id":"PM-BASE","period_id":"2026-10","credits":[{"seller_id":"S00001","split_pct":70,"credit":"-1400.00"},{"seller_id":"S00002","split_pct":30,"credit":"-600.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-RET-001 status 201 | 1 | 0 | 0 |
| TC-RET-001 credit lines | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 396cbea1-6bdd-4510-a702-492992478b52 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 168 |
{
"transaction_id": "PM-RET-2",
"type": "RETURN",
"txn_date": "2026-11-04",
"store_id": "T1000",
"amount": "1000.00",
"original_transaction_id": "PM-BASE"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 291 |
| content-type | application/json |
{"transaction_id":"PM-RET-2","type":"RETURN","txn_date":"2026-11-04","store_id":"T1000","amount":"1000.00","original_transaction_id":"PM-BASE","period_id":"2026-11","credits":[{"seller_id":"S00001","split_pct":70,"credit":"-700.00"},{"seller_id":"S00002","split_pct":30,"credit":"-300.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-RET-002 status 201 | 1 | 0 | 0 |
| TC-RET-002 credit lines | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | b8d241fc-b3ab-47db-89f0-211282d304a9 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 168 |
{
"transaction_id": "PM-RET-3",
"type": "RETURN",
"txn_date": "2026-11-05",
"store_id": "T1000",
"amount": "1000.00",
"original_transaction_id": "PM-BASE"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 178 |
| content-type | application/json |
{"transaction_id":"PM-RET-3","type":"RETURN","txn_date":"2026-11-05","store_id":"T1000","amount":"1000.00","original_transaction_id":"PM-BASE","period_id":"2026-11","credits":[]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-RET-003 status 201 | 1 | 0 | 0 |
| TC-RET-003 no credit lines | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | d55d9aeb-3e19-4ac1-a931-a0525ee716f6 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 168 |
{
"transaction_id": "PM-RET-4",
"type": "RETURN",
"txn_date": "2026-11-06",
"store_id": "T1000",
"amount": "6000.01",
"original_transaction_id": "PM-BASE"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 109 |
| content-type | application/json |
{"error":{"code":"RETURN_EXCEEDS_SALE","message":"Total returned would exceed the sale amount","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-RET-005 status 422 | 1 | 0 | 0 |
| TC-RET-005 error code RETURN_EXCEEDS_SALE | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 96081d23-f477-47ad-8fb5-78a5b29d6716 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 75 |
{
"seller_id": "S00010",
"name": "Calc S00010",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00010","name":"Calc S00010","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 87c2b625-0069-466f-bc01-b35441f77177 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00010","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | b8fb34e5-c8c9-4609-a3b8-e8ca17334d36 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 212 |
{
"transaction_id": "PM-S00010",
"type": "SALE",
"txn_date": "2026-10-20",
"store_id": "T1000",
"amount": "49995.00",
"credits": [
{
"seller_id": "S00010",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 231 |
| content-type | application/json |
{"transaction_id":"PM-S00010","type":"SALE","txn_date":"2026-10-20","store_id":"T1000","amount":"49995.00","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00010","split_pct":100,"credit":"49995.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 8b95aa56-9e63-47de-9bd2-4c69954bba89 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 589 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00010","source":"LIVE","quota":"100000.00","net_credited":"49995.00","attainment_pct":"50.00","qualified":false,"bands":[{"band":"A","from_pct":"0.00","to_pct":"80.00","rate_pct":"1.00","base":"49995.00","commission":"499.95"},{"band":"B","from_pct":"80.00","to_pct":"100.00","rate_pct":"2.50","base":"0.00","commission":"0.00"},{"band":"C","from_pct":"100.00","to_pct":"150.00","rate_pct":"4.00","base":"0.00","commission":"0.00"},{"band":"D","from_pct":"150.00","to_pct":"200.00","rate_pct":"5.00","base":"0.00","commission":"0.00"}],"payout":"0.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-CAL-002 status 200 | 1 | 0 | 0 |
| TC-CAL-002 statement values | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | e0a78637-5dfd-43ad-99e4-7bf3ab79194d |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 75 |
{
"seller_id": "S00011",
"name": "Calc S00011",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00011","name":"Calc S00011","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 45ed74ff-1aad-407d-a106-34c9438e823c |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00011","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 3434959a-55f4-4c91-a299-b1ffd189509c |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 212 |
{
"transaction_id": "PM-S00011",
"type": "SALE",
"txn_date": "2026-10-20",
"store_id": "T1000",
"amount": "50000.00",
"credits": [
{
"seller_id": "S00011",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 231 |
| content-type | application/json |
{"transaction_id":"PM-S00011","type":"SALE","txn_date":"2026-10-20","store_id":"T1000","amount":"50000.00","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00011","split_pct":100,"credit":"50000.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | f47045ac-7e4d-4724-821d-d0c34191fea4 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 590 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00011","source":"LIVE","quota":"100000.00","net_credited":"50000.00","attainment_pct":"50.00","qualified":true,"bands":[{"band":"A","from_pct":"0.00","to_pct":"80.00","rate_pct":"1.00","base":"50000.00","commission":"500.00"},{"band":"B","from_pct":"80.00","to_pct":"100.00","rate_pct":"2.50","base":"0.00","commission":"0.00"},{"band":"C","from_pct":"100.00","to_pct":"150.00","rate_pct":"4.00","base":"0.00","commission":"0.00"},{"band":"D","from_pct":"150.00","to_pct":"200.00","rate_pct":"5.00","base":"0.00","commission":"0.00"}],"payout":"500.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-CAL-003 status 200 | 1 | 0 | 0 |
| TC-CAL-003 statement values | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 74999403-3832-48f2-91d6-125b7d5eff14 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 75 |
{
"seller_id": "S00012",
"name": "Calc S00012",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00012","name":"Calc S00012","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | a2170801-0a19-4b29-9a9e-e99cdf3982a2 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00012","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 7e95c69d-302d-41ad-922b-87774299ff81 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 213 |
{
"transaction_id": "PM-S00012",
"type": "SALE",
"txn_date": "2026-10-20",
"store_id": "T1000",
"amount": "100000.00",
"credits": [
{
"seller_id": "S00012",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 233 |
| content-type | application/json |
{"transaction_id":"PM-S00012","type":"SALE","txn_date":"2026-10-20","store_id":"T1000","amount":"100000.00","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00012","split_pct":100,"credit":"100000.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | fc587c01-e3f1-42e8-92a3-797fde214392 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 599 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00012","source":"LIVE","quota":"100000.00","net_credited":"100000.00","attainment_pct":"100.00","qualified":true,"bands":[{"band":"A","from_pct":"0.00","to_pct":"80.00","rate_pct":"1.00","base":"80000.00","commission":"800.00"},{"band":"B","from_pct":"80.00","to_pct":"100.00","rate_pct":"2.50","base":"20000.00","commission":"500.00"},{"band":"C","from_pct":"100.00","to_pct":"150.00","rate_pct":"4.00","base":"0.00","commission":"0.00"},{"band":"D","from_pct":"150.00","to_pct":"200.00","rate_pct":"5.00","base":"0.00","commission":"0.00"}],"payout":"1300.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-CAL-005 status 200 | 1 | 0 | 0 |
| TC-CAL-005 statement values | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 22a7e465-1091-422c-a2aa-59c3770d463d |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 75 |
{
"seller_id": "S00013",
"name": "Calc S00013",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00013","name":"Calc S00013","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | bf507ee1-71d1-44d2-816f-c2bed871b1dc |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:36 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00013","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | a663aa4d-4800-48a3-9af0-07cb96b3c430 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 213 |
{
"transaction_id": "PM-S00013",
"type": "SALE",
"txn_date": "2026-10-20",
"store_id": "T1000",
"amount": "250000.00",
"credits": [
{
"seller_id": "S00013",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 233 |
| content-type | application/json |
{"transaction_id":"PM-S00013","type":"SALE","txn_date":"2026-10-20","store_id":"T1000","amount":"250000.00","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00013","split_pct":100,"credit":"250000.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | af4662ef-3512-4503-8e56-572c5fe5b887 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 613 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00013","source":"LIVE","quota":"100000.00","net_credited":"250000.00","attainment_pct":"250.00","qualified":true,"bands":[{"band":"A","from_pct":"0.00","to_pct":"80.00","rate_pct":"1.00","base":"80000.00","commission":"800.00"},{"band":"B","from_pct":"80.00","to_pct":"100.00","rate_pct":"2.50","base":"20000.00","commission":"500.00"},{"band":"C","from_pct":"100.00","to_pct":"150.00","rate_pct":"4.00","base":"50000.00","commission":"2000.00"},{"band":"D","from_pct":"150.00","to_pct":"200.00","rate_pct":"5.00","base":"50000.00","commission":"2500.00"}],"payout":"5800.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-CAL-008 status 200 | 1 | 0 | 0 |
| TC-CAL-008 statement values | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 69afad7a-65ea-4ff0-a163-27ad2f64264c |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 75 |
{
"seller_id": "S00014",
"name": "Calc S00014",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00014","name":"Calc S00014","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 470cdfab-bfce-4b2b-9336-878922f045b5 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 26 |
{
"amount": "10000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 64 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00014","amount":"10000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 98f3e164-442f-47b6-b8ac-caae8d786676 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 211 |
{
"transaction_id": "PM-S00014",
"type": "SALE",
"txn_date": "2026-10-20",
"store_id": "T1000",
"amount": "5000.50",
"credits": [
{
"seller_id": "S00014",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 229 |
| content-type | application/json |
{"transaction_id":"PM-S00014","type":"SALE","txn_date":"2026-10-20","store_id":"T1000","amount":"5000.50","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00014","split_pct":100,"credit":"5000.50"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 73adc42a-cae1-476a-8118-d604505fe24f |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 585 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00014","source":"LIVE","quota":"10000.00","net_credited":"5000.50","attainment_pct":"50.01","qualified":true,"bands":[{"band":"A","from_pct":"0.00","to_pct":"80.00","rate_pct":"1.00","base":"5000.50","commission":"50.01"},{"band":"B","from_pct":"80.00","to_pct":"100.00","rate_pct":"2.50","base":"0.00","commission":"0.00"},{"band":"C","from_pct":"100.00","to_pct":"150.00","rate_pct":"4.00","base":"0.00","commission":"0.00"},{"band":"D","from_pct":"150.00","to_pct":"200.00","rate_pct":"5.00","base":"0.00","commission":"0.00"}],"payout":"50.01"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-CAL-010 status 200 | 1 | 0 | 0 |
| TC-CAL-010 statement values | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 05d1c131-f2a1-42aa-bfe8-9b2479d0ce31 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 75 |
{
"seller_id": "S00015",
"name": "Calc S00015",
"store_id": "T1000"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 80 |
| content-type | application/json |
{"seller_id":"S00015","name":"Calc S00015","store_id":"T1000","status":"ACTIVE"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 8d1dceac-bcff-4150-8591-86ae466803f8 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 27 |
{
"amount": "100000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 65 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00015","amount":"100000.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | a3d35de4-beaf-4f54-b891-764f6d43d3ce |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 213 |
{
"transaction_id": "PM-S00015",
"type": "SALE",
"txn_date": "2026-10-20",
"store_id": "T1000",
"amount": "150000.00",
"credits": [
{
"seller_id": "S00015",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 233 |
| content-type | application/json |
{"transaction_id":"PM-S00015","type":"SALE","txn_date":"2026-10-20","store_id":"T1000","amount":"150000.00","original_transaction_id":null,"period_id":"2026-10","credits":[{"seller_id":"S00015","split_pct":100,"credit":"150000.00"}]}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Setup status 201 | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | a3e7320f-542a-4795-9947-21c47f70d77a |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 606 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00015","source":"LIVE","quota":"100000.00","net_credited":"150000.00","attainment_pct":"150.00","qualified":true,"bands":[{"band":"A","from_pct":"0.00","to_pct":"80.00","rate_pct":"1.00","base":"80000.00","commission":"800.00"},{"band":"B","from_pct":"80.00","to_pct":"100.00","rate_pct":"2.50","base":"20000.00","commission":"500.00"},{"band":"C","from_pct":"100.00","to_pct":"150.00","rate_pct":"4.00","base":"50000.00","commission":"2000.00"},{"band":"D","from_pct":"150.00","to_pct":"200.00","rate_pct":"5.00","base":"0.00","commission":"0.00"}],"payout":"3300.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-CAL-012 status 200 | 1 | 0 | 0 |
| TC-CAL-012 statement values | 1 | 0 | 0 |
| TC-CAL-012 band breakdown | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 6ea9ae62-177e-4d67-81a2-5d9bdbe21073 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 491 |
{
"transactions": [
{
"transaction_id": "PM-IMP-1",
"type": "SALE",
"txn_date": "2026-10-21",
"store_id": "T1000",
"amount": "300.00",
"credits": [
{
"seller_id": "S00001",
"split_pct": 100
}
]
},
{
"transaction_id": "PM-IMP-2",
"type": "RETURN",
"txn_date": "2026-10-22",
"store_id": "T1000",
"amount": "100.00",
"original_transaction_id": "PM-IMP-1"
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 48 |
| content-type | application/json |
{"imported":2,"sales":1,"returns":1,"credits":2}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| TC-IMP-001 status 201 | 1 | 0 | 0 |
| TC-IMP-001 counts | 1 | 0 | 0 |
| Total | 3 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | f806e20e-267f-498a-9843-113ab6830abe |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 552 |
{
"transactions": [
{
"transaction_id": "PM-IMP-3",
"type": "SALE",
"txn_date": "2026-10-21",
"store_id": "T1000",
"amount": "100.00",
"credits": [
{
"seller_id": "S00001",
"split_pct": 100
}
]
},
{
"transaction_id": "PM-IMP-4",
"type": "SALE",
"txn_date": "2026-10-21",
"store_id": "T1000",
"amount": "100.00",
"credits": [
{
"seller_id": "S99999",
"split_pct": 100
}
]
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 201 |
| content-type | application/json |
{"error":{"code":"IMPORT_REJECTED","message":"1 row(s) failed; nothing was imported","details":[{"row":1,"transaction_id":"PM-IMP-4","code":"UNKNOWN_SELLER","message":"Seller S99999 does not exist"}]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-IMP-002 status 422 | 1 | 0 | 0 |
| TC-IMP-002 error code IMPORT_REJECTED | 1 | 0 | 0 |
| TC-IMP-002 reports row 1 UNKNOWN_SELLER | 1 | 0 | 0 |
| Total | 5 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 1369f095-6887-4fa4-8873-112ff2f623a8 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
"pm.test(\"TC-IMP-002 status 404\", function () { pm.response.to.have.status(404); });\npm.test(\"TC-IMP-002 error code TRANSACTION_NOT_FOUND\", function () {\n pm.expect(pm.response.json().error.code).to.eql(\"TRANSACTION_NOT_FOUND\");\n});\n"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 103 |
| content-type | application/json |
{"error":{"code":"TRANSACTION_NOT_FOUND","message":"Transaction PM-IMP-3 does not exist","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | f0899135-1fc9-4820-b9f6-162f17f7c162 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 245 |
"pm.test(\"TC-CLS-003 status 409\", function () { pm.response.to.have.status(409); });\npm.test(\"TC-CLS-003 error code PREVIOUS_PERIOD_OPEN\", function () {\n pm.expect(pm.response.json().error.code).to.eql(\"PREVIOUS_PERIOD_OPEN\");\n});\n"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 86 |
| content-type | application/json |
{"error":{"code":"PREVIOUS_PERIOD_OPEN","message":"Close 2026-10 first","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 27f5f945-4088-4503-a644-c64cc45eb5a0 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 350 |
"pm.test(\"TC-CLS-001 status 200\", function () { pm.response.to.have.status(200); });\n\npm.test(\"TC-CLS-001 close summary\", function () {\n const j = pm.response.json();\n pm.expect(j.status).to.eql(\"CLOSED\");\n pm.collectionVariables.set(\"octTotal\", j.total_payout);\n pm.collectionVariables.set(\"octSellers\", j.sellers);\n});"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 79 |
| content-type | application/json |
{"period_id":"2026-10","status":"CLOSED","sellers":8,"total_payout":"10950.01"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Total | 1 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 3c1dfa70-e431-4461-9c37-92dcb13977c3 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
"pm.test(\"TC-CLS-001 status 200\", function () { pm.response.to.have.status(200); });\n\npm.test(\"TC-CLS-001 rows and total agree with the close response\", function () {\n const rows = pm.response.json();\n let cents = 0;\n rows.forEach(function (r) { cents += Math.round(parseFloat(r.payout) * 100); });\n pm.expect(rows.length).to.eql(Number(pm.collectionVariables.get(\"octSellers\")));\n pm.expect((cents / 100).toFixed(2)).to.eql(pm.collectionVariables.get(\"octTotal\"));\n});"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 1034 |
| content-type | application/json |
[{"seller_id":"S00001","quota":"100000.00","net_credited":"14350.51","attainment_pct":"14.35","qualified":false,"payout":"0.00"},{"seller_id":"S00002","quota":"100000.00","net_credited":"5450.00","attainment_pct":"5.45","qualified":false,"payout":"0.00"},{"seller_id":"S00010","quota":"100000.00","net_credited":"49995.00","attainment_pct":"50.00","qualified":false,"payout":"0.00"},{"seller_id":"S00011","quota":"100000.00","net_credited":"50000.00","attainment_pct":"50.00","qualified":true,"payout":"500.00"},{"seller_id":"S00012","quota":"100000.00","net_credited":"100000.00","attainment_pct":"100.00","qualified":true,"payout":"1300.00"},{"seller_id":"S00013","quota":"100000.00","net_credited":"250000.00","attainment_pct":"250.00","qualified":true,"payout":"5800.00"},{"seller_id":"S00014","quota":"10000.00","net_credited":"5000.50","attainment_pct":"50.01","qualified":true,"payout":"50.01"},{"seller_id":"S00015","quota":"100000.00","net_credited":"150000.00","attainment_pct":"150.00","qualified":true,"payout":"3300.00"}]
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Total | 1 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | cd5c542a-5a17-4d61-92a3-a583e516c35c |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 247 |
"pm.test(\"TC-CLS-002 status 409\", function () { pm.response.to.have.status(409); });\npm.test(\"TC-CLS-002 error code PERIOD_ALREADY_CLOSED\", function () {\n pm.expect(pm.response.json().error.code).to.eql(\"PERIOD_ALREADY_CLOSED\");\n});\n"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 100 |
| content-type | application/json |
{"error":{"code":"PERIOD_ALREADY_CLOSED","message":"Period 2026-10 is already closed","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| Total | 2 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | efdb9d8a-1b23-45fe-b7b5-48563dfdfd75 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
"pm.test(\"TC-CLS-007 status 200\", function () { pm.response.to.have.status(200); });\n\npm.test(\"TC-CLS-007 source CLOSED and same payout\", function () {\n const s = pm.response.json();\n pm.expect(s.source).to.eql(\"CLOSED\");\n pm.expect(s.payout).to.eql(\"500.00\");\n});"
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 592 |
| content-type | application/json |
{"period_id":"2026-10","seller_id":"S00011","source":"CLOSED","quota":"100000.00","net_credited":"50000.00","attainment_pct":"50.00","qualified":true,"bands":[{"band":"A","from_pct":"0.00","to_pct":"80.00","rate_pct":"1.00","base":"50000.00","commission":"500.00"},{"band":"B","from_pct":"80.00","to_pct":"100.00","rate_pct":"2.50","base":"0.00","commission":"0.00"},{"band":"C","from_pct":"100.00","to_pct":"150.00","rate_pct":"4.00","base":"0.00","commission":"0.00"},{"band":"D","from_pct":"150.00","to_pct":"200.00","rate_pct":"5.00","base":"0.00","commission":"0.00"}],"payout":"500.00"}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Response time under 2 s | 1 | 0 | 0 |
| Total | 1 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 85f1b0f2-a63d-4461-9cd2-ee3c5a21002d |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 208 |
{
"transaction_id": "PM-LATE",
"type": "SALE",
"txn_date": "2026-10-31",
"store_id": "T1000",
"amount": "100.00",
"credits": [
{
"seller_id": "S00001",
"split_pct": 100
}
]
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 84 |
| content-type | application/json |
{"error":{"code":"PERIOD_CLOSED","message":"Period 2026-10 is closed","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-TXN-015 status 409 | 1 | 0 | 0 |
| TC-TXN-015 error code PERIOD_CLOSED | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | c5f8fab7-c770-4095-9673-205a05f80a47 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 171 |
{
"transaction_id": "PM-LATE-RET",
"type": "RETURN",
"txn_date": "2026-10-31",
"store_id": "T1000",
"amount": "10.00",
"original_transaction_id": "PM-SALE-2"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 84 |
| content-type | application/json |
{"error":{"code":"PERIOD_CLOSED","message":"Period 2026-10 is closed","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-CLS-006 status 409 | 1 | 0 | 0 |
| TC-CLS-006 error code PERIOD_CLOSED | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|
| Header Name | Header Value |
|---|---|
| Content-Type | application/json |
| User-Agent | PostmanRuntime/7.39.1 |
| Accept | */* |
| Cache-Control | no-cache |
| Postman-Token | 274482cc-2c32-4a66-953a-158c36176086 |
| Host | localhost:8022 |
| Accept-Encoding | gzip, deflate, br |
| Connection | keep-alive |
| Content-Length | 25 |
{
"amount": "5000.00"
}
| Header Name | Header Value |
|---|---|
| date | Fri, 09 Oct 2026 00:35:37 GMT |
| server | uvicorn |
| content-length | 84 |
| content-type | application/json |
{"error":{"code":"PERIOD_CLOSED","message":"Period 2026-10 is closed","details":[]}}
| Name | Passed | Failed | Skipped |
|---|---|---|---|
| Error body follows the REQ-API-01 envelope | 1 | 0 | 0 |
| Response time under 2 s | 1 | 0 | 0 |
| TC-QTA-004 status 409 | 1 | 0 | 0 |
| TC-QTA-004 error code PERIOD_CLOSED | 1 | 0 | 0 |
| Total | 4 | 0 | 0 |
| Test Name | Assertion Error |
|---|