• Resolved wolkenkrieger

    (@wolkenkrieger)


    Wenn man mit WC PayPal Payments arbeitet und Pay Upon Invoice (Rechnungskauf mit Ratepay) freischaltet, ergibt sich bei der Nutzung dieser Zahlmethode ein Timingproblem mit der automatischen Bestellbest?tigung.

    Ratepay bzw. PayPal übermittelt via IPN Zahlungsinformationen an den Shop – also Kontoverbindung und Verwendungszweck, die der Kunde ben?tigt, um seine Rechnung bei Ratepay bezahlen zu k?nnen.

    Diese Infos werden per Hook dann in die Bestellbest?tigungsmail “eingeschleust”.

    Dumm nur, wenn zu diesem Zeitpunkt diese Mail bereits versendet wurde von Germanized … denn die Rückmeldung von PayPal kann durchaus mal einige Minuten dauern… ??

    Habt ihr das bei @vendidero auf dem Schirm und wenn ja, was schlagt ihr vor? Bei mir machen diese K?ufe etwa 25% vom Umsatz aus … das w?re also nicht ganz unwichtig.

Viewing 14 replies - 1 through 14 (of 14 total)
  • Plugin Author vendidero

    (@vendidero)

    Hi,

    das ist in der Tat nicht so trivial l?sbar. Aktuell müsstest du global die Logik der Bestellbest?tigung deaktivieren. In Zukunft werden wir für diese speziellen Anwendungsf?lle eine dynamische L?sung via Kompatibilit?tsscript finden müssen. https://vendidero.de/dokument/automatische-bestellbestaetigung-nach-dem-kauf#standard-verhalten-wiederherstellen

    Grü?e

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    “In Zukunft”

    imho ist das seit PayPal Plus “Kauf auf Rechnung” auch schon so … da kommen die Kontodaten auch via IPN zurück

    Das Deaktivieren der aut. Bestellbest?tigung ist eher uncool. Da müsste also tats?chlich zeitnah eine L?sung gefunden werden ??

    Plugin Author vendidero

    (@vendidero)

    Das mag sein ?? M?glicherweise hatte das alte PayPal Plus Plugin auch eine Kompatibilit?t dafür parat. Ich werde mir das nach meinem Urlaub genauer ansehen (ab dem 10.10.). Du kannst natürlich in der Zwischenzeit gern an der Entwicklung von Germanized teilhaben: https://github.com/vendidero/woocommerce-germanized

    Grü?e

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    Ich habs vorerst mit einem shortcode gel?st:

    add_filter('storeabill_document_shortcodes', 'ratepay_payment_instructions', 10, 2);
    
    /**
     * @param $shortcodes
     * @param $shortcode_instance
     * @return array
     */
    function ratepay_payment_instructions($shortcodes, $shortcode_instance): array {
    	$shortcodes['ratepay_payment_instructions'] = static function($atts, $content = '') use ($shortcode_instance) {
    		if (($document = $shortcode_instance->get_document()) &&
    			($order = $document->get_order()) &&
    			$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();
    			
    			if ( NULL === $order_date ) {
    				return $content;
    			}
    			
    			$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 $content;
    			}
    			
    			$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 ?? '';
    			
    			$content = wp_kses_post("<p>Für Ihre Bestellung #{$order->get_id()} ({$order_purchase_date} $order_time) 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 {$order->get_currency()} {$order->get_total()} 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;
    	};
    	
    	return $shortcodes;
    }

    In die Vorlage für die Rechnung einbauen und das automatisierte Erstellen der Rechnung abschalten.

    • This reply was modified 2 years, 5 months ago by wolkenkrieger.
    Plugin Author vendidero

    (@vendidero)

    Moin,

    klingt gut – ist vermutlich sinnvoll die Daten auch auf der Rechnung zu haben. Du kannst auch einfach den Zeitpunkt der automatischen Rechnungslegung (ggf. Je Zahlungsart) anpassen – dann sollte das auch wieder automatisch funktionieren.

    Grü?e

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    den Zeitpunkt der automatischen Rechnungslegung […] anpassen

    Kannst du mir sagen, wie oder wo ich mich einlesen kann?

    Danke ??

    Plugin Author vendidero

    (@vendidero)

    Hi,

    klar, das kannst du z.B. hier: https://vendidero.de/dokument/rechnungen-automatisch-erstellen

    Grü?e

    Plugin Author vendidero

    (@vendidero)

    Hi,

    ich habe jetzt das E-Mail-Handling speziell für PayPal Payments Pay Upon Invoice angepasst, sodass in diesem Fall die automatische Bestellbest?tigung von Germanized nicht verschickt wird. Stattdessen greift hier der Woo Default. S.a.: https://github.com/vendidero/woocommerce-germanized/commit/64df9b315cb2a04c222a2fc28a09cdadd709382e

    Grü?e

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    Machst du ein release oder soll ich von github holen?

    Plugin Author vendidero

    (@vendidero)

    Hi,

    das wird vermutlich im n?chsten Update enthalten sein. Wenn du vorab testen m?chtest, müsstest du den Patch manuell einspielen.

    Grü?e

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    Hab das Update gerade im Liveshop eingespielt. Was hat sich denn jetzt vom Handling ge?ndert (ich bin WC-Neuling, die Frage ist also ernst gemeint *sorry*)?

    Ich nehme mal an, die autom. Bestellbest?tigung wird nicht mehr ausgel?st, wenn per Ratepay bezahlt wird?

    Ich hatte gestern n?mlich den Fall, dass der Kunde die Bestellung abschickt, sofort die Bestellbest?tigung erhalten hat (PayPal “normal”) und wenige Sekunden sp?ter die IPN die Zahlung als Fail meldet.

    Plugin Author vendidero

    (@vendidero)

    Hi,

    Ich nehme mal an, die autom. Bestellbest?tigung wird nicht mehr ausgel?st, wenn per Ratepay bezahlt wird?

    Genau. Wenn die Zahlungsart mit der ID ppcp-pay-upon-invoice-gateway ausgew?hlt ist für die Bestellung, greift Germanized in den Mailversand nicht ein, d.h. WooCommerce kümmert sich selbst um den Versand der Mails. WooCommerce verschickt standardm??ig z.B. die Mail “Bestellung wartend” beim Statuswechsel zu “In Wartestellung”. S.a.: https://github.com/woocommerce/woocommerce/blob/trunk/plugins/woocommerce/includes/emails/class-wc-email-customer-on-hold-order.php

    Grü?e

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    ?hm … kann es sein, dass die ?nderungen im letzten Release (3.10.6) gar nicht drin sind?

    Bei mir werden nach wie vor die Bestellmails versendet, wenn der Kunde mit Ratepay bezahlt?!

    Plugin Author vendidero

    (@vendidero)

    Hi,

    nein, natürlich nicht. Seit unserem Thread gab es kein Update ?? Aus diesem Grund hatte ich ja darauf hingewiesen, dass der Patch manuell vorgenommen werden muss. Der Patch wird automatisch in das n?chste Update übernommen.

    Grü?e

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘(Aut.) Bestellbest?tigung und Ratepay-Kauf – m?gliches Timingproblem’ is closed to new replies.