-
Notifications
You must be signed in to change notification settings - Fork 0
Testing instructions for critical flows WooCommerce Gateway‐Gocardless
Twenty Twenty-Four
The plugin should be installed and activated without any error or trouble.
Pre-requisites
Download and Install the Woocommerce extension
Test Steps
- Download the Plugin zip from Woo account or Github
- Install the plugin zip in the Plugin Uploader screen of the store
Expected Result
- After installation the Gocardless setting will appear under WooCommerce Setting > Payments > Direct Debit (GoCardless)
- Gateway‐Gocardless requires WooCommerce to be installed and active. You can download WooCommerce here.
- Without WooCommerce, the Gateway‐Gocardless extension cannot be activated. It throws an error Like: "This plugin cannot be activated because required plugins are missing or inactive."
Test Steps
- Go to: Sandbox
- Select Sign Up Now.
- Complete all fields (required).
- Select Create Your Account.
Expected Result Account should be created and work with WordPress site.
Test Steps
- Goto wp-admin dashboard
- Goto Woocommerce > Setting > General > Country / State
- Goto Woocommerce > Setting > General > Currency options > Currency
Expected Result
Direct Debit (GoCardless) only appears as a payment method if the customer’s billing country is in:
Country |
---|
Australia |
Austria |
Belgium |
Bulgaria |
Canada |
Cyprus |
Czech Republic |
Denmark |
Estonia |
Eurozone |
Finland |
France |
Germany |
Greece |
Hungary |
Iceland |
Ireland |
Italy |
Latvia |
Liechtenstein |
Lithuania |
Luxembourg |
Malta |
Monaco |
Netherlands |
New Zealand |
Norway |
Poland |
Portugal |
Romania |
San Marino |
Slovakia |
Slovenia |
Spain |
Sweden |
Switzerland |
United Kingdom |
United States |
After activating the GoCardless extension, the Configuration setting should appear.
Test Steps
- Goto wp-admin dashboard
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Use the toggle under Enabled to select Direct Debit (GoCardless).
- Select Set Up. You are taken to Direct Debit (GoCardless) settings
- Log in to your GoCardless account. If you haven’t yet created an account, select Sign Up.
- If successful, an authentication notice will appear.
- Select the That’s My Site – Redirect Me button.
Expected Result
- GoCardless Configuration settings should be functional and connected to GoCardless.
- The store owner can Disconnect from GoCardless by clicking the Disconnect from GoCardless button.
Screenshot
Note: Sandbox Test transactions using GoCardless test credentials.
- In the UK, use the sort code 200000 and the account number 55779911
- In Sweden, use the clearingnummer (branch code) 5527 and the kontonummer (account number) 1234512
- Everywhere else, use the IBAN GB60 BARC 2000 0055 7799 11
Gocardleess Setting > Connect
Test steps:
- Navigate to WordPress Dashboard > Woocommerce > Payments > Select Direct Debit (GoCardless)
- Clik on "Connect with Gocardless" (for the Live site)
- For sandbox click on "Not ready to accept live payments? Click here to connect using sandbox mode"
- Login with GoCardless credentials and connect with your site.
Expected Result:
- After establishing a connection with GoCardless, the extension should now establish a connection with the GoCardless.
- The "Disconnect from GoCardless" button can be found.
Test Steps:
- Goto WP Dashboard
- Navigate to WordPress Dashboard > Woocommerce > Payments > Select Direct Debit (GoCardless)
- Click on the check box for Enable / Disable GoCardless payment Getaway
- Save the setting
Expected Result: If GoCardless is enabled (checkbox is checked):
- GoCardless payment will be available for customers to use during the checkout process.
- Customers will see GoCardless as a payment option at checkout.
If GoCardless is disabled (checkbox is unchecked):
- GoCardless will not be available as a payment option during checkout.
- GoCardless will not appear in the list of payment gateways for customers to choose from.
Test Steps:
- Goto WP Dashboard
- Navigate to WordPress Dashboard > Woocommerce > Payments > Select Direct Debit (GoCardless)
- Enter the title and Description
Expected Result:
- Both the title and description text will be visible to customers during the checkout process
Test Steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to GoCardless Sync > Click on Setup sync > and copy the URL.
- Goto GoCardless Dashboard
- Goto Developer tab and create a Webhook endpoint
- Enter info in the Create Webhook Endpoint screen.
- Name: Give your webhook a descriptive name so you recognize it in the future
- URL: Paste the URL from step 2.
- Secret: Goto Setup 2 and copy Secret key.
- Webhook client certificate: Can be de-selected
- Select the Create Webhook Endpoint button.
- Close the GoCardless webhooks endpoints window.
- Return to the Direct Debit (GoCardless) settings screen at your store.
- Enter the secret string from step 4 for Webhook Secret.
- Save changes.
Expected Result:
- The webhook URL can be configured in the GoCardless plugin settings.
- The plugin successfully registers and configures the webhook endpoint with the GoCardless API.
- Webhook events triggered from the GoCardless sandbox environment are delivered to the configured URL.
- The plugin processes different types of webhook events correctly, triggering the appropriate actions.
Screenshot
Enable Payment via Saved Bank Accounts
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Saved Bank Accounts
- Click on the check box for Enable / Disable
Expected Result:
- If the checkbox is enabled, the Saved Bank Accounts for Payment list is displayed.
- If the checkbox is disabled, Save Bank Account for Payment will not appear.
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Direct Debit Scheme
- Select a scheme. Default is: Automatically detected from the customer’s bank account
Expected Result The chosen scheme will be applied to the GoCardless payment method.
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Direct Debit Scheme
- Select "ACH" from drop down
- Save changes
- Goto WooCommerce > Settings > General
- Change Country / State to "United States"
- Change Currency - "United States (US) dollar ($)"
- Save changes
- Goto Shop page and add any product to the cart and process for checkout
- Use a new payment method
- A direct debit popup will open
- Set up an ACH Debit Authorization popup that will open
- Verify Country, Personal details should be as per checkout detail
Expected Result:
The chosen ACH scheme will be successfully applied to the GoCardless payment method, and the checkout process should proceed smoothly. The mandate creation should be successful, and the payment method should function as expected.
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Direct Debit Scheme
- Select "Autogiro" from drop down
- Save changes
- Goto WooCommerce > Settings > General
- Change Country / State to "Sweden"
- Change Currency - "Swedish Krona"
- Save changes
- Goto Shop page and add any product to the cart and process for checkout
- Use a new payment method
- A direct debit popup will open
- Set up an ACH Debit Authorization popup that will open
- Verify Country, Personal details should be as per checkout detail
Expected Result:
The chosen ACH scheme will be successfully applied to the GoCardless payment method, and the checkout process should proceed smoothly. The mandate creation should be successful, and the payment method should function as expected.
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Direct Debit Scheme
- Select "BACS" from drop down
- Save changes
- Goto WooCommerce > Settings > General
- Change Country / State to "United Kingdom"
- Change Currency - "Pound sterling"
- Save changes
- Goto Shop page and add any product to the cart and process for checkout
- Use a new payment method
- A direct debit popup will open
- Set up an ACH Debit Authorization popup that will open
- Verify Country, Personal details should be as per checkout detail
Expected Result:
The chosen ACH scheme will be successfully applied to the GoCardless payment method, and the checkout process should proceed smoothly. The mandate creation should be successful, and the payment method should function as expected.
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Direct Debit Scheme
- Select "BECS" from drop down
- Save changes
- Goto WooCommerce > Settings > General
- Change Country / State to "Australia"
- Change Currency - "Australian Dollor"
- Save changes
- Goto Shop page and add any product to the cart and process for checkout
- Use a new payment method
- A direct debit popup will open
- Set up an ACH Debit Authorization popup that will open
- Verify Country, Personal details should be as per checkout detail
Expected Result:
The chosen ACH scheme will be successfully applied to the GoCardless payment method, and the checkout process should proceed smoothly. The mandate creation should be successful, and the payment method should function as expected.
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Direct Debit Scheme
- Select "Betalingsservice" from drop down
- Save changes
- Goto WooCommerce > Settings > General
- Change Country / State to "Denmark"
- Change Currency - "Danish Krone"
- Save changes
- Goto Shop page and add any product to the cart and process for checkout
- Use a new payment method
- A direct debit popup will open
- Set up a Debit Authorization popup that will open
- Verify Country, Personal details should be as per checkout detail
Expected Result:
The chosen ACH scheme will be successfully applied to the GoCardless payment method, and the checkout process should proceed smoothly. The mandate creation should be successful, and the payment method should function as expected.
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Direct Debit Scheme
- Select "Betalingsservice" from drop down
- Save changes
- Goto WooCommerce > Settings > General
- Change Country / State to "United Kingdom"
- Change Currency - "Pound Sterling"
- Save changes
- Goto Shop page and add any product to the cart and process for checkout
- Use a new payment method
- A direct debit popup will open
- Set up a Debit Authorization popup that will open
- Verify Country, Personal details should be as per checkout detail
Expected Result:
The chosen ACH scheme will be successfully applied to the GoCardless payment method, and the checkout process should proceed smoothly. The mandate creation should be successful, and the payment method should function as expected.
Test steps:
- Goto Woocommerce > Setting > Payments > Direct Debit (GoCardless)
- Navigate to Direct Debit Scheme
- Select "SEPA Core" from drop down
- Save changes
- Goto WooCommerce > Settings > General
- Change Country / State to "Germany"
- Change Currency - "Euro"
- Save changes
- Goto Shop page and add any product to the cart and process for checkout
- Use a new payment method
- A direct debit popup will open
- Set up a Debit Authorization popup that will open
- Verify Country, Personal details should be as per checkout detail
Expected Result:
The chosen ACH scheme will be successfully applied to the GoCardless payment method, and the checkout process should proceed smoothly. The mandate creation should be successful, and the payment method should function as expected.
Test Steps:
- Add to cart product and checkout with GoCardless
- Use a new payment method
- Craete a mandate, add necessary details, and click on continue
- Add the account holder name and bank details and click on continue
- After adding all the details Click on "Set up this direct debit"
- Order received
Expected Result: Once the customer confirms the order, they are redirected to your site and shown the standard WooCommerce order confirmation:
Note: Gocardless compatible with WooCommerce cart and checkout block
Screenshot
After placing an order with GoCardless, a scenario must be simulated.
Test Steps:
- Place order using GoCardless
- Go to GoCardless Dashboard > Customer
- Select Customer > Select Bank account
- Click on Mandates
- Copy the Mandates number
- Go to the Developer menu > Simulate a scenario
- Scenario > Mandate active > add Mandate ID which we have copy at steps 5 > click on Simulate a scenario
- Scenario > Payment confirm > add Payment ID from WordPress order (screenshot is below) > Simulate a scenario
Expected Result
- Manate should activate and Confirm the payment
- Gocardless webhook events, payment regarding status notes is available in WordPress order.
Screenshot/Video
Screenshare.-.2023-09-04.5_56_22.PM.mp4
Verify the successful refund process for orders paid through Gocarddless
Test Steps
- Open an order made through Gocardless from WooCommerce > Orders
- Click on the Refund button
- Enter the refund amount and a reason(optional)
- Click on Refund via Direct Ddebit (Gocarrdless)
- Simulate a scenario to confirm the payment.
- Observe the order note message
- Cross verify the refund amount and message in the Gocardless Dashboard under Transactions.
Expected Result The refund process for orders paid through the Gocardless payment gateway can be initiated successfully. Verify that the order note contains the refund ID and refund reference information.
Note: The refund endpoint should be enabled for the refund; by default, it is disabled.
Screenshot/Video
pre-requisite WooCommerce Subscriptions (separate plugin)
Test Steps:
- Add Subscription product to cart and process to checkout with GoCardless
- Goto My account > Subscription > Renew the product Subscription with GoCardless
Expected Result: Subscriptions can be purchased successfully, with recurring payments processed with Gocardless
Note: How to create and checkout with GoCardless in relation to the WooCommerce Subscription extension is available here.
- Save payment method during Checkout
Test steps:
- Goto Shop page and add to the cart product
- Process for checkout
- Select GoCardless as a payment method
- Select Use a new payment method
- Checkmark on "Save to account"
Expected Result:
- Payment method should be saved under the My account > Payment method
- Customer Can use a previously saved payment method to place order.
- The customer should delete a payment method.
WooCommerce Subscriptions
Test steps:
- Goto WP Dashboard
- Download and Install WooCommerce Subscriptions extension
- Navigate to Product > Add a new product
- Goto Product data > Select Simple Subscription
- Add required details like (Price, Subscription time period Day,week,month,year)
- Publish a product
- Goto shop and add to cart pre-order product
- Check out with GoCardless
Expected Result:
- The WooCommerce Subscriptions extension work seamlessly with GoCardless as the payment method.
- Customers are able to purchase a subscription product, and the subscription Renewal process is initiated correctly through the GoCardless gateway
Note: More detail related to WooCommerce Subscriptions
WooCommerce Pre-Orders
Test steps:
- Download and Install WooCommerce Pre-Orders extension
- Goto WP Dashboard
- Navigate to Product > Add a new product
- Goto Product data > and Select the Pre-order tab
- Enable pre-orders and add required details like (Availability date/time , Pre-order Fee ($))
- Select When to Charge like (Upon release Or upfront)
- Publish the product
- Goto shop and add to cart pre-order product
- Check out with GoCardless
Expected Result:
- The WooCommerce Pre-Orders extension work seamlessly with GoCardless as the payment method for pre-order products
- The payment is processed according to the selected "When to Charge" option, whether upon release or upfront.
Note: More detail related to WooCommerce Pre-Orders
Test steps:
- Download and Install WooCommerce checkout block extension
- Goto WP Dashboard
- Edit a cart page and add Cart block > and Update
- Edit a cart page and add Checkout block > and Update
- Add Product to Cart and proceed to checkout
- The GoCardless payment option should be available on the checkout page.
Expected Result:
- The WooCommerce WooCommerce checkout block extension works seamlessly with GoCardless
- Verify that the GoCardless payment option is displayed as a payment method on the checkout page.
- Check the order confirmation page to ensure that the payment method is listed as GoCardless.
Test Steps:
- Checkout any product with the GoCardless payment gateway
- Check the Merchant's Email Inbox
Expected Result:
- An email confirmation should be received in the Merchant's inbox
- The payment method mentioned in the email, such as "GoCardless," should match the one selected during checkout.
- The email should serve as a confirmation of the successful order and payment processing with GoCardless.
- Payment method name, which we have set in the title here, should be used as the mail-in payment method option.
Screenshot
Test Steps:
- Checkout any product with the GoCardless payment gateway
- Check the Customer's Email Inbox
Expected Result:
- The payment method mentioned in the email, such as "GoCardless," should match the one selected during checkout.
Test steps:
- Enable Success+ on the GoCardless Dashboard. (Follow steps from docs here)
- Go to the WooCommerce store front-end, add a product to the cart, and place an order.
- Go to the GoCardless dashboard and simulate a scenario to make the order payment failed.
Expected Result:
- Confirm that GoCardless automatically retries the payment for the failed order.
- Check the WooCommerce edit order screen to ensure that the order status is set to On-Hold and that webhook logs are generated. Validate that the retry mechanism is functioning as expected, ensuring successful payment processing for the order.
Screenshot
Note: Related PR
With the support of Instant Bank Pay, we now offer three options for the payment collection flow:
- Instant Bank Pay only.
- Instant Bank Pay and Direct Debit (mandate) setup for recurring payments.
- Mandate only.
Instant bank pay only:
Test steps:
- Set the WooCommerce store currency to "GBP".
- Add a simple product to the cart and proceed to the checkout page.
- Fill out the billing address based in the UK and click "Place Order."
- The GoCardless JS drop-in model should be displayed, showing the Instant Bank Pay steps.
- Complete the process of the drop-in model and verify that the order is successfully placed.
- Verify that the order status is updated to "Processing" after some time, as Instant Bank Pay provides instant payment confirmation.
- Set the WooCommerce store currency to "EUR."
- Add a simple product to the cart and proceed to the checkout page.
- Fill out the billing address based in DE and click "Place Order."
- Complete the payment process and ensure that the order status is updated accordingly using Instant Bank Pay.
- Test with various banks: GoCardless drop-in provides various banks in the dropdown with different statuses. Try making payments with each bank option and ensure that it works as expected.
- Place an order with a Pre-orders product (upfront payment) and verify that it works as expected.
Expected Result:
- After configuring the WooCommerce store currency to "GBP," proceed to the checkout page and ensure that the GoCardless JS drop-in model is displayed for Instant Bank Pay.
- Successfully complete the Instant Bank Pay process for a product with a UK billing address, and verify that the order is placed without issues.
- Confirm that the order status changes to "Processing" promptly after completing the payment, as Instant Bank Pay provides instant payment confirmation.
- Change the WooCommerce store currency to "EUR" and repeat the checkout process with a product and billing address based in Germany (DE).
- Ensure that Instant Bank Pay functions smoothly with the new currency and billing address, updating the order status accordingly. Test the payment process with various banks provided in the GoCardless drop-in model.
Screenshot
Instant.bank.pay.only.mp4
Instant bank pay and DD setup:
Test steps:
- Set the WooCommerce store currency to "GBP" or "EUR."
- Add a subscription product to the cart and proceed to the checkout page.
- Fill out the billing address and click "Place Order."
- The GoCardless JS drop-in model should be displayed, showing the steps for Instant Bank Pay and mandate setup.
- Complete the process of the drop-in model and verify that the order is successfully placed.
- Add a simple product to the cart and proceed to the checkout page.
- Check the "Save payment method" checkbox to save the payment for future use.
- The GoCardless JS drop-in model should be displayed, showing the steps for Instant Bank Pay and mandate setup.
- Complete the process of the drop-in model and verify that the order is successfully placed.
Expected Result:
- Verify that the subscription was created successfully and that subscription-related processes (such as renewal) work correctly.
- Verify that the new payment method is added to the customer's account.
- Place an order using the saved payment method and ensure that it works as expected.
Screenshot
Instant.bank.pay.and.DD.setup.mp4
Mandate only:
Test steps:
- Set up the store currency to "USD" or any other currency not supported by Instant Bank Pay.
- Add a simple product to the cart and proceed to the checkout page.
- Fill out the billing address and click "Place Order."
- The GoCardless JS drop-in model should be displayed, showing the mandate setup steps.
- Complete the process of the drop-in model and verify that the order is successfully placed.
- Place an order with a Pre-orders product (pay upon release) and verify that it works as expected.
- Go to my account > Subscriptions, Click on any active subscription to view it
- Click "Change Payment", complete process there and make sure it works as expected.
Expected Result:
- Complete the mandate setup process for the product, ensuring that the order is placed without any issues.
- Verify that the mandate setup process works seamlessly for Pre-orders products, particularly for pay upon release scenarios.
- Navigate to "My Account" > "Subscriptions," select any active subscription, and click on "Change Payment" to modify the payment method and it should work.
Screenshot
Mandate.only.mp4
Test steps:
- Place an order using GoCardless with the "Save payment method" checkbox checked.
- Ensure that the payment method is saved to the customer's account and is working as expected.
- Go to the GoCardless dashboard and cancel the mandate.
- Notice that the saved payment method is removed from the customer's account.
- Place an order using GoCardless with the "Save payment method" checkbox checked and ensure that the payment method is saved to the customer's account.
- Go to the GoCardless dashboard and simulate a scenario to make the mandate "expired" or "failed".
Expected Result:
- Notice that the saved payment method is removed from the customer's account.
Screenshot
Screenshare.-.2024-04-22.10_41_12.AM.mp4
Test steps:
- Go to "WooCommerce" > "Settings" > "Payments" > "Bank pay (open banking and direct debit via GoCardless)"
- Verify that the "Instant Bank Pay" checkbox option is there and by default it is unchecked.
- Visit the store, add the product to the cart, Go to the checkout page, and add address details where IBP is supported (eg: country: UK and currency: GBP)
- Place an order using the GoCardless payment method and verify the payment is collected via DD setup, not Instant Bank Pay.
- Go to GoCardless settings and Enable "Instant Bank Pay" by checking the checkbox
- Visit the store, add the product to the cart, Go to the checkout page, and add address details where IBP is supported (eg: country: UK and currency: GBP)
- Place an order using the GoCardless payment method and verify the payment is collected via the Instant Bank Pay.
- Verify that Payment collected properly with Instant Bank Pay only, Instant Bank Pay and Direct Debit (mandate) setup and Mandate only based on IBP support when "Instant Bank Pay" is enabled. Detailed testing steps can be found in PR
Expected:
Instant Bank Pay Disabled:
GoCardless payment method, the payment should be collected via Direct Debit setup only.
Instant Bank Pay Enable:
GoCardless payment method, the payment should be collected via Instant Bank Pay.
Screenshot
Screen.Recording.2024-07-26.at.4.37.03.PM.mov
Preconditions:
A subscription extension is installed and the subscription product is created in WooCommerce.
Scenario 1: Guest user creation During Checkout for simple Products
Test Steps:
- Go to WooCommerce > Settings > Accounts & Privacy.
- Disable Guest Checkout.
- Account creation > Enable Allow customers to create an account during checkout.
- Open an incognito browser window.
- Visit the WooCommerce store and add a simple product to the cart.
- Proceed to checkout and use an email address that is not associated with any existing user account on the site.
- Choose GoCardless as the payment method.
- Complete the checkout process.
Expected Result:
- Ensure that the order is placed successfully.
- Confirm that a new user account is created with the provided email.
- Verify that GoCardless-related data (e.g., Payment ID, Mandate ID) is recorded correctly in the order note.
Scenario 2: Guest user creation During Checkout for Subscription Products
Test Steps:
- Go to WooCommerce > Settings > Accounts & Privacy.
- Disable Guest Checkout.
- Account creation > Enable Allow customers to create an account during checkout.
- Ensure a subscription product is available in your WooCommerce store.
- Open an incognito browser window.
- Visit the WooCommerce store and add the subscription product to the cart.
- Proceed to checkout and use an email address that is not associated with any existing user account on the site.
- Choose GoCardless as the payment method.
- Complete the checkout process.
Expected Result:
- Ensure that the subscription is created successfully.
- Confirm that a new user account is created with the provided email.
- Verify that GoCardless-related data (e.g., Payment ID, Mandate ID) is recorded correctly in the order note.
Screenshot
Scenario 1: Guest user creation During Checkout for simple Products
simple_product_new.user.mov
Scenario 2: Guest user creation During Checkout for Subscription Products
subscription_product_GC.mov
Test Steps:
- Go to "WooCommerce" > "Settings" > "General" and select "No location by default" in the Default customer location setting.
- Go to WooCommerce > Settings > Accounts & Privacy
- Navigate to Guest checkout > Make sure to enable > Allow customers to place orders without an account
- Visit the store in Incognito mode to place the order as a guest user.
- Add an item to the cart and Go to the checkout page.
- Fill out address details, place an order using GoCardless, and verify it works perfectly.
Expected Result:
- Ensure that the order is placed successfully.
- Confirm that a new user account should not created with the provided email.
- The guest user’s data is recorded under WooCommerce > Customers but without creating an associated user account.