Pregunta

Lo siento si el título es un poco Vaque, te prometo que voy a aclararlo abajo:

En primer lugar, hace un tiempo hice una pregunta sobre la venta de las claves de serie:

¿Cómo puedo ejecutar un script personalizado después de la compra con Ubercart para Drupal

La información que he publicado puede ayudar a aclarar las cosas en esta pregunta, pero lo dudo mucho, porque esta pregunta es un poco más general.

Básicamente, no quiero para ejecutar mi código personalizado hasta que sepa que el pago se ha despejado y los fondos en mi cuenta. Yo estaba un poco inseguro lo que la acción condicional eso disparador es 'ultima clientes echa un vistazo a' hice sin embargo? Cuando se dice que completaron la caja significa necesariamente con éxito y el dinero está en mi cuenta o no?

Si no es así, ¿cómo puedo hacer Ubercart espera hasta que se sabe que tengo el dinero de cualquier PSP (por ejemplo, envío de Google, PayPal, etc.) para ejecutar mi código personalizado? No puedo trabajar a cabo, es incluso posible?

¿Fue útil?

Solución

No está documentado o se expone como algo que debe ser fiable, pero creo que el uso de los clientes 'ultima visita' disparador es el camino a seguir.

Tenga en cuenta que el siguiente se aplica a Ubercart 6.x-2.4. (Versión más reciente a partir de hoy)

Por lo que miraba el código, parece que el gatillo se ejecuta sólo en las órdenes de éxito. Ya sea un medio de pedidos de éxito que ha recibido el pago, que depende mucho de la configuración actual y el pasarelas de pago o método que está utilizando diferentes, pero en situaciones generales y configuración.

Eso se hacen efectivas sólo se pone en marcha de una función:

function uc_cart_complete_sale($order, $login = FALSE);

Si lo hace un módulo de toda la búsqueda en cuando se ejecuta esta función, debe darle una idea aproximada sobre las diferentes situaciones. Básicamente me di cuenta de que está siendo ejecutado desde unos pocos módulos de pago (Paypal y 2checkout por ejemplo), así como cuando se llegue a la página cart/checkout/complete Drupal, que es generalmente en las órdenes de éxito. El módulo de paypal, que le pedirá específicamente, parece estar llamando a la función que cuando se recibe un estado de IPN 'Completado'.

No debería ser difícil de probar algunas compras (bien y mal) y ver si sus gatillo sólo cuando se ejecuta la orden se carga correctamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top