Comerciante
Utilice el método public/exchanger/order/create
| Nombre | Descripción | Tipo |
| routeId | id de la dirección | ObjectID |
| partner | código del socio | STRING |
| amount | importe | FLOAT |
| fromValues[0][key] | clave del campo | ObjectID |
| fromValues[0][value] | valor del campo | STRING |
| toValues[0][key] | clave del campo | STRING |
| toValues[0][value] | valor del campo | STRING |
| routeValues[0][key] | clave del campo | ObjectID |
| routeValues[0][value] | valor del campo | STRING |
| lang | idioma (ru, ing) | STRING |
| agreement | acuerdo | BOOLEAN |
| hideOutData | ocultar los datos bancarios | BOOLEAN |
| clientCallbackUrl | llamada de vuelta, una vez finalizada la aplicación, el cliente verá el botón de volver al sitio web y será redirigido a este url ?status=success o para ?status=error | STRING |
| ipnUrl | Dirección URL de la notificación sobre el pago instantáneo (será llamado cuando se cambie el estado de la solicitud) | STRING |
| ipnSecret | línea para crear un hash seguro en ipn url | STRING |
Puede encontrar la documentación del sistema de autorización en su perfil. Puede encontrar más información sobre el trabajo con métodos y datos extra en
Para recibir la notificación sobre el cambio del estado de la solicitud, a la hora de crearla, tiene que enviar unos parámetros adicionales:
clientCallbackUrl - llamada de vuelta, una vez finalizada la aplicación, el cliente verá el botón de volver al sitio web y será redirigido a este url
hideOutData - ocultar los datos del receptoripnUrl - Enlace HTTP / HTTPS para notificar su servidor.ipnSecret - Línea aleatoria para crear la firma de la solicitud (para mantener la integridad de la solicitud)
orderUID :Number() - solicitud uidorderId :String(ObjectId) -solicitud idnewStatus :String() - solicitud estado actual
inAmount :String(number) - order in sumoutAmount :String(number) - order out sumxml_from :String() - solicitud uidxml_to :String() - solicitud uidtimestamp :Number() - tiempo de unix y notificaciones de ipntoValues :Array([{key,name,value}]) - datos bancarios de la solicitudnew - solicitud nuevawaitPayment - estamos esperando el pago del usuarioerrorPayment - error del pago del usuario (error de envío del vendedor)inProgress - en proceso (se espera el procesamiento por el administrador o el pago de la solicitud)inProgressPayout - en cola para pagar (pago aceptado correctamente) (si está configurado el pago automático en moneda extranjera, será inicializado
errorPayout - error de pago (error producido a la hora de pagar)hold - solicitud congelada (problemas con la aplicación)done - solicitud pagada correctamentereturned - la solicitud fue pagada, pero no todas las condiciones del cambio y métodos de devolución del remitente fueron cumplidos
deleted - solicitud eliminada (cancelada)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