# Asynchronous notify

When the payment finish successfully, IOTPay API server will send message to notifyUrl so merchant can update inner order status and do some processing.

# notifyUrl

Merchant pass notifyUrl to IOTPay API server via create order API. Make sure this notifyUrl can be accessed.

# notify parameters

field type sample description
payOrderId String(30) P20160427210604000490 order id assigned by third party payment system
mchId String(30) 20001222 merchant id assigned by IOTPay
mchOrderNo String(30) 20160427210604000490 order id assigned by merchant
channelId String(24) WX_JSAPI see more channels
currency String(3) CAD 3 letter representation for currency,eg:CAD
amount int 100 payment amount in cents,eg. $28.65 is 2865
status int 2 payment status, currently only return 2 for success
clientIp String(32) 210.73.10.148 client ip
device String(64) WEB device id or WEB)
subject String(64) product title
body String(256) product description
channelOrderNo String(64) wx2016081611532915ae15beab0167893571 third party channel order number
param1 String(64) if channelId = WX_JSAPI,will be "mchOrderId"
param2 String(64) return original value
paySuccTime long payment success time in ms
backType int 1 notify type,1-frontend,need to support redirect; 2-backend,only notify
sign String(32) C380BEC2BFD727A4B6845133519F3AD6 signature

# return result

When merchant backend get notify, just return string success. After getting success IOTPay API server will no longer send notify messages, or else will keep notify periodically for several times.

# Polling order status

For some merchant without backend system, eg. some pos machine, no notifyUrl can be used. Merchant can get order status by polling.
Query order status

Last Updated: 11/25/2020, 2:00:25 PM