Merchant docs
Use method public/exchanger/order/create
| Name | Description | Type |
| routeId | id route | ObjectID |
| partner | link partner | STRING |
| amount | amount in | FLOAT |
| fromValues[0][key] | key name | ObjectID |
| fromValues[0][value] | value for this field | STRING |
| toValues[0][key] | key name | STRING |
| toValues[0][value] | value for this field | STRING |
| routeValues[0][key] | key name | ObjectID |
| routeValues[0][value] | value for this field | STRING |
| lang | lang client (ru,en) | STRING |
| agreement | agreement | BOOLEAN |
| hideOutData | secure out requisites | BOOLEAN |
| clientCallbackUrl | a callback when the application is completed the client will see a button for return back to the site and the client will be directed to this URL ?status=success or ?status=error | STRING |
| ipnUrl | instant payment notification url (will be called when the order has changed status) | STRING |
| ipnSecret | string for create secure hash in ipn url | STRING |
You can find the documentation for the authorization system in your personal cabinet. More about working with methods and additional data can be found on the
In order to receive a notification of order status change when creating an order, you need to send additional parameters:
clientCallbackUrl - a callback when the application is completed the client will see a button for return back to the site and the client will be directed to this URL
hideOutData - hide the recipient's detailsipnUrl - HTTP/HTTPS link to notify your server.ipnSecret - Random string for creating a request signature (for maintaining request integrity)
orderUID :Number() - order uidorderId :String(ObjectId) -order idnewStatus :String() - order current status
inAmount :String(number) - order in sumoutAmount :String(number) - order out sumxml_from :String() - order uidxml_to :String() - order uidtimestamp :Number() - unix time ipn notifytoValues :Array([{key,name,value}]) - order requisitesnew - new orderwaitPayment - wait user paymenterrorPayment - error user payment (merchant send error)inProgress - in progress (expects admin or payment of the application)inProgressPayout - in line for payment (payment accepted successfully) (if configured in currency auto payment it will be initialized)
errorPayout - payment error (error occurred during payment)hold - frozen (problems with the application)done - order completed successfullyreturned - the order was paid but not all exchange conditions were fulfilled and the means of return to the sender
deleted - order deleted (canceled)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
// schema
https://www.payexchanger.com/user-lang/payment/order-uid/order-secret
// example result
https://www.payexchanger.com/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb