Jump to content

Confirmar un carrito


Recommended Posts

Hola,

 

Estoy ultimando una pasarela de pago y estoy teniendo problemas con la confirmación del pago. A priori se tarda en confirmar el pago unos 10 minutos. Durante este tiempo quiero dejar el carrito o la orden con pendiente de confirmar pago. 

 

He creado un estado nuevo y cuando el cliente empieza el pago y lo quiero poner en pendiente lo hago con:

 

$modulox->validateOrder(cartId,Configuration::get('MODULOX_OS_AWAITING'),price,$modulox->displayName);

 

Cuando a los 10 minutos aproximadamente se confirma del todo la orden entonces ejecuto:

 

$modulox->validateOrder(cartId,Configuration::get('PS_OS_PAYMENT'),price,$modulox->displayName);

 

El problema que estoy teniendo es que se generan dos pedidos uno por cada validación.

 

¿Que estoy haciendo mal?

 

Muchas gracias,

Un saludo.

Link to comment
Share on other sites

Buenos días,

 

la función validateOrder precisamente es para eso, para crear un pedido nuevo con ese carrito que le pasas y en ese estado que le indicas.

 

Lo que tendrías que hacer al confirmar el pago es actualizar el estado del pedido, eso lo podrás hacer con la función setCurrentState() del objeto Order.

 

Saludos!

Link to comment
Share on other sites

  • 3 weeks later...

¡Hola!

Yo personalmente cambio los estados de pedidos con el siguiente código:
 

$order_history = new OrderHistory();
$order_history->id_order = $id_order;
$order_history->id_order_state = (int)Configuration::get('TU_ESTADO');
$order_history->add();
$defstatus = (int)Configuration::get('TU_ESTADO');
$order_history->changeIdOrderState($defstatus, $id_order);

De esta manera también generas el historial del pedido.

Link to comment
Share on other sites

15 hours ago, PSBlog said:

¡Hola!

Yo personalmente cambio los estados de pedidos con el siguiente código:
 


$order_history = new OrderHistory();
$order_history->id_order = $id_order;
$order_history->id_order_state = (int)Configuration::get('TU_ESTADO');
$order_history->add();
$defstatus = (int)Configuration::get('TU_ESTADO');
$order_history->changeIdOrderState($defstatus, $id_order);

De esta manera también generas el historial del pedido.

 

Bueno, la función setCurrentState() incluye todo ese código :P

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...