Saltar al contenido principal

Crear orden con referencia de pago


id: create-payment-reference-order title: Crear orden con referencia de pago sidebar_label: Crear orden (Yego Paycash) sidebar_position: 1​

Crear orden con referencia de pago

Crea una orden en modalidad de prepago y genera una referencia de pago Yego Paycash asociada. El stock de los productos solicitados se reserva de inmediato y se mantiene reservado hasta que el pago sea confirmado o la referencia expire.

Autenticación​

Este endpoint requiere un token Bearer emitido para tu cuenta de cliente.

Authorization: Bearer <tu_token>

Endpoint​

POST /v1/shipments/prepaid-orders/payment-reference

Request​

Headers​

HeaderValorRequerido
AuthorizationBearer <token>Sí
Content-Typeapplication/jsonSí

Body​

CampoTipoRequeridoLongitud máximaDescripción
unique_order_numberstringSí50Identificador único de la orden, definido por el cliente.
total_pricedecimalSí5Monto total de la orden.
warehouse_idintegerSí10Almacén desde el que se surtirá la orden.
reference_expiry_daysintegerNo1Número de días que permanecerá vigente la referencia de pago Yego Paycash. Debe ser un valor entre 2 y 5. Si se omite, se utilizarán 2 días por defecto.
consigneeobjectSí—Datos de entrega. Ver tabla siguiente.
order_detailsarraySí—Lista de productos. Ver tabla siguiente.

reference_expiry_days es un campo opcional. Si no se proporciona, la referencia de pago se generará con una vigencia de 2 días.

Si se proporciona, el valor debe ser un número entero entre 2 y 5, incluyendo ambos valores.

consignee​

CampoTipoRequeridoLongitud máximaDescripción
namestringSí35Nombre completo del destinatario.
countrystringSí20País.
statestringSí35Estado.
municipalitystringSí35Municipio.
neighborhoodstringSí35Colonia.
streetstringSí24Calle.
external_numberstringSí5Número exterior.
internal_numberstringNo5Número interior.
zipcodestringSí5Código postal a 5 dígitos.
emailstringNo50Si se omite, se utiliza un correo genérico.
phonestringSí10Teléfono a 10 dígitos.
commentsstringNo250Instrucciones adicionales de entrega.

order_details[]​

CampoTipoRequeridoLongitud máximaDescripción
skustringSí35SKU del producto.
quantityintegerSí10Cantidad solicitada.

Ejemplo de request​

curl -X POST https://api.eon.example.com/api/v1/payment_references \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"unique_order_number": "PAYCASH-EXAMPLE",
"total_price": 100.00,
"warehouse_id": 1,
"reference_expiry_days": 5,
"consignee": {
"name": "client name",
"country": "mexico",
"state": "san luis potosi",
"municipality": "san luis potosi",
"neighborhood": "XXXXXXXXXX",
"street": "XXXXXXXXXX",
"external_number": "000",
"internal_number": null,
"zipcode": "00000",
"email": null,
"phone": "4444444444",
"comments": null
},
"order_details": [
{ "sku": "SKU-EXAMPLE", "quantity": 1 }
]
}'

Si reference_expiry_days se omite, la referencia se generará automáticamente con una vigencia de 2 días.

Response​

201 Created​

{
"code": 201,
"success": {
"arguments": {
"reference": "1698353800048",
"paycash_instructions_url": "https://sandboxpaycash.yego.mx/get-reference/MTY5ODM1MzgwMDA0ODoKICAgICAgICAgICAgICAgICAgICAkMTUwMC4wMDoKICAgICAgICAgICAgICAgICAgICAxMC8wOS8yMDI2CiAgICAgICAgICAgICAgICA="
},
"type": "order.created",
"message": "Order created successfully. "
}
}
CampoDescripción
referenceReferencia de pago Yego Paycash para que el comprador pague en tienda.
paycash_instructions_urlEnlace a las instrucciones de pago, incluyendo el código de barras.

Errores​

StatusCódigo de errorCausa
401unauthorizedToken Bearer ausente o inválido.
404client_not_foundEl cliente asociado al token no existe o fue desactivado.
409client_reference_already_existsYa existe una orden con ese unique_order_number para este cliente.
409order_already_processingYa hay una solicitud en curso con el mismo unique_order_number (doble envío simultáneo).
422client_not_authorizedEl cliente no tiene un método de fulfillment habilitado.
422invalid_addressUno o más campos de consignee no pasaron la validación de formato.
422invalid_reference_expiry_daysreference_expiry_days debe ser un número entero entre 2 y 5, incluyendo ambos valores.
422no_shipping_service_coverageNinguna paquetería tiene cobertura para el código postal indicado.
422product_not_foundUno o más SKUs no existen o no pertenecen a este cliente.
422insufficient_stockNo hay stock suficiente para uno o más productos en el almacén indicado.
503payment_reference_creation_failedFalla temporal al generar la referencia con Yego Paycash. Reintentar.

Ejemplo de error​

{
"code": 422,
"fault": {
"arguments": [],
"type": "order.invalid_reference_expiry_days",
"message": "reference_expiry_days must be an integer between 2 and 5."
}
}