Guides

Send Receipt

Requests to this API should only be made when a temporary value is used as the x_pos_transaction_ref in calls to ProcessAuthorisation. Humm will store the specified x_receipt_number, which it will use for transaction reconciliation in any future requests to ProcessSalesAdjustment.

Method: SendReceipt

Receipt

ParameterTypeLengthDescription
x_pos_transaction_refUnicode string64This must be the same reference used in ProcessAuthorisation request.
x_merchant_idUnicode string10Merchant identifier as defined by humm
x_device_idUnicode string64Unique device identifier for the POS terminal
x_operator_idUnicode string64ID of POS/terminal operator
x_firmware_versionUnicode string64Current firmware version of POS device
x_receipt_numberUnicode string64This must be the same reference (x_pos_transaction_ref) that would get passed through on future ProcessSalesAdjustment requests
tracking_data optionalAssociative arrayMax 1000000A map that can be populated with additional tracking/state information that will get passed back in the response
signatureHex string case-insensitive200Payload that is signed using HMAC-SHA256 using a device specific key

Response

ParameterTypeDescription
x_statusUnicode stringSuccess/Failure/Error
x_codeUnicode stringA code that maps to a specific reason
x_messageUnicode stringA string explaining the status/code above.
tracking_dataAssociative arrayEchoes tracking_data sent on the request
signatureHex string case-insensitivePayload 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_receipt_numberResponse -> x_statusResponse -> x_code
01######SuccessSSER01
10######FailedFSER01
11######FailedFSER02
30######ErrorEVAL01
31######ErrorEAUT01
any other valueErrorEISE01

📘

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.