PX GPRS Message Specification
Message Format
All messages are printable ASCII (ascii hex value 0x30 thru 0x7f inclusive) with the exception of the delimitor.
DeviceId is present for every message from Device.
It has following format:
XXXXnnnn-CC The 1st field immediately following the # indicates the message type following. Device should not assume that the number of data field is fixed. For a given message (eg: Auth), additional fields can be added to extend payload of the message for newer device software revisions, but earlier device revisions should be able to handle newer revision messages, just ignoring the additional fields. Time Zones/ LocaleNZ = New ZealandFJ = Fiji AE = Queensland (AEST) AU = New South Wales (AEDT) WA = Western Australia Time (AWDT) AW = Western Australia Time (AWDT) AC = Southern Territories (ACDT) SA = Southern Territories (ACDT) NT = Nothern Territories (ACST) Hello MessageMay be sent as often as required by the device. PaymentExpress will respond without delay echoing the TxnRef value and providing the current time including day of week. The DeviceId supplied by the meter is used to determine the timezone and the time supplied is set to the correct timezone for the meter. Request~H~DeviceId~TxnRef~SwVersion~ConfigChecksum<CR> Swversion is version of software in device. Max 16 characters alphanumeric, case sensitive. Configchecksum is checksum of current XML config for meter. This checksum will be used by the host to determine if a new config needs to be downloaded.
Response
TimeStamp is day of week yyyy mm dd hh mm ss NewSwVersion is non blank if a new software release is available for download. ConfigReady is 1 if a new config is available for download, 0 if config is current. Credit Card ProcessingThe meter should authorize a transaction for the maximum amount to be charged or the exact amount to be charged (if known when the authorisation is submitted. An approved authorisation responds with a DpxTxnRef which may be used by a subsequent Completion to force the card to be charged. If, after successful authorisation, a ticket cannot be supplied perhaps due to hardware malfunction, the completion is simply not sunbmitted and the temporary lock on cardholder funds for the auth amount is released after a few days with no charge being apparent to the cardholder. Authorize a Card TransactionRequest (From Device) Response (From PaymentExpress) #a~TxnRef~Success~DpsTxnRef~ReCo~ResponseText~AuthCode<CR> Complete a transaction:Request (From Device)
The DpsTxnRef used to complete the transaction is the same DpsTxnRef as received by the device in response to an authorisation. If no response is received, the transaction should be repeated with identical data until a positive response is received. PaymentExpress will ensure no duplicate transaction is created based on DpsTxnref.
Response (From PaymentExpress)
SMS Payment ProcessingVery similar to credit card payment set. Use "S" command instead of Authorize. If user cancels or meter determes other reason for cancellation, meter should not send the completion. To apply the charge (after receipt printed etc), device sends completion in same manner as for credit card. Initiate a SMS Payment TransactionRequest (From Device) Response (From PaymentExpress) Suggested Timeout is as recommended by Telecommunications provider. Cancel a SMS Payment TransactionRequest (From Device) Response (From PaymentExpress) The cancel transaction can be used to abort an in progress SMS Payment Authorisation. It will be immediately responded to by the Payment Express. If a SMS Payment Authorisation was in progress, the Cancel response ("x") will be followed by a declined payment authorisation ("s"). Cash Payment ProcessingVery similar to credit card payment set. Use "D" command instead of Authorize. If user cancels or meter determes other reason for cancellation, meter should not send the completion. To apply the charge (after receiot printed etc), meter sends completion in same manner as for credit card. Record a Cash Payment ~D~DeviceId~TxnRef~Account~Amount~merref<CR> Response (From PaymentExpress)
#d~TxnRef~Success<CR>
Event LoggingSend an Event (eg cash bag clear or printer fault etc) to central systems ~L~DeviceId~TxnRef~EventId~EventData~EventLevel<CR> Response (From PaymentExpress) #l~TxnRef~Success<CR>
Success: 1 Accepted Software and Config DownloadUsed to retrive configuration or to initiate a software download to the device Get Config ~J~DeviceId~TxnRef<CR> Response (From PaymentExpress) #j~TxnRef~Success~<xml>configdata...</xml><CR> Success: 1 Accepted PropertiesAuthCode (Max 6 characters)
Max 6 character Acquirer supplied Authorisation Code for printing on receipt.
Account (Max 4 characters)
Reserved for future use - may be used by the device to select a range of financial accounts. Currently empty.
Amount (Max 13 characters)
Total amount. Format is d.cc where d is
dollar amount (no currency indicator) and cc is cents amount. For example,
$1.80 (one dollar and eighty cents) is represented as "1.80", not
"1.8". A string value is used rather than the conventional Currency
Datatype to allow for easy integration with Web applications. The currently
Maximum value allowable is $99,999.99. Note that acquirer or card limits may be
lower than this amount.
Currency (Max 3 characters)
ISO currency code - NZD, AUD, FJD, USD etc.
DpsTxnRef (Max 16 characters)
Payment Express transaction Reference (16 character alphanumeric). Device should store and send with any subsequent
Completion message to allow PaymentExpress to generate correct completion information.
MerchantReference (Max 64 characters)
Transaction Reference. May be blank nor may contain a receipt or transaction reference
(appears in merchant reference feild on reports. If left blank, TxnRef value is used for reports.
Reco (Max 2 characters)
2 character alphanumeric response. The client application should not interpret the Response Code property contents
- it is provided as informational only. The Success property determines if the the transaction was successful or not.
ResponseText (output) Datatype: BSTR Max 20 characters
Max 20 character result receipt text for receipt printing (eg: DECLINED, INSUFFICENT FUNDS etc). The Response Text is associated with ResponseCode.
Success (Max 1 character)
Indicates success or failure of the transaction.
A value of 0 indicates the transaction was declined or there was an error.
A value of 1 indicates the transaction was approved.
Optional, but desirable, : Contents of track1 excluding start sentinel and end sentinel Contents of track2 excluding start sentinel and end sentinel TxnRef (Max 16 characters)
1-16 character alphanumeric transaction reference. Generated by Device. Payment Express will respond with the same TxnRef.
Should be unique for outstanding/unconfirmed messages. Suggest counter from 1-999999, reverting to 1 when 999999 is reached.
|