Integración con su servidor
Comerciante
Crear una solicitud
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
IPN (Notificación sobre el cambio del estado de la solicitud de pago)
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 urlhideOutData- 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)
- La solicitud será enviada por el método POST
- IPN será enviado una vez
- No se garantiza el suministro de IPN (si el servidor no ha respondido a la solicitud, no será enviada de nuevo)
Ejemplo de IPN
- POST
- ['Content-Type'] = 'application/x-www-form-urlencoded'
orderUID:Number() - solicitud uidorderId:String(ObjectId) -solicitud idnewStatus:String() - solicitud estado actualinAmount: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 solicitud
Lista de estados
new- 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á inicializadoerrorPayout- 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 cumplidosdeleted- solicitud eliminada (cancelada)
Verificación del importe del control de la solicitud (IPN)
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
Control de pagos
- Si necesita controlar el estado de solicitudes, crearlas a través de la autorización, entonces todas las solicitudes serán reflejadas en su cuenta;
- Puede guardar UID de la solicitud y secreto y manualmente acceder a la solicitud, indicando estos datos en la barra de direcciones
Pago
-
Puede utilizar / payment / para visualizar la página de pagos
// schema
https://www.lincoln.money/user-lang/payment/order-uid/order-secret
// example result
https://www.lincoln.money/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb - También puede simplemente dar el enlace al mercado de intercambio de la forma en que la ven sus clientes según el mismo esquema de la primera opción, a excepción de que /payment/ hace falta cambiarlo por /order/
- En el método existen unos parámetros que permiten visualizar los datos de pago o la forma de pago en su sitio web, que puede utilizar. IMPORTANTE: si se utiliza el método del pago anticipado, tiene que actualizar el estado del pedido con waitPayment hasta inProgress después del pago.
