WPIntell

Source evidence

Hide product description from PayPal transaction details?

WooCommerce PayPal Payments · support · 2026-06-05T08:34:00+00:00

complaintsentiment
highseverity
1.0relevance
3replies
Evidence linked to opportunitycommercial context

Proof Health

Open evidence

Commercial opportunities need traceable source links before they are treated as build-worthy.

8 / 33 rows with source links

24.2% of this page's analysis has direct source links.

0 build-decision rows missing links

0 rows here require auditable proof before promotion.

25 rows with no attached evidence

0 rows have source counts but still need direct links.

Conversation

support
Apfelbiss unresolved
Hello, in the thread “Hide product description from PayPal transaction details?” you have posted this PHP snippet : /** * Remove product descriptions from PayPal patch order request. * * Targets the PATCH request sent to v2/checkout/orders/{id}. * Clears: * - Per-item (product-level) descriptions inside purchase_units[].items[].description * - The purchase-unit-level description field (purchase_units[].description) */ add_filter( 'ppcp_patch_order_request_body_data', function ( array $patches_array ): array { foreach ( $patches_array as &$patch ) { // Each $patch has 'op', 'path', and 'value'. // 'value' is the purchase unit data. if ( ! isset( $patch['value'] ) || ! is_array( $patch['value'] ) ) { continue; } // 1. Clear the purchase-unit-level description. if ( array_key_exists( 'description', $patch['value'] ) ) { $patch['value']['description'] = ''; } // 2. Clear individual product (item-level) descriptions. if ( isset( $patch['value']['items'] ) && is_array( $patch['value']['items'] ) ) { foreach ( $patch['value']['items'] as &$item ) { if ( array_key_exists( 'description', $item ) ) { $item['description'] = ''; } } unset( $item ); // Break the reference. } } unset( $patch ); // Break the reference. return $patches_array; } ); It’s active in our shop via “Code Snippets” plugin, where I also added this filter: add_filter( 'ppcp_create_order_request_body_data', function ( array $data ): array { if ( isset( $data['purchase_units'] ) && is_array( $data['purchase_units'] ) ) { foreach ( $data['purchase_units'] as &$unit ) { unset( $unit['description'] ); if ( isset( $unit['items'] ) && is_array( $unit['items'] ) ) { foreach ( $unit['items'] as &$item ) { unset( $item['description'] ); } unset( $item ); } } unset( $unit ); } return $data; } ); Sometimes we still get orders with product descriptions. Only sometimes, because most of our products are variable products and the variation description is empty in nearly most cases. I don’t see them in the product overview in the PayPal popup, but they are added e.g. to CSV export in PayPal account. In the woocommerce-paypal-payments logs I can see the product descriptions in these sections: 2026-06-04T10:48:47+00:00 DEBUG #9960 - [New Request] POST / 2026-06-04T10:48:47+00:00 DEBUG #9960 - POST https://api-m.paypal.com/v2/checkout/orders Request Body: […] 2026-06-04T10:48:50+00:00 DEBUG #7873 - [New Request] POST /wp-json/paypal/v1/incoming 2026-06-04T10:48:50+00:00 DEBUG #7873 - POST https://api-m.paypal.com/v1/notifications/verify-webhook-signature Request Body: […] 2026-06-04T10:48:51+00:00 INFO #7873 - Webhook has been handled by CHECKOUT.ORDER.APPROVED on WooCommerce\PayPalCommerce\Webhooks\Handler\CheckoutOrderApproved 2026-06-04T10:48:52+00:00 DEBUG #6245 - [New Request] POST /wp-json/paypal/v1/incoming 2026-06-04T10:48:52+00:00 DEBUG #6245 - POST https://api-m.paypal.com/v1/notifications/verify-webhook-signature Request Body: […] Is it possible that additional filters need to be added to the snippet to cover all cases? Like: woocommerce_paypal_payments_webhook_event_data woocommerce_paypal_payments_api_response ppcp_capture_order_request_body_data Thank you in advance. Hi @apfelbiss , Thank you for reaching out to us, we are here to help. Based on your description, the descriptions appear only sometimes because of two main factors: product type configuration and payment method eligibility for Level 2/3 processing. Your current filters don’t cover the ppcp_capture_order_request_body_data filter. The capture operation is where Level 2/3 data is actually sent to PayPal, so descriptions slip through when this request is made and your filters don’t intercept it. But we would require more information to confirm this. Please follow these steps to share your system status report with us: Navigate to the WooCommerce / Status section in your site’s admin panel. Click on the Get system report button and then click Copy for support . Paste the report into our PrivateBin . After uploading, please share the link here so we can review the details thoroughly. Alternatively, to speed up the whole process we suggest you to contact us directly for further assistance. You can open a ticket with our service desk. Here’s how you can request support: Request Support . Please make sure to include the URL of this thread in your ticket for reference. Best Regards, Jamie Here is the system report: https://privatebin.syde.com/?be412b8b043089f5#9c1dNZBEurpM2Rbce7xkUTyYV7436v8fPU4d79UhWn2q Hi @apfelbiss , May we suggest reaching out directly to us to assist you on this issue? You can open a ticket with our service desk. Here’s how you can request support: Request Support . Please make sure to include the URL of this thread in your ticket for reference. We look forward to hear from you. Best Regards, Jamie

Comments

3 shown
Syde Jamie 2026-06-06T05:09:00+00:00

Hi @apfelbiss , Thank you for reaching out to us, we are here to help. Based on your description, the descriptions appear only sometimes because of two main factors: product type configuration and payment method eligibility for Level 2/3 processing. Your current filters don’t cover the ppcp_capture_order_request_body_data filter. The capture operation is where Level 2/3 data is actually sent to PayPal, so descriptions slip through when this request is made and your filters don’t intercept it. But we would require more information to confirm this. Please follow these steps to share your system status report with us: Navigate to the WooCommerce / Status section in your site’s admin panel. Click on the Get system report button and then click Copy for support . Paste the report into our PrivateBin . After uploading, please share the link here so we can review the details thoroughly. Alternatively, to speed up the whole process we suggest you to contact us directly for further assistance. You can open a ticket with our service desk. Here’s how you can request support: Request Support . Please make sure to include the URL of this thread in your ticket for reference. Best Regards, Jamie

Apfelbiss 2026-06-08T06:59:00+00:00

Here is the system report: https://privatebin.syde.com/?be412b8b043089f5#9c1dNZBEurpM2Rbce7xkUTyYV7436v8fPU4d79UhWn2q

Syde Jamie 2026-06-10T08:31:00+00:00

Hi @apfelbiss , May we suggest reaching out directly to us to assist you on this issue? You can open a ticket with our service desk. Here’s how you can request support: Request Support . Please make sure to include the URL of this thread in your ticket for reference. We look forward to hear from you. Best Regards, Jamie