Hallo,
wir nutzen Shopware 5.4.5 und das aktuelle Paypal 2.1.2. Leider kommt es immer wieder vor, dass Zahlungen mittels PayPal nicht korrekt übergeben werden. Dazu haben wir einen Log File heruntergeladen und an PayPal gesendet. Anbei die Rückmeldung von PayPal.
Was Sie hier sehen ist folgendes:
Die erste Zeile ist datum | Herkunft (Shop Plugin) | Methode (Webhook für eine Abgeschlossene Zahlung) | Fehlermeldung (Kann eine PayID (Temp Token) keiner Bestellung zuordnen)
Danach sehen Sie einen kompletten Webhook von PayPal, welcher die gesuchte PayID enthält als auch die Transaktions ID der Bestellung und alle Informationen zu dieser.
2019-02-06 00:32:13] plugin.ERROR: PayPal: [SaleComplete-Webhook] Could not find associated order with the temporaryID PAYID-LRMF7RA3BC81229X23977746
{
„webhook“: {
„id“: „WH-1VP9619976746535J-3J306556EH8353606“,
„creationTime“: „2019-02-05T23:31:49.682Z“,
„resourceType“: „sale“,
„eventType“: „PAYMENT.SALE.COMPLETED“,
„summary“: „Payment completed for EUR 18.86 EUR“,
„resource“: {
„id“: „82X37714Y2389023S“,
„state“: „completed“,
„amount“: {
„total“: „18.86“,
„currency“: „EUR“,
„details“: {
„subtotal“: „15.87“,
„shipping“: „2.99“
}
},
„payment_mode“: „INSTANT_TRANSFER“,
„protection_eligibility“: „ELIGIBLE“,
„protection_eligibility_type“: „ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE“,
„transaction_fee“: {
„value“: „0.63“,
„currency“: „EUR“
},
„invoice_number“: „HB_SW_2221356“,
„receipt_id“: „4639596801063312“,
„parent_payment“: „PAYID-LRMF7RA3BC81229X23977746“,
„create_time“: „2019-02-04T15:55:14Z“,
„update_time“: „2019-02-04T15:55:14Z“,
„links“: [{
„href“: „https://api.paypal.com/v1/payments/sale/82X37714Y2389023S“,
„rel“: „self“,
„method“: „GET“
}, {
„href“: „https://api.paypal.com/v1/payments/sale/82X37714Y2389023S/refund“,
„rel“: „refund“,
„method“: „POST“
}, {
„href“: „https://api.paypal.com/v1/payments/payment/PAYID-LRMF7RA3BC81229X23977746“,
„rel“: „parent_payment“,
„method“: „GET“
}],
„soft_descriptor“: „PAYPAL *xxx“
}
}
} {
„uid“: „79d33d3“
}
Die Frage ist also, warum kann Ihr Plugin Skript, welches den WH hat, nicht auslesen und die Transaktion ID herauslesen, welche weiter unten angegeben ist : 82X37714Y2389023S.
Die Frage sollten Sie Ihrer IT/Modul Hersteller stellen. Von uns haben Sie ja einen korrekten WH erhalten mit allen Informationen die da sein sollten.
Ich sah mir desweiteren einmal, vorsorglich, alle Ihre API Calls der letzten 30 Tage an. Ich sah das 1.5% aller erstellten Zahlungen fehlschlagen, da Ihr Shop den Warenkorb Inhalt mit 0 als Summe übergibt.
Request Body vom Händler:
{
„application_context“: {
„brand_name“: „xxx“,
„landing_page“: „Login“,
„locale“: „de_DE“,
„shipping_preference“: „SET_PROVIDED_ADDRESS“,
„user_action“: „commit“
},
„intent“: „sale“,
„payer“: {
„payment_method“: „paypal“
},
„redirect_urls“: {
„cancel_url“: „https://www.xxx.de/PaypalUnified/cancel“,
„return_url“: „https://www.xxx.de/PaypalUnified/return/plus/1/basketId/plus“
},
„transactions“: [
{
„amount“: {
„currency“: „EUR“,
„details“: {
„shipping“: „0“,
„subtotal“: „0“,
„tax“: „0.00“
},
„total“: „0.00“
}
}
]
}
Response Body Antwort von PayPal:
{
„debug_id“: „6debf4a0ce15d“,
„details“: [
{
„field“: „transactions[0].amount“,
„issue“: „Amount cannot be zero“
}
],
„information_link“: „https://developer.paypal.com/docs/api/payments/#errors“,
„message“: „Invalid request - see details“,
„name“: „VALIDATION_ERROR“
}
Das wäre noch etwas, dass Ihr Shophersteller für Sie lösen sollte. Der Zahlungsbetrag darf nicht 0 sein.
Ich hoffe dies hilft Ihnen weiter.
Mit freundlichen Grüßen,
Stefan Linke
PayPal MTS