With great sadness we have to announce that we are ceasing development of all our VirtueMart, WooCommerce and Joomla plugins. Effective immediately, all our plugins -- even those that were paid downloads -- are made available for free from our homepage (GPL license still applies), but we cannot and will not provide any support anymore.
It has been a great pleasure to be part of the thriving development communities of VirtueMart as well as WooCommerce. However, during the last year it became painstakingly clear that in addition to a full-time job, a young family and several other time-consuming hobbies at professional level (like being a professional singer) the plugin development and the support that it requires is not sustainable and is taking its toll. It has been an honor, but it is now time to say good bye!
Welcome,
Guest
|
|
I need the Order and Invoice numbers to be the same.
I am getting the correct Order number: #APR10920, however, in the Payment Gateway email it is shown as: Invoice Number: 36012. |
|
Dear EntangledWeb,
Which Payment Gateway are you using? The situation you describe seems to indicate that the payment gateway does not actually use the order number of the order, but rather the post ID (which is the default for WooCommerce's order numbers, but WC has a trigger so that plugins can implement other order numbers -- apparently the payment gateway does not use that trigger). My first guess would be that the Payment Gateway does not handle WC order numbers correctly. It should call $order->get_order_number() and NOT $order->get_id() to retrieve the order number for the given order... But that is just a guess from the symptoms you describe. Best regards, Reinhold |
|
That maybe so, here's the Authoirze.net Gateway plugin I am using:
Authorize.net for WooCommerce: wordpress.org/plugins/os-woocommerce-authorizenet-aim/ Would be nice to know what needs to be hacked to get the Order and Invoice number to be the same. I am also using: MerchantOne Payment Gateway WooCommerce Addon: wordpress.org/plugins/webmicro-merchantone-woo-addon/ BitPay for WooCommerce: wordpress.org/plugins/bitpay-for-woocommerce/ And Coinbase Bitcoin: wordpress.org/plugins/coinbase-woocommerce/ |
|
Dear EntangledWeb,
Thank you for the pointers. I took a quick look: 1. Authorize.net for WooCommerce: plugins.svn.wordpress.org/os-woocommerce...authorizenet-aim.php Near the end of the file, the params that are sent to the payment gateway are defined, including the following: 'x_invoice_num' => $order->id, 2. MerchangeOne Payment Gateway for Woocommerce: plugins.svn.wordpress.org/webmicro-merch...antone-woo-addon.php That plugin properly calls get_order_number() on the order: $gw->setOrder(
$wc_order->get_order_number(),
get_bloginfo('blogname').' Order #'.$wc_order->get_order_number(),
number_format($wc_order->get_total_tax(),2,".",""),
number_format($wc_order->get_total_shipping(),2,".",""),
$wc_order->get_order_number(),
$this->get_client_ip()
); 3. BitPay for WooCommerce: plugins.svn.wordpress.org/bitpay-for-woo...c-gateway-bitpay.php That plugin also appears to correctly use the order number (and even set the order number for the invoice): $order_number = $order->get_order_number();
$invoice->setOrderId((string)$order_number); 4. Coinbase Bitcoin: plugins.svn.wordpress.org/coinbase-wooco...base-woocommerce.php That plugin seems to use the order ID rather than the order number: $params = array(
'name' => 'Order #' . $order_id,
'price_string' => $order->get_total(),
[...]
); Best regards, Reinhold |
|
Thanks .. I'll hack at two "broken" ones.
As for the Authorize.net gateway, sending it a string is fine ... doing this already with another cart which basically as "Advanced Ordernumbers" built in. |