page.merchants.integration

page.merchants.merchant

page.merchants.createOrder

page.merchants.useMethod public/exchanger/order/create

page.merchants.name page.merchants.description page.merchants.type
routeId page.merchants.idRoute ObjectID
partner page.merchants.linkPartner STRING
amount page.merchants.amount FLOAT
fromValues[0][key] page.merchants.key ObjectID
fromValues[0][value] page.merchants.value STRING
toValues[0][key] page.merchants.key STRING
toValues[0][value] page.merchants.value STRING
routeValues[0][key] page.merchants.key ObjectID
routeValues[0][value] page.merchants.value STRING
lang page.merchants.lang STRING
agreement page.merchants.agreement BOOLEAN
hideOutData page.merchants.hideOutData BOOLEAN
clientCallbackUrl page.merchants.clientCallbackUrl ?status=success page.merchants.or ?status=error STRING
ipnUrl page.merchants.paymentNotificationURL (page.merchants.ipnUrl1) STRING
ipnSecret page.merchants.ipnSecret STRING

page.merchants.doc

IPN (page.merchants.notify)

page.merchants.titleNotifyIpn

  • clientCallbackUrl - page.merchants.clientCallbackUrl
  • hideOutData - page.merchants.hideOutData1
  • ipnUrl - page.merchants.ipnUrl
  • ipnSecret - page.merchants.ipnSecret1
  1. page.merchants.subTitleIpn1
  2. page.merchants.subTitleIpn2
  3. page.merchants.subTitleIpn3

page.merchants.exampleIpn

  • POST
  • ['Content-Type'] = 'application/x-www-form-urlencoded'


  • orderUID :Number() - page.merchants.order uid
  • orderId :String(ObjectId) -page.merchants.order id
  • newStatus :String() - page.merchants.order page.merchants.currentStatus
  • inAmount :String(number) - order in sum
  • outAmount :String(number) - order out sum
  • xml_from :String() - page.merchants.order uid
  • xml_to :String() - page.merchants.order uid
  • timestamp :Number() - page.merchants.timestamp
  • toValues :Array([{key,name,value}]) - page.merchants.toValues

page.merchants.statusesList

  • new - page.merchants.new
  • waitPayment - page.merchants.waitPayment
  • errorPayment - page.merchants.errorPayment
  • inProgress - page.merchants.inProgress
  • inProgressPayout - page.merchants.inProgressPayout
  • errorPayout - page.merchants.errorPayout
  • hold - page.merchants.hold
  • done - page.merchants.done
  • returned - page.merchants.returned
  • deleted - page.merchants.deleted

page.merchants.verification

sha256(orderId:newStatus:inAmount:outAmount:xml_from:xml_to:timestamp:ipnSecret)

        
const stringForHash = orderId+":"+newStatus+":"+inAmount+":"+outAmount+":"+xml_from+":"+xml_to+":"+timestamp+":"+ipnSecret;
// example string for hash 5d8e6002b80b7b4cd75a6424:inProgress:2:317.42:ETH:WMZ:1571328406072:SECRET123

const hash = crypto.createHash('sha256').update(stringForHash).digest('hex')
// example hash af3acf947e6f0e0f2c267e300b8582e504dba12d1f2d058652b7414163c09f48
        
      

page.merchants.paymentControl

  1. page.merchants.paymentControlTitle
  2. page.merchants.paymentControlTitle1

page.merchants.payment

  1. page.merchants.paymentTitle

    // schema
    https://icon.finance/user-lang/payment/order-uid/order-secret
    // example result
    https://icon.finance/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb
  2. page.merchants.paymentTitle1
  3. page.merchants.paymentTitle2