PayPal Rechnungskauf Ausfall nach Update

Hallo,

heute morgen habe ich auf dem Livesystem die neueste PayPal Version installiert (6.0.8). Davor hatten wir das schon auf dem Testsystem getestet.

Das Testsystem wurde nicht geändert! Darauf war das Update schon installiert und mit Rechnungskauf getestet.

Kurz bevor ich das Update auf Live installiert hatte kam eine Bestellung die mit PayPal Rechnungskauf bezahlt wurde.

Jetzt können wir auf dem Livesystem nicht mehr Rechnungskauf machen. Auf dem Testsystem geht auch kein Rechnungskauf! Das ging vor ein paar Tagen noch.

Was auf Live und Testing noch geht ist als angemeldeter Kunde mit PayPal bezahlen (PayPal Classic V2) und PayPal Express.

Bei Rechnungskauf kommt
‚Während der Kommunikation mit dem Zahlungsanbieter ist ein Fehler aufgetreten, bitte versuchen Sie es später erneut.‘
und im backend

PayPal: The phone number supplied was null.
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::generateNewRequestId GENERATES NEW REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::removeRequestIdFromSession REMOVE REQUEST ID FROM SESSION
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::isRequestIdRequired REQUEST ID FOR PAYMENT TYPE: PayPalPayUponInvoiceV2 IS REQUIRED
PayPal: Shopware_Controllers_Frontend_PaypalUnifiedV2PayUponInvoice::indexAction START
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::validateRequestId PROVIDED REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9 IS VALID
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::getRequestIdFromRequest GET REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9 FROM REQUEST
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::checkRequestIdIsAlreadySetToSession CHECK REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9 FROM SESSION
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::validateRequestId PROVIDED REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9 IS VALID
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::saveRequestIdToSession SAVE REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9 TO SESSION
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::validateRequestId PROVIDED REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9 IS VALID
PayPal: SwagPaymentPayPalUnified\Components\NumberRangeIncrementerDecorator::increment START
PayPal: SwagPaymentPayPalUnified\Components\NumberRangeIncrementerDecorator::increment RETURN ORDERNUMBER FROM SESSION: 14764
PayPal: SwagPaymentPayPalUnified\Controllers\Frontend\AbstractPaypalPaymentController::createPayPalOrder BEFORE CREATE PAYPAL ORDER
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::generateNewRequestId GENERATES NEW REQUEST ID: b6ad67aa-65d3-49de-b9a3-f89003df3e76
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::isRequestIdRequired REQUEST ID FOR PAYMENT TYPE: PayPalPayUponInvoiceV2 IS REQUIRED
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::getRequestIdFromSession GET REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9 FROM SESSION
PayPal: SwagPaymentPayPalUnified\Components\Services\RequestIdService::validateRequestId PROVIDED REQUEST ID: 254cfb7f-7a08-43aa-9e58-a7fc3eaaeca9 IS VALID
PayPal: SwagPaymentPayPalUnified\PayPalBundle\Services\ClientService::createAuthentication CREATE AUTHENTICATION, WITH CREDENTIALS: Basic QWQyYzVvVGZ3emtvOVF0T1A1QzcySk1YZy1GLW9aZjVBWDhtNUZmNFdDcGp1RnMwNmYwS21WVDJIRVdfb0RaSHlBUXJGUlRoRXVRZ1pSQWc6RUpQdUJRUG4zZjQ4cWFFczZJalFwMlozbzBHRFdDQ0ZGS3JEQXJ0bDN2cUItUjVYd1ZiMHRlUEoxcWtEUVlvNnFodFNTY2g1aVJUQlk0c3U=
PayPal: SwagPaymentPayPalUnified\PayPalBundle\Services\TokenService::getToken START GET TOKEN WITH CREDENTIALS: Basic QWQyYzVvVGZ3emtvOVF0T1A1QzcySk1YZy1GLW9aZjVBWDhtNUZmNFdDcGp1RnMwNmYwS21WVDJIRVdfb0RaSHlBUXJGUlRoRXVRZ1pSQWc6RUpQdUJRUG4zZjQ4cWFFczZJalFwMlozbzBHRFdDQ0ZGS3JEQXJ0bDN2cUItUjVYd1ZiMHRlUEoxcWtEUVlvNnFodFNTY2g1aVJUQlk0c3U= AND SHOP ID: 1
PayPal: SwagPaymentPayPalUnified\PayPalBundle\Services\TokenService::getTokenFromCache START READ TOKEN FROM CACHE WITH SHOP ID: 1
PayPal: SwagPaymentPayPalUnified\PayPalBundle\Services\TokenService::isTokenValid TOKEN IS STILL VALID
PayPal: SwagPaymentPayPalUnified\PayPalBundle\Services\TokenService::getToken GOT TOKEN FROM CACHE FOR SHOP ID: 1
PayPal: SwagPaymentPayPalUnified\PayPalBundle\Services\ClientService::createAuthentication AUTHENTICATION SUCCESSFUL CREATED
PayPal: Sending request (POST) to https://api-m.sandbox.paypal.com/v2/checkout/orders
PayPal: Received data from https://api-m.sandbox.paypal.com/v2/checkout/orders
PayPal: PayPal order with payment source created
PayPal: SwagPaymentPayPalUnified\Controllers\Frontend\AbstractPaypalPaymentController::createPayPalOrder PAYPAL ORDER SUCCESSFUL CREATED - ID: 82X147636D018572N
PayPal: SwagPaymentPayPalUnified\Controllers\Frontend\AbstractPaypalPaymentController::isPaymentCompleted START POLLING AT: 1689074439.673997
PayPal: SwagPaymentPayPalUnified\Controllers\Frontend\AbstractPaypalPaymentController::isPaymentCompleted POLLING TRY NR: 0 AT: 1689074439.674032
PayPal: SwagPaymentPayPalUnified\Controllers\Frontend\AbstractPaypalPaymentController::getPayPalOrder GET PAYPAL ORDER WITH ID: 82X147636D018572N
PayPal: Sending request (GET) to https://api-m.sandbox.paypal.com/v2/checkout/orders/82X147636D018572N
PayPal: Received data from https://api-m.sandbox.paypal.com/v2/checkout/orders/82X147636D018572N

