Callback/Webhook Reference
For PUSH mode, SIHOT.PAYENGINE calls your applicationโs webhooks after each transaction. Each endpoint must accept a JSON payload (see below) and return a JSON response.
/paymentCommit [POST]
Request Fields
Field
Type
Required
Description
cardInfoRefID
string
Yes
Reference from initpayNoIframe
requestID
string
Yes
Payment request ID
returnCode
string
Yes
Should be "0"
securityID
string
Yes
Security token or "dummy"
amount
string
Yes
Amount in smalles unit
cardNumber
string
Yes
Masked card number
cardTypeCode
string
Yes
Provider card type (see appendix)
currency
string
Yes
3-letter ISO code
description
string
No
Optional description
emvTerminal
string
No
EMV terminal ID if applicable
receipt
string
No
Terminal receipt (if provided)
receiptCardHolder
string
No
Receipt for cardholder
token
string
No
Card token
tokenValidUntil
string
No
Token expiry
transactionID
string
Yes
Transaction reference
serviceProvider
string
Yes
Provider used
amountSurcharge
string
No
Required if surcharge was applied
amountTip
string
No
Required if a tip amount has been added
surchargeApplied
boolean
No
If not set it defaults to false
surchargePercentUsed
decimal
No
Required if surcharge was applied.
Example Request
๐ {
"cardInfoRefID": "pay-ref-123",
"requestID": "c0a802bb-81ca-12b8-8181-cae2ea2c0000",
"returnCode": "0",
"securityID": "dummy",
"amount": 2000,
"cardNumber": "XXXXXXXXXXXX0045",
"cardTypeCode": "VISA",
"currency": "EUR",
"description": "Online payment",
"transactionID": "TID_001",
"serviceProvider": "spayengine",
"surchargeApplied": false
}
Response Fields
Field
Type
Description
returnCode
string
"0" for success
returnText
string
Message (usually empty)
paymentObjID
string
PMS payment reference
Example Response
๐ {
"returnCode": "0",
"returnText": "",
"paymentObjID": "1234"
}
/paymentAbort [POST]
Request Fields
Field
Type
Required
Description
cardInfoRefID
string
Yes
Reference from initpayNoIframe
requestID
string
Yes
Payment request ID
returnCode
string
Yes
Non-"0" (indicates abort)
returnText
string
No
Abort message
securityID
string
Yes
Security token or "dummy"
serviceProvider
string
Yes
Provider name
returnCodeSP
string
No
Provider-specific code
returnTextSP
string
No
Provider-specific message
Example Request
๐ {
"cardInfoRefID": "pay-ref-123",
"requestID": "c0a802bb-81ca-12b8-8181-cae2ea2c0000",
"returnCode": "4",
"returnText": "Insufficient funds",
"securityID": "dummy",
"serviceProvider": "spayengine",
"returnCodeSP": "ERROR",
"returnTextSP": "Declined by provider"
}
Response Fields
Field
Type
Description
returnCode
string
"0" for success
returnText
string
Message (usually empty)
Example Response
๐ {
"returnCode": "0",
"returnText": ""
}
/authorizationCommit [POST]
Used for pre-authorization flows.
Field structure similar to /paymentCommit.
See webservices.md for all request/response fields.
/createTokenCommit [POST]
Field
Type
Required
Description
cardInfoRefID
string
Yes
Reference from initCreateTokenNoIframe
requestID
string
Yes
Request ID
returnCode
string
Yes
Should be "0"
securityID
string
Yes
Security token or "dummy"
cardNumber
string
Yes
Masked card number
cardText
string
No
Cardholder name
cardTypeCode
string
Yes
Card type code
currency
string
Yes
3-letter ISO code
description
string
No
Optional description
emvTerminal
string
No
Terminal ID if applicable
token
string
Yes
Card token
tokenValidUntil
string
Yes
Token expiry
transactionID
string
Yes
Transaction reference
serviceProvider
string
Yes
Provider used
tokenRefID
string
No
Additional token reference
Example Request
๐ {
"card" : "XXXXXXXXXXXX4242",
"InfoRefID": "2271",
"requestID": "c0a802bb-81ca-12b8-8181-cae2ea2c0000",
"returnCode": "0",
"securityID": "dummy",
"serviceProvider": "spayengine",
"cardNumber": "XXXXXXXXXXXX0045",
"cardTypeCode": "MASTERCARD",
"token": "5978253153770450",
"tokenValidUntil": "2025-12-31",
"transactionID": "000020646964"
}
Response
๐ {
"returnCode": "0",
"returnText": ""
}
/createTokenAbort [POST]
Same as /paymentAbort but for tokenization aborts.
Notes
Refer to Appendix for lookup tables (card types, codes, etc.).