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