Skip to content

remove required GDP appId - #1467

Open
pbennett1-godaddy wants to merge 3 commits into
mainfrom
codex/optional-godaddy-payments-app-id
Open

pbennett1-godaddy wants to merge 3 commits into
mainfrom
codex/optional-godaddy-payments-app-id

Conversation

@pbennett1-godaddy

Copy link
Copy Markdown
Contributor

Summary

GoDaddy payment providers and credit card forms were blocked from loading without godaddyPaymentsConfig.appId, although the Collect runtime only requires businessId.

Remove app ID requirements from SDK loading, provider wrapping, payment method availability, and card, ACH, and wallet initialization. Preserve configured app IDs and session overrides.

Changeset

  • Changeset added (docs)

Patch changeset for @godaddy/react.

Test Plan

  • Added regression coverage for card and ACH mounting with omitted or empty app IDs, session business ID fallback, and missing business IDs.
  • Verified wallet initialization without an app ID and preservation of the session app ID override.
  • pnpm --filter @godaddy/react test — all 596 tests passed.
  • pnpm --filter @godaddy/react typecheck — passed.
  • pnpm --filter @godaddy/react build — passed.

@pbennett1-godaddy
pbennett1-godaddy requested a review from a team as a code owner September 16, 2026 13:47
@changeset-bot

changeset-bot Bot commented Sep 16, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 162bdd8

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@godaddy/react Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@wcole1-godaddy wcole1-godaddy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please address the unnecessary Collect SDK load on checkouts that have no GoDaddy payment methods before merging. Keeping application IDs optional makes sense, but the loader should still be gated on whether Collect is needed. The extra download and JavaScript execution add avoidable network and main-thread work to checkout.

isPoyntLoaded ||
!applicationId?.trim() ||
!collectCDN ||
!businessId

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[P2] Gate Collect loading on a configured GoDaddy payment method

PaymentForm calls this hook unconditionally, and sessions using other processors can still have a businessId. Removing the application ID guard therefore makes Stripe-only and offline-only checkouts download and execute Collect even when godaddyPaymentsConfig is omitted. I reproduced the loader behavior against the base and this commit: neither checkout inserted the script before this change; both insert it afterward. This adds unnecessary network and JavaScript work on the checkout path.

Please gate loading on a configured GoDaddy payment method while keeping appId optional, and add regression coverage showing that non-GoDaddy-only sessions do not insert the script and GoDaddy sessions without an app ID still do.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@wcole1-godaddy - addressed.

@wcole1-godaddy wcole1-godaddy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed at 162bdd8. The previously raised Collect SDK-loading concern is addressed: loading is gated on a configured GoDaddy payment method while app IDs remain optional. No actionable findings. Verified all 612 tests, typecheck, and build pass. Live card tokenization and wallet flows were not exercised; payment tests use SDK mocks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants