IPN
Instant Payment Notification
Merchant can get payment result via IPN (Instant Payment Notification).
Merchant needs to build a RESTful API to receive data from NeoX after the transaction is completed. This API must be registered to NeoX before the payment is made
Method: POST
Data refer to NeoX's IPN data.
Merchant has to respond to NeoX following the structure merchant response when receiving IPN.
Process Flow
How to verify the IPN

How to validate neo_SecureHash
Format: hex string, 64 characters, uppercase
Using cryptographic hash function SHA256
How to build
Input is all parameters on PaymentURL or ReturnURL.
Only use parameters that start with prefix neo_.
String must be sorted in alphabetical order base on parameter name.
NeoX will provide a Secret Key to merchant to hash.
IPN verification
Merchant needs to build a hashed string follow above guide and compare to received neo_SecureHash parameter
NeoX's IPN data
neo_MerchantCode
String
The merchant code is provided by NeoX.
neo_Locale
String
The language will use on payment page, support: “vi”, “en".
neo_Version
String
Payment gateway version, “1” as default
neo_Command
String
"PAY" as default.
neo_Amount
Number
Order amount.
neo_MerchantTxnID
String
Transaction ID is provided by merchant, it must be unique on merchant’s system and on each request, accept only characters, numerics and list of symbols: “-”, “_”.
neo_OrderID
String
Order ID of the transaction, only accept characters, numerics and list of symbols: “-”, “_”.
neo_OrderInfo
String
Order information, max length 256
neo_TransactionID
String
Unique - Transaction ID is generated by NeoX.
neo_ResponseCode
Number
Result of transaction: 0: transaction success != 0: transaction failed, refer to table of error code
neo_ResponseMsg
String
Error description.
neo_SecureHash
String
Use SHA256 to hash the above parameters (sort the key by Alphabet order) + Secret Key (is provided by NeoX after actual integrating).
Some fields in IPN data but not using to create neo_SecureHash
neo_TransAmount
number
Transaction amount (partial payment).
neo_ExtData
Object
Extra data of transaction.
Merchant response
respcode
Number
0: Successful, merchant received IPN.
1: Failed, NeoX will retry the IPN.
respmsg
String
Error message. Default is “received”
Last updated
Was this helpful?