woocommerce / woocommerce

A customizable, open-source ecommerce platform built on WordPress. Build any commerce solution you can imagine.
https://woocommerce.com
9.32k stars 10.75k forks source link

Remote Payment Recommendations: Update third party plugins #32258

Closed joshuatf closed 2 years ago

joshuatf commented 3 years ago

Instead of including items like fields, connection and manageUrl in the remote specs, we can include these in the payment gateways and as part of the WC_Payment_Gateway abstract class - https://github.com/woocommerce/woocommerce/blob/master/includes/abstracts/abstract-wc-payment-gateway.php

This will require updates to the abstract class in woocommerce as well as updates to all third party payment provider plugins.

Gateway Pull Request Status Owner
bacs https://github.com/woocommerce/woocommerce-admin/pull/7073 merged @joshuatf
eway 112-gh-woocommerce/woocommerce-gateway-eway merged @joshuatf
klarna ? @samueljseay
mercadopago https://github.com/mercadopago/cart-woocommerce/pull/281 need external help @joshuatf
mollie ? @samueljseay
paypal https://github.com/woocommerce/woocommerce-paypal-payments/pull/164 ready to merge @joshuatf
paystack https://github.com/tubiz/woo-paystack/pull/64 need external help @joshuatf
payu-india ?
razorpay https://github.com/razorpay/razorpay-woocommerce/pull/195 need external help @joshuatf
square 627-gh-woocommerce/woocommerce-square needs review @joshuatf
stripe https://github.com/woocommerce/woocommerce-gateway-stripe/pull/1569 needs review @joshuatf
payfast https://github.com/woocommerce/woocommerce-gateway-payfast/pull/43 ready to merge @joshuatf
wcpay https://github.com/Automattic/woocommerce-payments/pull/2014 ready to merge @joelclimbsthings

Status descriptions

ready to merge: We can merge ourselves, and the PR seems to be ready (with potential merge conflicts. needs review: Waiting on PR review. need external help: PR is ready, but we lack the permissions to merge. needs feedback: Changes required. merged: Already merged. ?: Uncertain what the status is here.

psealock commented 3 years ago

This is a duplicate of https://github.com/woocommerce/woocommerce-admin/issues/6852, which I estimated at 5. Lets stick with this one and I'll add the checklist to the original comment.

joshuatf commented 3 years ago

Quick PSA to anyone making updates to 3rd party gateways (cc @joelclimbsthings @becdetat @samueljseay ):

In needs_setup we'll need to use get_option( 'some_option' ) as opposed to $this->some_option to avoid a pseudo race condition for the REST response to determine if the gateway was recently setup. For example:

    /**
     * Determine if the gateway still requires setup.
     *
     * @return bool
     */
    public function needs_setup() {
        return ! $this->get_option( 'publishable_key' ) || ! $this->get_option( 'secret_key' );
    }
joelclimbsthings commented 3 years ago

Hey @joshuatf and all, I've updated the statuses on the list of plugins above, and added a few details about the various status types.

Here are my proposed next steps, by status:

Needs feedback Make needed changes (pretty minimal I believe), and then get them reviewed.

Ready to merge Optionally post a comment about our intention to merge in the next few days, and tag relevant contributors if relevant. Barring any objects we'll just merge ourselves in that time.

Needs external help Reach out to those who could get this merged, and keep track of our efforts here or elsewhere. Not sure there's much else we can do here?

As far as those with the ? status, do we know if any PRs exist for these already, or if we're still planning to create one?

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had any recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

joelclimbsthings commented 2 years ago

Just jumping in on this before it meets its demise by stalebot. Is there a reason why the WCPay PR hasn't been merged, much less the others? @joshuatf @mattsherman . Is this considered out of our hands?

joelclimbsthings commented 2 years ago

@joshuatf @mattsherman

Pedro has expressed interest in getting these PRs moving/merged. As mentioned on my last comment, I'm just wondering if these PRs are considered out of our hands? If not, is this as simple as reaching out to responsible parties and/or merging ourselves if possible?

pmcpinto commented 2 years ago

Hey @laurendavissmith we need help on the Transact side to review/merge a couple of PRs and publish a new version of some extensions owned by Transact: Wcpay, Stripe, PayPal and Square

To summarize, this work will allow us to render the API Keys inputs as a step in the payments task after the user installs the extension:

138977503-7b87b633-47d8-4d16-b921-9e858fa4f0ac

Can you check with the Transact teams when it's possible to move forward with this?

@Roslynlavery we also need your help to unblock this regarding the extensions owned by our partners: eWay, Klarna, Mollie, Mercado Pago, Paystack, PayU, Razorpay and Payfast. Some of the PRs are ready to merge.

Let me know if you have any questions. Thanks!

laurendavissmith commented 2 years ago

@pmcpinto @joshuatf We'll get it taken care of, can they be released as soon as they are merged, or does it need to wait to coincide with the wc-admin release?

joelclimbsthings commented 2 years ago

Thanks @laurendavissmith ! The relevant changes in wc-admin were already released, so no need to delay.

Looking again at he PRs listed above, it seems Stripe and Paypal are a bit out of date. I'll look into getting those updated. The PRs for WCPay and Square should still be good to go 👍🏻 . Let me know what else we can do to help get those merged as well.

haszari commented 2 years ago

We'll get it taken care of, can they be released as soon as they are merged, or does it need to wait to coincide with the wc-admin release?

@pmcpinto Clarifying this further - when do we need to release these extensions by, is it urgent? We just released Square this week, happy to do another release soon if needed (nothing scheduled right now).

pmcpinto commented 2 years ago

@pmcpinto Clarifying this further - when do we need to release these extensions by, is it urgent? We just released Square this week, happy to do another release soon if needed (nothing scheduled right now).

This update will remove friction from the setup flow, but I'm not sure if doing another release is going to disrupt the current sprint of your team. I think it's ok to wait 2-3 weeks to do another release.

Roslynlavery commented 2 years ago

@Roslynlavery we also need your help to unblock this regarding the extensions owned by our partners: eWay, Klarna, Mollie, Mercado Pago, Paystack, PayU, Razorpay and Payfast. Some of the PRs are ready to merge.

@pmcpinto could you clarify what you mean by unblock here? What do we need from our partners to move this forward? Seems like an easy one to motivate, definitely an improved flow.

pmcpinto commented 2 years ago

@Roslynlavery our partners need to update their extensions to improve the step after installing the extension in the Payments task. Our team is improving the documentation, and it will create an example to facilitate the implementation by the partners. We count on having this ready to be shared during the 1st week of December. I'll let you know as soon as we have the documentation ready.

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had any recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

mattsherman commented 2 years ago

Keeping this open as I need to make sure there are not loose ends to tidy-up.

pmcpinto commented 2 years ago

@Roslynlavery our partners need to update their extensions to improve the step after installing the extension in the Payments task. Our team is improving the documentation, and it will create an example to facilitate the implementation by the partners.

Hey @Roslynlavery here's the link to the documentation created by @joshuatf with all the instructions required for getting started. Feel free to reach out in case you have any questions. Thanks!

becdetat commented 2 years ago

@pmcpinto Can we close this issue?

pmcpinto commented 2 years ago

@pmcpinto Can we close this issue?

Sorry, I missed this ping. Yes, I'll close it. Thanks!