# 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