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 HMAC-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

ParameterData typeDescription

neo_MerchantCode

String

The merchant code is provided by NeoX.

neo_Currency

String

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_PayToken

String

Using for Tokenization service

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

ParameterData typeDescription

neo_TransAmount

number

Transaction amount (partial payment).

neo_ExtData

Object

Extra data of transaction.

Merchant response

ParameterData typeDescription

respcode

Number

  • 0: Successful, merchant received IPN.

  • 1: Failed, NeoX will retry the IPN.

respmsg

String

Error message. Default is “received

Last updated