Verschiedene Platzhalter abhängig von der Zahlungsart nutzen

Mit folgendem Code lässt sich das Belegfeld 1 unterschiedlich befüllen, je nachdem welche Zahlungsart verwendet wird.

Hier war die Anforderung: Bei PayPal-Zahlungen die PayPal-Transaktions-ID verwendet werden. Bei Stripe-Zahlungen wird die Stripe-Transaktions-ID verwendet. Bei allen anderen Zahlungen soll die Rechnungsnummer verwendet werden.

add_action( 'wcdtvfe_create_raw_accounting_record_before_preprocessing', 'wcdtvfec_conditional_transaction_id', 10, 3);

function wcdtvfec_conditional_transaction_id( $accounting_record, $order_id, $type ) {
	$order = wc_get_order( $order_id );

	// If the order ID was not found
	if( !$order ) return $accounting_record; 

	if( $order->get_type() !== "shop_order" ) return $accounting_record;
	
	$payment_title = $order->get_payment_method();

	if( $payment_title === "paypal_plus" ) {
		// Replace Belegfeld 1 with placeholder for PayPal transaction ID
		$accounting_record[ '011_note1' ] = "%%paypal_transaction_id%%";
	}
	else if( $payment_title === "stripe" ) {
		$accounting_record[ '011_note1' ] = "%%stripe_transaction_id%%";
	}
	else {
		$accounting_record[ '011_note1' ] = "%%invoice_number%%";
	}

	return $accounting_record;
}

Sie haben Fragen oder möchten ein Angebot anfordern?

Jetzt Kontakt aufnehmen
crosslist