Skip to content

Release testing instructions for WC Payments 4.0.0

Achyuth Ajoy edited this page Apr 12, 2022 · 4 revisions

Exclude Level3 data when capturing a terminal payment

Expected outcome

We currently collect level 3 data for payments captured via terminal (in-person payments). This is no longer required. This change aims to exclude level 3 data while capturing a terminal payment (capture later payment being unaffected).

Testing instructions

In-person payment
  • Create a new order in WooCommerce with "Cash on delivery" as the payment method.

  • Create a payment intent in Stripe Dashboard at https://dashboard.stripe.com/test/connect/accounts/<account_id>/payments/new. Make sure to have the "Capture funds later" option selected under "Manually enter card information."

  • Make a POST request to /payments/orders/<order_id>/capture_terminal_payment. Refer the docs to set up authorization correctly.

  • On the intent details page https://dashboard.stripe.com/test/connect/accounts/<account_id>/payments/<intent_id>, scroll down to the "Events and logs" section. In the latest event data, verify that level3 is null.

Capture later payment
  • On the page WP Admin → Payments → Settings, check the option "Issue an authorization on checkout, and capture later." This will force all payments on the site to be captured later instead of right away.

  • Create a new order in WooCommerce with "Credit card" as the payment method. After successfully checking out, notice that money from the card is not deducted yet.

  • Go to the detail page (in WP Admin) for the just-created order. The status of this order should be "On hold," indicating that the payment hasn't been captured yet.

  • You will also see this message in order notes: "A payment of $18.00 USD was authorized using WooCommerce Payments (intent_id)". Take a note of this intent id.

  • From the "Order actions" dropdown in the right sidebar, select the "Capture charge" option.

  • On the intent details page https://dashboard.stripe.com/test/connect/accounts/<account_id>/payments/<intent_id>, scroll down to the "Events and logs" section. In the latest event data, verify that level3 is populated with some data.


UPE - Allow other payment methods to be used on "Pay for order" page without triggering WCPay validation errors

  • Confirm that UPE Payments are enabled under Payments -> Settings.
  • Enable an additional payment gateway, e.g Cash on Delivery, under WooCommerce -> Settings -> Payments.
  • Create a new manual order from WP-ADMIN & use the Customer payment page link to make payment.
  • On the "Pay for order" page, pay using Cash on Delivery or the additional payment method you've enabled. Confirm that using additional payment methods doesn't trigger WCPay related errors.
  • Also try making payment via WCPay (new & saved payment methods) to confirm that everything works as expected.

UPE - Allow saving payment methods when a non-reusable payment method is enabled

  • Enable Giropay and SEPA Debit under Payments -> Settings.
    • This should have enabled Euros in Multi-Currency automatically, but if not, go to WooCommerce -> Settings -> Multi-Currency and enable Euros as an additional currency.
  • Add item to your cart and go to the page with the checkout block.
    • If you do not have a page with the checkout block, create a new page and add a checkout block. You may need the WooCommerce Blocks plugin installed.
  • Under Use another payment method -> Popular payment methods select SEPA Debit and enter any of the test numbers available here - https://stripe.com/docs/testing#sepa-direct-debit.
  • Select the checkbox Save payment information to my account for future purchases.
  • Place the order and confirm that the order is successful & SEPA payment method is saved (Check My Account -> Payment Methods).

UPE - Hide checkbox to save payment method for non-reusable payment methods

  • Enable Giropay & SEPA Debit under Payments -> Settings.
    • This should have enabled Euros in Multi-Currency automatically, but if not, go to WooCommerce -> Settings -> Multi-Currency and enable Euros as an additional currency.
  • Add item to your cart and go to the page with the checkout block.
    • If you do not have a page with the checkout block, create a new page and add a checkout block. You may need the WooCommerce Blocks plugin installed.
  • Under Use another payment method -> Popular payment methods select Giropay.
  • Confirm that "Save payment information to my account for future purchases." checkbox is not displayed.
  • Change payment method to Card or SEPA Debit and confirm that "Save payment information to my account for future purchases." checkbox is displayed as expected.
  • Checkout with Card / SEPA Debit (with save option checked) and confirm that order is placed as expected.
  • Checkout with Giropay and confirm that order is placed as expected.
Clone this wiki locally