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.).