Paypal Plus Kauf auf Rechnung Iban/BIC Rest Api

Hallo, ich suche eine Möglichkeit die Iban/BIC die Paypal Plus bei Kauf auf Rechnung übermittelt per RestAPI zu bekommen, gibt es da keine Möglichkeit?? Ich hätte gedacht Diese Daten werden im Order Endpunkt ergänzt was wohl nicht der Fall ist. Muss ich wirklich direkt auf die DB um Die Daten auszulesen :(? 

Danke für eure Hilfe, Grüße Timo

Ich muss hier leider auch nochmal einhaken. Ich würde nämlich gerne auch auf diese Daten von unserer Faktura aus zugreifen.

Hallo,

ich habe die Anzeige der Iban und des Verwendungszwecks mittels Rest Order wie folgt gelöst:

In der Tabelle s_order die Rows  x_pp_iban und x_pp_reference anlegen.

In der Datei engine\Shopware\Models\Order\Order.php diese referenzieren

    /**    
     * @var string $payPalIban
     *
     * @ORM\Column(name=“x_pp_iban”, type=“text”, nullable=false)
     */
    private $payPalIban;  

    /**    
     * @var string $payPalReference
     *
     * @ORM\Column(name=“x_pp_reference”, type=“text”, nullable=false)
     */
    private $payPalReference; 

Dann wird wie folgt der set/get Eintrag noch ergänzt

 /**
    * Set payPalIban
    *
    * @param string $payPalIban
    * @return Order
    */
    public function setPayPalIban($payPalIban)
    {
        $this->payPalIban = $payPalIban;
        return $this;
    }

    /**
    * Get payPalIban
    *
    * @return string
    */
    public function getPayPalIban()
    {
        return $this->payPalIban;
    }    
    
    
    /**
    * Set payPalReference
    *
    * @param string $payPalReference
    * @return Order
    */
    public function setPayPalReference($payPalReference)
    {
        $this->payPalIban = $payPalReference;
        return $this;
    }

    /**
    * Get payPalReference
    *
    * @return string
    */
    public function getPayPalReference()
    {
        return $this->payPalReference;
    }    

Nun fügen wir in der engine\Shopware\Components\Api\Recource\Order.php die Einträge für die Anzeige mittels Rest-Api hinzu:

    public function prepareOrderData(array $params)
    {
        $params = $this->prepareOrderDetailsData($params);

        $orderWhiteList = [
            ‘paymentStatusId’,
            ‘orderStatusId’,
            ‘trackingCode’,
            ‘comment’,
            ‘payPalIban’,
            ‘payPalReference’,  
        
            ‘customerComment’,
            ‘internalComment’,
            ‘transactionId’,
            ‘clearedDate’,
            ‘attribute’,
            ‘details’,
        ];

und zum Schluß muss noch im PayPalPlus Plugin die Datei \engine\Shopware\Plugins\Community\Frontend\SwagPaymentPaypalPlus\Components\PaymentInstructionProvider.php

bei dem Abschnitt wo Shopware “internalComment”: "Paid with Paypal Invoice " einträgt, hab ich komplett entfernt,  folgendes ergänzt werden

        $sql = ‘UPDATE  s_order
                SET x_pp_iban = CONCAT(x_pp_iban, :paypaliban)
                WHERE ordernumber = :orderNumber’;
        $this->db->query($sql, array(‘paypaliban’ => $instructions[‘recipient_banking_instruction’][‘international_bank_account_number’], ‘orderNumber’ => $orderNumber));

        $sql = ‘UPDATE  s_order
                SET x_pp_reference = CONCAT(x_pp_reference, :paypalreference)
                WHERE ordernumber = :orderNumber’;
        $this->db->query($sql, array(‘paypalreference’ => $instructions[‘reference_number’], ‘orderNumber’ => $orderNumber));

Das ganze ist natürlich alles andere als updatesicher aber da ich sowieso mit Perforce arbeite hält sich der Mehraufwand bei mir in Grenzen.

Eine ähnliche Lösung habe ich schon seit fast 2 Jahren mit Billpay im produktiven Betrieb, da war das Problem das Gleiche.

Der Output mittels Rest Order Abfrage sieht dann so aus:

“id”: 50,

           “number”: “20021”,

           “customerId”: 1,

           “paymentId”: 8,

           “dispatchId”: 0,

           “partnerId”: “”,

           “shopId”: 1,

           “invoiceAmount”: 3,

           “invoiceAmountNet”: 2.52,

           “invoiceShipping”: 0,

           “invoiceShippingNet”: 0,

           “orderTime”: “2017-10-18T11:14:55+0200”,

           “transactionId”: “9DV729096B9777820”,

           “comment”: “”,

           “customerComment”: “”,

           “internalComment”: “”,

           “net”: 0,

           “taxFree”: 0,

           “temporaryId”: “8df1dc6673e0f20cf4543ed7f99a27599449335d”,

           “referer”: “”,

           “clearedDate”: “2017-10-18T11:14:55+0200”,

           “trackingCode”: “”,

           “languageIso”: “1”,

           “payPalIban”: “DE78120700888000126920”,

           “payPalReference”: “9DV729096B9777820”,

           “currency”: “EUR”,

           “currencyFactor”: 1,

           “remoteAddress”: “192.168.0.169”,

           “deviceType”: “desktop”,

           “attribute”:

Dann viel Spass beim implementieren…

supertester