und dann wiederholt das PlugIn einfach

PAYPAL ORDER SUCCESSFULLY LOADED
POLLING TRY
GET PAYPAL ORDER

bis es nach 48 Versuchen abbricht.

Es gibt aktuell Probleme bei PayPal. Mehr kann ich leider auch nicht sagen

Heute gehts wieder. Wir versuchen PayPal jetzt mal etwas zu nerven um Infos rauszukriegen. :person_shrugging:

Kann es sein, dass die PayPal sandbox auf unsere Testumgebung den Rechnungskauf abgeschossen hat?

In den logs sehe ich gerade, dass auf dem Livesystem, wo wir die sandbox nie aktivieren, sandbox account Daten geloggt wurden:

PayPal: (Webhook)Event: PAYMENT.CAPTURE.COMPLETED. Cannot find orderID by transactionID: 5UA30504K88755736
{
  "id": "WH-1HS9887988629774D-3KP59907JK5873257",
  "creationTime": "2023-07-11T09:56:14.667Z",
  "resourceType": "capture",
  "eventType": "PAYMENT.CAPTURE.COMPLETED",
  "summary": "Payment completed for EUR 69.9 EUR",
  "resource": {
    "payee": {
      "email_address": "sb-usnfg7808996@business.example.com",
      "merchant_id": "DBCS6TGRDKBLN"
    },
    "amount": {
      "value": "69.90",
      "currency_code": "EUR"
    },
    "seller_protection": {
      "dispute_categories": [
        "ITEM_NOT_RECEIVED",
        "UNAUTHORIZED_TRANSACTION"
      ],
      "status": "ELIGIBLE"
    },
    "supplementary_data": {
      "related_ids": {
        "order_id": "2RC745262G595735X"
      }
    },
    "update_time": "2023-07-11T09:56:09Z",
    "create_time": "2023-07-11T09:56:09Z",
    "final_capture": true,
    "seller_receivable_breakdown": {
      "paypal_fee": {
        "value": "1.68",
        "currency_code": "EUR"
      },
      "gross_amount": {
        "value": "69.90",
        "currency_code": "EUR"
      },
      "net_amount": {
        "value": "68.22",
        "currency_code": "EUR"
      }
    },
    "invoice_id": "15429",
    "links": [
      {
        "method": "GET",
        "rel": "self",
        "href": "https://api.sandbox.paypal.com/v2/payments/captures/5UA30504K88755736"
      },
      {
        "method": "POST",
        "rel": "refund",
        "href": "https://api.sandbox.paypal.com/v2/payments/captures/5UA30504K88755736/refund"
      },
      {
        "method": "GET",
        "rel": "up",
        "href": "https://api.sandbox.paypal.com/v2/checkout/orders/2RC745262G595735X"
      }
    ],
    "id": "5UA30504K88755736",
    "status": "COMPLETED"
  }
}
PayPal: (Webhhok) SwagPaymentPayPalUnified\WebhookHandlers\PaymentCaptureCompleted::invoke expect OrderAndPaymentStatusResult, got NULL
{
  "type": "PAYMENT.CAPTURE.COMPLETED"
}

hmm… :thinking:

kann es sein das eure StagingUmgebung die gleiche Domain nutzt und als webhook registriert? Dann könnte es dazu kommen…

Die Top-Level-Domain und Second-Level-Domain sind die gleichen - aber Live hat als subdomain ‚www.‘ und die StagingUmgebung hat ‚testing.‘
Wenn ich auf der StagingUmgebung den Webhook registriere wird die domain inklusive ‚testing.‘ registriert.