Process Sales Adjustment
This endpoint is used to process a Sales Adjustment at the point-of-sale. See Sales Adjustment for more information.
Method: ProcessSalesAdjustment
Request
Parameter | Type | length | Description |
---|---|---|---|
x_pos_transaction_ref | Unicode string | 64 | This is the transaction reference of the sales adjustment |
x_purchase_ref | Unicode string | 64 | The original transaction reference. |
x_merchant_id | Unicode string | 10 | Merchant identifier as defined by humm |
x_amount | int | 12 | Requested adjustment amount (in cents) |
x_device_id | Unicode string | 64 | Unique device identifier for the POS terminal |
x_operator_id | Unicode string | 64 | ID of POS/terminal operator |
x_firmware_version | Unicode string | 64 | Current firmware version of POS device |
tracking_data | Associative array | Max 1000000 | A map that can be populated with additional tracking/state information that will get passed back in the response |
signature | Hex string case-insensitive | 200 | Payload that is signed using HMAC-SHA256 using a device specific key |
Response
Parameter | Type | Description |
---|---|---|
x_status | Unicode string | Success/Failure/Error |
x_code | Unicode string | A code that maps to a specific reason |
x_message | Unicode string | A string explaining the status/code above. Example: For an Error: Reason why the adjustment cannot be done |
tracking_data | Associative array | Echoes tracking_data sent on the request |
signature | Hex string case-insensitive | Payload that is signed using HMAC-SHA256 using a device specific key |
Testing
The following describes dummy API requests that return a predictable response. Please contact [email protected] to get access to the test/dummy APIs.
Request -> x_amount | Response -> x_status | Response -> x_code |
---|---|---|
## 01 | Success | SPSA01 |
## 10 | Failed | FPSA01 |
## 11 | Failed | FPSA02 |
## 12 | Failed | FPSA03 |
## 13 | Failed | FPSA04 |
## 14 | Failed | FPSA05 |
## 15 | Failed | FPSA06 |
## 16 | Failed | FPSA07 |
## 17 | Failed | FPSA08 |
## 18 | Failed | FPSA09 |
## 30 | Error | EVAL01 |
## 31 | Error | EAUT01 |
any other value | Error | EISE01 |
Info
"#" signifies an alphanumeric digit
Testing Assumptions To generate the signature, use a device-signing-key of "1234567890". A invalid signature will cause an ESIG01 Error.
Updated 22 days ago