Support » WooCommerce » Rechnungsdaten bei Ratepay Kauf auf Rechnung (PayPal)

  • Wo kann ich die Zahlungs-/Rechnungsdaten finden, wenn der Kunde via Ratepay (ehem. PayPal Kauf auf Rechnung) kauft.

    Er bekommt die Daten von Ratepay per Mail. Aber ich würde sie ihm gern noch in die PDF-Rechnung selber eintragen?

    Plugin ist Wc PayPal Payments.

    Danke 🙂

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)
  • Hallo,

    was meinst du mit Zahlungs-/Rechnungsdaten?

    Deine Bankverbindung, an die der Kunde zahlen soll kannst du ja unabhängig von Ratepay in deine Rechnungen eintragen, die verändert sich ja nicht.

    Viele Grüße
    Jan

    Thread-Starter wolkenkrieger

    (@wolkenkrieger)

    Nein, ich meine die Kontodaten, die Ratepay via IPN schickt, wenn man mit PayPal Pay Upon Invoice aka PayPal Kauf auf Rechnung mit dem neuen PayPal Checkout bezahlt.

    kostbar

    (@kostbar)

    Das würde mich auch mal interessieren. Daher hänge ich mich hier mal mit dran.
    Unabhängig des Versands der Bankdaten per Email, sollte es dennoch möglich sein diese Daten mit auf der Rechnung auszudrucken und dem Kunden mitzuschicken.

    Thread-Starter wolkenkrieger

    (@wolkenkrieger)

    Meine Lösung für Germanized als Shortcode, den man in die rechnung „eibauen“ kann:

    add_filter('storeabill_document_shortcodes', 'itsw_ratepay_payment_instructions', 10, 2);
    
    /**
     * @param $shortcodes
     * @param $shortcode_instance
     * @return array
     */
    function itsw_ratepay_payment_instructions($shortcodes, $shortcode_instance): array {
    	$shortcodes['itsw_ratepay_payment_instructions'] = static function($atts, $content = '') use ($shortcode_instance) {
    		$document = $shortcode_instance->get_document();
    		
    		if ($document) {
    			/** @var WC_Order $order */
    			$order = $document->get_order();
    			
    			if ($order && $order->get_payment_method() === PayUponInvoiceGateway::ID) {
    				$content .= itsw_pui_instructions($order);
    			}
    		}
    		
    		return $content;
    	};
    	
    	return $shortcodes;
    }
    
    /**
     * @param \WC_Order $order
     * @return string|null
     */
    function itsw_pui_instructions(WC_Order $order): ?string {
    	$instructions = $order->get_meta('ppcp_ratepay_payment_instructions_payment_reference');
    	$gateway_settings = get_option( 'woocommerce_ppcp-pay-upon-invoice-gateway_settings' );
    	$merchant_name    = $gateway_settings['brand_name'] ?? '';
    	$order_date = $order->get_date_created();
    	$price = wc_price($order->get_total(), $order->get_currency());
    	
    	if ( NULL === $order_date ) {
    		return NULL;
    	}
    	
    	$order_purchase_date = $order_date->date( 'd.m.Y' );
    	//$order_time          = $order_date->date( 'H:i:s' );
    	$order_date          = $order_date->date( 'd-m-Y H:i:s' );
    	
    	
    	$thirty_days_date = strtotime( $order_date . ' +30 days' );
    	
    	if ( false === $thirty_days_date ) {
    		return NULL;
    	}
    	
    	$order_date_30d = gmdate( 'd.m.Y', $thirty_days_date );
    	
    	$payment_reference   = $instructions[0] ?? '';
    	$bic                 = $instructions[1]->bic ?? '';
    	$bank_name           = $instructions[1]->bank_name ?? '';
    	$iban                = $instructions[1]->iban ?? '';
    	$account_holder_name = $instructions[1]->account_holder_name ?? '';
    	
    	if (!$payment_reference || !$bic || !$bank_name || !$iban || !$account_holder_name) {
    		return NULL;
    	}
    	
    	$content = wp_kses_post("<p>Für Ihre Bestellung {$order->get_id()} vom {$order_purchase_date} bei {$merchant_name} haben Sie die Zahlung mittels “Rechnungskauf mit Ratepay“ gewählt.");
    	//$content .= '<br>Bitte benutzen Sie die folgenden Informationen für Ihre Überweisung:</br>';
    	$content .= wp_kses_post( "<p>Bitte überweisen Sie den Betrag in Höhe von {$price} bis zum {$order_date_30d} auf das unten angegebene Konto. Wichtig: Bitte geben Sie unbedingt als Verwendungszweck {$payment_reference} an, sonst kann die Zahlung nicht zugeordnet werden.</p>" );
    	$content .= wp_kses_post( "<p>Empfänger: {$account_holder_name}" );
    	$content .= wp_kses_post( "<br>IBAN: {$iban}" );
    	$content .= wp_kses_post( "<br>BIC: {$bic}" );
    	$content .= wp_kses_post( "<br>Name der Bank: {$bank_name}" );
    	$content .= wp_kses_post( "<br>Verwendungszweck: {$payment_reference}</p>" );
    	$content .= wp_kses_post( "<p>{$merchant_name} hat die Forderung gegen Sie an die PayPal (Europe) S.à r.l. et Cie, S.C.A. abgetreten, die wiederum die Forderung an Ratepay GmbH abgetreten hat. Zahlungen mit schuldbefreiender Wirkung können nur an die Ratepay GmbH geleistet werden.</p>" );
    	
    	return $content;
    }

    der Shortcode wäre dann [itsw_ratepay_pament_structions], kann aber nach Belieben geändert werden 🙂

    Thread-Starter wolkenkrieger

    (@wolkenkrieger)

    *[itsw_ratepay_payment_instructions] ^^

    kostbar

    (@kostbar)

    Super, danke vielmals. Das probier ich mal aus. Ich nehme an der Quellcode muß in die functions.php?

    Thread-Starter wolkenkrieger

    (@wolkenkrieger)

    Ja, in die functions.php

    kostbar

    (@kostbar)

    Vielen Dank 🙂

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)