Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pass currency and do not pass transaction_ids parameter to create instant deposit #7828

Merged
merged 6 commits into from
Jan 15, 2024

Conversation

shendy-a8c
Copy link
Contributor

@shendy-a8c shendy-a8c commented Dec 4, 2023

Fixes #7711

Changes proposed in this Pull Request

When creating instant deposit:

  • Pass currency parameter.
  • Stop sending transaction_ids parameter.

Testing instructions

  • Be eligible for instant deposit.
  • Purchase a product so balance is non-zero.
  • Use server branch from server PR 4061.
  • Open Payments > Overview page.
  • Confirm 'Deposit available funds' button shows up.
  • Click that button will bring up a modal.
  • Open browser's dev tool and be ready to see the parameters of POST request to /wp-json/wc/v3/payments/deposits.
  • Click the main 'Deposit $xx now' button.
  • Confirm that the POST request to /wp-json/wc/v3/payments/deposits has currency parameter and not transaction_ids.
  • Confirm that instant deposit is created successfully by going to Payments > Deposits > click on the newly created deposit. Confirm that it's an 'instant' deposit.

Screenshot 2023-12-05 at 05 21 38

ps: after a successful instant deposit, the 'Deposit available funds' button state does not get updated, ie if user has exceed daily limit, the button should be hidden, etc. I'll create a separate issue for this.


  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply)

Post merge

@botwoo
Copy link
Collaborator

botwoo commented Dec 4, 2023

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 7828 or branch name add/7711-instant-deposit-currency in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: c8a6a92
  • Build time: 2024-01-15 02:15:04 UTC

Note: the build is updated when a new commit is pushed to this PR.

Copy link
Contributor

github-actions bot commented Dec 4, 2023

Size Change: -25 B (0%)

Total Size: 1.27 MB

Filename Size Change
release/woocommerce-payments/dist/index.js 289 kB -9 B (0%)
release/woocommerce-payments/dist/multi-currency-switcher-block.js 60.8 kB -2 B (0%)
release/woocommerce-payments/dist/multi-currency.js 56 kB -2 B (0%)
release/woocommerce-payments/dist/order.js 42.4 kB -5 B (0%)
release/woocommerce-payments/dist/payment-gateways.js 39.6 kB -5 B (0%)
release/woocommerce-payments/dist/settings.js 234 kB -2 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.06 kB
release/woocommerce-payments/assets/css/success.css 158 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 1.81 kB
release/woocommerce-payments/dist/blocks-checkout.css 1.81 kB
release/woocommerce-payments/dist/blocks-checkout.js 85.6 kB
release/woocommerce-payments/dist/checkout-rtl.css 318 B
release/woocommerce-payments/dist/checkout.css 319 B
release/woocommerce-payments/dist/checkout.js 37.2 kB
release/woocommerce-payments/dist/index-rtl.css 36.9 kB
release/woocommerce-payments/dist/index.css 36.9 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.4 kB
release/woocommerce-payments/dist/multi-currency.css 3.4 kB
release/woocommerce-payments/dist/order-rtl.css 676 B
release/woocommerce-payments/dist/order.css 679 B
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.31 kB
release/woocommerce-payments/dist/payment-gateways.css 1.31 kB
release/woocommerce-payments/dist/payment-request-rtl.css 153 B
release/woocommerce-payments/dist/payment-request.css 153 B
release/woocommerce-payments/dist/payment-request.js 13.5 kB
release/woocommerce-payments/dist/product-details.js 919 B
release/woocommerce-payments/dist/settings-rtl.css 10.4 kB
release/woocommerce-payments/dist/settings.css 10.4 kB
release/woocommerce-payments/dist/subscription-edit-page.js 669 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 20.5 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 710 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 19.6 kB
release/woocommerce-payments/dist/tos-rtl.css 230 B
release/woocommerce-payments/dist/tos.css 231 B
release/woocommerce-payments/dist/tos.js 22.1 kB
release/woocommerce-payments/dist/woopay-express-button-rtl.css 153 B
release/woocommerce-payments/dist/woopay-express-button.css 153 B
release/woocommerce-payments/dist/woopay-express-button.js 52.5 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.18 kB
release/woocommerce-payments/dist/woopay.css 4.19 kB
release/woocommerce-payments/dist/woopay.js 72.1 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 622 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 812 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.43 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.01 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 522 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 581 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 160 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.37 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.37 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.03 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 291 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 403 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 299 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 742 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 572 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 411 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.8 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.83 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 502 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 355 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 429 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 781 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.27 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 392 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.05 kB

compressed-size-action

Significance: minor
Type: update

Pass currency parameter and not transaction_ids parameter when creating instant deposit.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add a changelog entry for this kind of change, one that is not user facing and a change that is only 'in the background'?

I assume yes but like a confirmation.

@shendy-a8c shendy-a8c requested a review from a team December 4, 2023 22:29
@Jinksi Jinksi self-requested a review December 5, 2023 00:36
@@ -235,18 +235,18 @@ export const useDepositsSummary = ( {
};

export const useInstantDeposit = (
transactionIds: string[]
currency: string
): { inProgress: boolean; submit: () => void; deposit: unknown } => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thought (out of scope of this PR): we should use an interface from deposits.d.ts here.

However, low priority, since this value from this hook is actually not currently used in our codebase (we only use inProgress and submit).

Copy link
Contributor Author

@shendy-a8c shendy-a8c Dec 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering about that actually, whether it's necessary to return deposit since it's not used anywhere.

Do you think I should delete deposit, inProgress from the return value, and getInstantDeposit?

I tried to do that and there are a lot of things can be deleted. However, I thought they are necessary to keep the state of the button so we can use it to remove the button after an instant deposit is created but actually, even after preserving them (deposit and inProgress), the button still does not disappear after an instant deposit is created. I created #7841 for that.

Copy link
Member

@Jinksi Jinksi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good @shendy-a8c!

I've tested this as per instructions with the server branch from PR 4061.

I suggest we add I've added the blocked label to indicate that this PR should not be merged until server PR 4061 is merged!

@Jinksi Jinksi added status: blocked The issue is blocked from progressing, waiting for another piece of work to be done. pr: ready to merge and removed pr: needs review labels Dec 5, 2023
@shendy-a8c
Copy link
Contributor Author

ps: after a successful instant deposit, the 'Deposit available funds' button state does not get updated, ie if user has exceed daily limit, the button should be hidden, etc. I'll create a separate issue for this.

Created #7841.

Jinksi added a commit that referenced this pull request Dec 7, 2023
@@ -54,7 +54,6 @@ export interface InstantBalance {
fee: number;
net: number;
fee_percentage: number;
transaction_ids: Array< string >;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@brucealdridge
Copy link
Contributor

brucealdridge commented Jan 15, 2024

Removing blocked as this is now ready to merge for 7.1 ahead of the upcoming server change.

@brucealdridge brucealdridge removed the status: blocked The issue is blocked from progressing, waiting for another piece of work to be done. label Jan 15, 2024
@shendy-a8c
Copy link
Contributor Author

Failed e2e tests are not related to this PR's changes. Merging.

@shendy-a8c shendy-a8c added this pull request to the merge queue Jan 15, 2024
Merged via the queue into develop with commit 48c3a5d Jan 15, 2024
26 of 28 checks passed
@shendy-a8c shendy-a8c deleted the add/7711-instant-deposit-currency branch January 15, 2024 12:51
Jinksi pushed a commit that referenced this pull request Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Instant deposit API request should provide currency rather than transaction_ids
4 participants