Forum Replies Created

Viewing 15 replies - 151 through 165 (of 319 total)
  • Plugin Author Afterpay

    (@afterpayit)

    Hi @bu5ine55,

    Thanks for your message.

    When Afterpay declines a payment for an order, the status is set to Failed as pointed out. From here the consumer has the option to retry paying for the order with Afterpay or use a different payment method. When this happens, the order status will be updated with the appropriate status (ie Processing). If the consumer decides not to go ahead with the purchase, the order will stay in the Failed status.

    In addition to the above, merchants will see a note attached to the order containing a unique token for each attempted payment with Afterpay, as well as one when a payment is declined. In a situation where a merchant is not seeing these notes, the team would be happy to assist with an investigation. To facilitate this a support request can be raised via the following web form: https://help.afterpay.com/hc/requests/new?ticket_form_id=193406

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @wpwench,

    Thank you for your questions.

    To show the Afterpay product messaging with page builders, please use shortcode [afterpay_paragraph] as documented here: https://developers.afterpay.com/afterpay-online/docs/woocommerce-shortcodes#afterpay-product-messaging

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @timstyle007,

    Thank you for your message.

    The team would be happy to assist with an investigation. Please submit a support request using the following web form: https://help.afterpay.com/hc/requests/new?ticket_form_id=193406

    A member of the team will then reach out to you within 1 business day.

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @samwood7991,

    Thank you for your message.

    Seeing a higher quantity of pending payment orders is expected behaviour for version 3 of the plugin and the recommended WooCommerce flow for payment gateways. Outlined below are the steps involved in that flow:

    1. The consumer visits checkout
    2. The consumer selects Afterpay as their payment method and clicks “Place Order”
    3. WooCommerce creates an order and redirects the consumer to Afterpay to complete their payment
    4. The consumer fills in their details and selects relevant options
    5. The consumer confirms their payment schedule and is redirected back to the store site. It is at this point the order generated in step 2 has its status updated appropriately

    If a consumer completes step 2, 3 or 4 but not 5 then the order will remain in the Pending Payment status. This can occur for a number of reasons such as the Afterpay token expiring (time based expiry) or the consumer getting part way through the checkout process and then closing the browser tab / window.

    Again this is the flow recommended by WooCommerce for payment gateways.

    The team has observed that the line item total is zero in the supplied screenshot, and there is no Afterpay checkout token in the order notes. This suggests a different issue for which the team would be happy to assist with an investigation. Please submit a support request using the following web form:
    https://help.afterpay.com/hc/requests/new?ticket_form_id=193406

    A member of the team will then reach out to you within 1 business day.

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @kokomoweb,

    Thank you for the follow up question.

    The Afterpay messaging is rendered on the server side. There is no existing JavaScript feature for conditionally rendering it.

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @smocko,

    Thank you for your message.

    The team would be happy to assist with an investigation. Please submit a support request using the following web form: https://help.afterpay.com/hc/requests/new?ticket_form_id=193406

    A member of the team will then reach out to you within 1 business day.

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @tomigco,

    Thank you for your message.

    The Afterpay Gateway for WooCommerce plugin has a number of hooks that can be implemented to modify behaviour and / or display.

    The afterpay_is_product_supported filter hook can be used to not only hide the messaging, but also disable the Afterpay Payment Gateway if the product is included in the customers cart.

    To modify or hide the badge and logo on the product page (without affecting the checkout) the afterpay_html_on_individual_product_pages hook can be used. Hiding the messaging on category pages and search results can be achieved by using the afterpay_html_on_product_thumbnails hook.

    Examples can be found here: https://developers.afterpay.com/afterpay-online/docs/woocommerce-hooks

    Thank you

    Plugin Author Afterpay

    (@afterpayit)

    Hi @kokomoweb,

    Thanks for your message.

    The filter hook afterpay_is_product_supported can be used to achieve this. This hook will not only hide the messaging, but also disable the Afterpay Payment Gateway if those products are included in the customers cart. To hide text only on PDP the afterpay_html_on_individual_product_pages hook can be used. Examples of both can be found here: https://developers.afterpay.com/afterpay-online/docs/woocommerce-hooks

    Thank you

    Plugin Author Afterpay

    (@afterpayit)

    Hi @stuarth2g,

    Thank you for your question.

    This is just the revised transaction flow of the latest v3.0.x Afterpay plugin. It meant that the particular customer had spent around 13 minutes on the payment gateway page (e.g. logging in to their Afterpay account, changing debit/credit card details, reviewing the payment schedule etc.) before they clicked ‘Confirm’.

    In v2.x, the Afterpay plugin would not create an order in WooCommerce until the payment capture for the Afterpay order succeeds. That is why it seems instantaneous in v2.x. Whereas in v3.0.x, the plugin has followed WooCommerce guidelines more closely, and allows an order to be created in WooCommerce before it attempts to capture the payment. Therefore, merchants are now seeing new Afterpay orders with ‘Pending Payment’ status (i.e. the default status for any newly created WooCommerce order) in the dashboard. The order status would not automatically change to ‘Processing’ or ‘Completed’ until the customer confirms the payment schedule and the payment is captured successfully.

    Please feel free to reach out again if there are more questions.

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @vahanavagyan1,

    Thanks for verifying the update. The thread will now be resolved. Thank you also for your patience and cooperation identifying and investigating the challenge.

    Also, thanks @wilfredswholesale for your valuable contribution. This will useful to better understand the root cause. The team has a high level of confidence that version 3.0.2 addressed the challenge, however, investigation is still ongoing.

    Thank you @danniee21 for your comments. Please start a new thread if any further support is needed.

    Thanks also to @galbaras for your input; your exemplary caution in your approach to major updates is to be commended.

    Thank you all.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @samwood7991,

    Thank you for your message.

    Based on this description, it makes sense that no Afterpay order has been created in the merchant portal for this purchase, because the customer has not paid for it yet. When an order is placed using Afterpay, WooCommerce would first create a new order, then the Afterpay plugin would generate a token and attach it to the order. Sometimes, however, customers do not confirm the payment schedule within certain amount of time, and the token expires. The WooCommerce order would remain in ‘Pending Payment’ status until the customer cancels or pays for it. Every time the customer attempts to pay for the order, it would generate a new token and attach it to the order. Once the payment schedule is confirmed on the Afterpay gateway, it would show “Payment approved/declined. Afterpay Order ID: xxxxxxxxx.” in the WooCommerce order details.

    This is the major upgrade from v2.x to v3.0.x, where the Afterpay plugin revised transaction flow to more closely follow WooCommerce recommendations. In v2.x, if a customer does not pay for the order within certain amount of time, the plugin would cancel the order automatically. Whereas in v3.0.x, unpaid orders would not be cancelled automatically. Instead, merchants can send reminder emails to customers asking them to pay for the orders. Also merchants are now able to manually create orders in WooCommerce, send the invoices to customers and allow them to pay using Afterpay.

    Please feel free to reach out again if there are more questions.

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @galbaras,

    Thanks for your input. Marked as unresolved. @vahanavagyan1 please advise when the solution has been verified, then the thread will be marked as resolved.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @vahanavagyan1,

    Thanks for your question.

    From the order view within the WooCommerce admin, there will be a reference to the Afterpay Order ID. It will appear up the top beside the payment method, and in the order notes on the right. Neither of these references are hyperlinks to the Afterpay Merchant Portal. However, this can be explored as a potential inclusion in a subsequent feature release.

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @vahanavagyan1,

    Version 3.0.2 has now been released.

    This version changes the method of looking up the order to work around any third party plugin that may have moved or copied the Afterpay meta data from one order to another. When the Afterpay checkout is first generated from the order-pay page, it is linked to the unique Post ID of the order. This information is now stored by Afterpay instead of relying on the integrity of any data stored in WooCommerce. When the consumer returns after confirming their payment, the Afterpay plugin uses the token from the callback URL to make an HTTP request to Afterpay to retrieve the Post ID and lookup the order.

    This is more similar to the method used in version 3.0.0, except 3.0.2 also supports sending a customised Order Number to Afterpay as the “Merchant Reference”.

    As always, the recommended best practice is to test the update in a staging environment before updating in production. Please don’t hesitate to reach out if any further challenge is experienced.

    Marking this thread as resolved.

    Thank you.

    Plugin Author Afterpay

    (@afterpayit)

    Hi @vahanavagyan1,

    Please find a technical explanation of the payment process below.

    Step 1: When the consumer clicks the “Place Order” button from the checkout page, WooCommerce calls the process_payment method of the WC_Payment_Gateway class (reference) that corresponds to the consumer’s chosen payment method. If Afterpay was selected at the checkout, this would be the WC_Gateway_Afterpay class.

    Step 2: At this point, the Afterpay plugin looks up the newly created Order using the Order ID provided by WooCommerce, and uses the Order information to create an Afterpay Checkout. The Afterpay Checkout token is then attached to the Order as meta data, and the consumer is redirected to Afterpay to confirm the payment schedule.

    Step 3: When the consumer returns from Afterpay, the Checkout token is appended to the WC-API URL for “WC_Gateway_Afterpay”. The Afterpay plugin uses the Checkout token in the URL to lookup the WooCommerce Order with which the token was associated in Step 2.

    This is the only point of the process that changed between version 3.0.0 and 3.0.1. Version 3.0.0 used the token to request the “Merchant Reference” (WooCommerce Order Number) from Afterpay. It then used this number to lookup the WooCommerce order. This failed if the Order Number differed from the Post ID (in cases where a third-party plugin had customised the Order Number).

    Version 3.0.1 instead uses the token to perform a post query for a WooCommerce Order in either “Pending Payment” or “Failed” status upon which the Afterpay token was attached in Step 2. The current estimation based on cases considered thus far is that third-party plugins are moving or copying the post meta that was originally created by Afterpay to one or more unrelated orders.

    Step 4: The token is then used to call the “Capture Payment” Afterpay API, and if approved, a note containing the Afterpay Order ID is attached to the WooCommerce Order, and its payment_complete method is called (reference). This method moves the Order into either “Processing” or “Completed” status, depending on whether shipping is required.

    During each step of this process, detailed information is recorded in the WooCommerce logs. This information will be beneficial for the support team as they continue working to investigate and resolve this challenge.

    The current plan is to release a subsequent patch that stores the unique, unchanging Post ID within the Afterpay system. This will allow the Afterpay plugin to reliably lookup the WooCommerce Order without depending on the integrity of any data stored within the WooCommerce system.

    Please expect further correspondence within 1 business day.

    Thank you.

Viewing 15 replies - 151 through 165 (of 319 total)