Skip to content

Release testing instructions for WC Payments 7.6.0

Josh Heald edited this page May 7, 2024 · 3 revisions

Advanced fraud protection can't be enabled without enabling advanced fraud rules

  1. Go to Payments - Settings
  2. Browse to the bottom of the page and see if "Basic" is selected as fraud protection
  3. If it's not selected, select "Basic" and save
  4. Select "Advanced" now, and click on "Configure"
  5. Without enabling any rule, click on "Save"
  6. You'll see the notification "At least one risk filter needs to be enabled for advanced protection."
  7. Go back to WooPayments settings
  8. Check that "Basic" is still selected
  9. Choose "Advanced" again and click on "Configure"
  10. Enable any number of rulesets (at least one)
  11. Click on "Save"
  12. You shouldn't see the error notification now, but a notification saying "advanced" is set
  13. Go back to WooPayments Settings and check "Advanced" is selected

Make sure that subscriptions are correctly started when an order containing subscription products is paid for via In-Person Payments

Note – this is not yet supported in the production build of the Woo apps, as the changes in this release are a pre-requisite for supporting it in the apps.

To test it properly, you'll need to use a locally built version of the app. Instructions for setting this up can be found in the Woo iOS readme.

When this is working, switch to the testing branch of the app: https://github.com/woocommerce/woocommerce-ios/pull/12382 – this allows payment for subscriptions, sets off_session future usage, and has somewhere to put the customer ID.

Configuration

  • Set up your store to accept IPP using WooPayments.
  • Use a US-based store address.
  • Add the Woo Subscriptions plugin to your store.
  • Set up a simple subscription product which renews every day.
  • Add a customer-role WP User, with address details.

Setting up the order

Because the app does not yet support subscriptions correctly, particularly around setting the customer on the order with a user account, it's best to create the order in WP-Admin and then make some REST API requests to get it in the correct state for testing capture_terminal_payment.

  • In WP-Admin > WooCommerce > Orders, click Add New, and add your subscription product to the order. Select your customer user as the customer (it's not going to work for a guest.)
  • Make a POST request to orders/{order_id}/subscriptions to create the subscription(s)
  • Make a POST request to payments/orders/112/create_customer to create the customer in Stripe

Paying for the order with IPP – the test.

  • Modify the app code to add the customer ID from the previous step. In PaymentIntentParameters.build(_:with:), you'll see there's a cus_PlcXTpJmnZAA7V ID hardcoded – replace this with the ID from the previous step.
  • Set the -simulate-stripe-card-reader option in the app build scheme (Product > Scheme > Edit Scheme > Run > Arguments tab)
  • Build and run
  • Go to the Orders tab in the app
  • Select the order
  • Tap Collect Payment
  • Tap Card
  • Wait for the card payment to be collected
  • Check back in the Subscriptions page on WC admin – observe that the subscription has been activated.
  • After 1 day, observe that the subscription renews successfully.
Clone this wiki locally