Beste allen!

Ik ben een eigen Wordpress plugin aan ontwikkelen wat gebruikt maakt van Woocommerce en Mollie als betaalmethode. Echter wil ik extra metadata meesturen met Mollie niet lukken. Mollie geeft zelf deze optie ook aan en legt dat hier() uit.

Hieronder de code die ik gebruik in mijn pluginfile.


function custom_mollie_metadata( $metadata ) {
	global $order_id;
	$metadata += array( "invoice_reference" => $order_id );
	
	return $metadata;
	}
add_filter( 'mollie-payments-for-woocommerce_payment_object_metadata', 'custom_mollie_metadata' ); 


De uiteindelijke data is niks, waarbij ik me dus begin af te vragen of bovenstaande methode wel de juiste is. Kan iemand me een beetje opweg helpen?
Nou met add_action voeg je een actie toe aan iets wat bestaat. Met do_action voer je de functie direct uit.
Ik ben zelf niet met Mollie bekend en zou hier in moeten duiken om je opweg te helpen.
Je zou vanuit die actie de order_id op moeten vangen en die kun je dan weer gebruiken in je Mollie functie.

Wellicht kun je op die hook even Googlen, vaak staat er per hook uitgelegd hoe wat en waar.

Het lijkt er op dat ik weer een stap dichterbij ben, maar de output is nog steeds niet wat ik wil (maar het is al meer dan aan het begin!)

Output:
{
  "jortt_invoice_reference": 0
}


De code is nu:
//ADD METADATA TO MOLLIE PAYMENT

add_filter( 'mollie-payments-for-woocommerce_payment_object_metadata', 'custom_mollie_metadata', 10, 1); 
	
	function custom_mollie_metadata( $metadata ) {
		do_action( 'woocommerce_checkout_order_processed', $order_id, $posted_data, $order );

		global $woocommerce, $post, $order_id, $order, $posted_data;
		
		$order = new WC_Order( $order_id );
		$order_id_nummer = $order->get_id();
		
		$metadata += array( "jortt_invoice_reference" => $order_id_nummer );
		return $metadata;
	}
	


In iedergeval ga ik even verder googlen en kijken hoe het komt dat er maar geen order_id komt.

add_action('woocommerce_checkout_order_processed', 'action_checkout_order_processed', 10, 1);
function action_checkout_order_processed( $order_id ) {
   $order = wc_get_order( $order_id );

   // Doe wat je wilt doen, zet hier je Mollie functie eens in
}


[size=xsmall]Toevoeging op 29/05/2020 13:41:05:[/size]

Wat is en waar komt jortt_invoice_reference vandaan?

Reageren