Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
979eaec
update ites btn label (#2535)
surekhaw Sep 15, 2025
fa406f4
chore(release): 5.0.383 🎉
nikrom17 Sep 15, 2025
46245aa
Rebranded marks (#2555)
gusveloso Sep 16, 2025
9a9f005
chore(release): 5.0.384 🎉
nikrom17 Sep 16, 2025
9d6c45b
fix(venmo): popupBridge feature detection for webview eligibility (#2…
mynormh Sep 16, 2025
230ceb6
chore(release): 5.0.385 🎉
nikrom17 Sep 16, 2025
e57107b
Revert "fix(venmo): popupBridge feature detection for webview eligibi…
nikrom17 Sep 18, 2025
aa613c1
chore(release): 5.0.386 🎉
nikrom17 Sep 18, 2025
5de7b90
Feature/enable rebrand smart stack (#2558)
AleGastelum Sep 18, 2025
63e0322
Merge branch 'feature/paylater-credit-rebrand' into main
delbarrow Sep 23, 2025
c4e761f
feat(venmo): eligibility (#2563)
mnicpt Sep 23, 2025
09f32b3
chore(release): 5.0.387 🎉
mnicpt Sep 23, 2025
a2744c5
Updated NCPS buttons to accept rebrand (#2562)
AleGastelum Sep 23, 2025
06b7094
Add sdkSource to button props (#2565)
kkatepallypaypal Sep 23, 2025
567e50e
chore(release): 5.0.388 🎉
ravishekhar Sep 24, 2025
b0d7e2c
[Feature]/DTXOCOEXP-1400 Add `verificationMethod` Parameter (#2546)
jtanya17 Sep 29, 2025
564931c
chore(release): 5.0.389 🎉
siddy2181 Sep 29, 2025
38b1bd4
[NCPS Hosted buttons] Update FPTI tracking params (#2557)
masuthar Sep 30, 2025
1653497
chore(release): 5.0.390 🎉
masuthar Sep 30, 2025
4a401fc
fix: add temporary solution for credit button becaming vaultable (#2569)
gusveloso Sep 30, 2025
a051b3a
chore(release): 5.0.391 🎉
gusveloso Sep 30, 2025
5937a2c
Remove isPayPalDomain from subscriptions props (#2568)
wooslim Oct 2, 2025
10bef36
clean up use of globalSessionID, as we are now leveraging getPayPalSe…
delbarrow Oct 3, 2025
2dafac0
fix(standalone): userAgent (#2572)
mnicpt Oct 6, 2025
9f29832
chore(release): 5.0.392 🎉
mnicpt Oct 6, 2025
781261e
feat: update bt version to 3.128.0 (#2573)
byhoung Oct 9, 2025
9a21533
chore(release): 5.0.393 🎉
imbrian Oct 9, 2025
7e45eaa
remove bodyParam from sdkSource prop in buttons component (#2574)
jtanya17 Oct 13, 2025
c24510b
chore(release): 5.0.394 🎉
imbrian Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,75 @@
## <small>5.0.394 (2025-10-13)</small>

* remove bodyParam from sdkSource prop in buttons component (#2574) ([7e45eaa](https://github.com/paypal/paypal-checkout-components/commit/7e45eaa)), closes [#2574](https://github.com/paypal/paypal-checkout-components/issues/2574)



## <small>5.0.393 (2025-10-09)</small>

* feat: update bt version to 3.128.0 (#2573) ([781261e](https://github.com/paypal/paypal-checkout-components/commit/781261e)), closes [#2573](https://github.com/paypal/paypal-checkout-components/issues/2573)



## <small>5.0.392 (2025-10-06)</small>

* fix(standalone): userAgent (#2572) ([2dafac0](https://github.com/paypal/paypal-checkout-components/commit/2dafac0)), closes [#2572](https://github.com/paypal/paypal-checkout-components/issues/2572)



## <small>5.0.391 (2025-09-30)</small>

* fix: add temporary solution for credit button becaming vaultable (#2569) ([4a401fc](https://github.com/paypal/paypal-checkout-components/commit/4a401fc)), closes [#2569](https://github.com/paypal/paypal-checkout-components/issues/2569)



## <small>5.0.390 (2025-09-30)</small>

* [NCPS Hosted buttons] Update FPTI tracking params (#2557) ([38b1bd4](https://github.com/paypal/paypal-checkout-components/commit/38b1bd4)), closes [#2557](https://github.com/paypal/paypal-checkout-components/issues/2557)



## <small>5.0.389 (2025-09-29)</small>

* [Feature]/DTXOCOEXP-1400 Add `verificationMethod` Parameter (#2546) ([b0d7e2c](https://github.com/paypal/paypal-checkout-components/commit/b0d7e2c)), closes [#2546](https://github.com/paypal/paypal-checkout-components/issues/2546)



## <small>5.0.388 (2025-09-24)</small>

* Add sdkSource to button props (#2565) ([06b7094](https://github.com/paypal/paypal-checkout-components/commit/06b7094)), closes [#2565](https://github.com/paypal/paypal-checkout-components/issues/2565)



## <small>5.0.387 (2025-09-23)</small>

* feat(venmo): eligibility (#2563) ([c4e761f](https://github.com/paypal/paypal-checkout-components/commit/c4e761f)), closes [#2563](https://github.com/paypal/paypal-checkout-components/issues/2563)



## <small>5.0.386 (2025-09-18)</small>

* Revert "fix(venmo): popupBridge feature detection for webview eligibility (#2…" (#2561) ([e57107b](https://github.com/paypal/paypal-checkout-components/commit/e57107b)), closes [#2](https://github.com/paypal/paypal-checkout-components/issues/2) [#2561](https://github.com/paypal/paypal-checkout-components/issues/2561)



## <small>5.0.385 (2025-09-16)</small>

* fix(venmo): popupBridge feature detection for webview eligibility (#2545) ([9d6c45b](https://github.com/paypal/paypal-checkout-components/commit/9d6c45b)), closes [#2545](https://github.com/paypal/paypal-checkout-components/issues/2545)



## <small>5.0.384 (2025-09-16)</small>

* Rebranded marks (#2555) ([46245aa](https://github.com/paypal/paypal-checkout-components/commit/46245aa)), closes [#2555](https://github.com/paypal/paypal-checkout-components/issues/2555)



## <small>5.0.383 (2025-09-15)</small>

* update ites btn label (#2535) ([979eaec](https://github.com/paypal/paypal-checkout-components/commit/979eaec)), closes [#2535](https://github.com/paypal/paypal-checkout-components/issues/2535)



## <small>5.0.382 (2025-09-11)</small>

* Css comment should be /* */ (#2556) ([ba89ffc](https://github.com/paypal/paypal-checkout-components/commit/ba89ffc)), closes [#2556](https://github.com/paypal/paypal-checkout-components/issues/2556)
Expand Down
2 changes: 1 addition & 1 deletion dist/button.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/test/button.js

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@paypal/checkout-components",
"version": "5.0.382",
"version": "5.0.394",
"description": "PayPal Checkout components, for integrating checkout products.",
"main": "index.js",
"scripts": {
Expand All @@ -23,6 +23,7 @@
"jest-ssr": "jest test/ssr --env=node --no-cache --collectCoverage --collectCoverageFrom='src/' --coverageDirectory='coverage/jest'",
"karma": "cross-env NODE_ENV=test babel-node ./node_modules/.bin/karma start",
"lint": "eslint --ext .js --ext .jsx src/ test/ *.js",
"lint:fix": "eslint --ext .js --ext .jsx src/ test/ *.js --fix",
"postversion": "./scripts/postversion.sh",
"preversion": "./scripts/preversion.sh",
"reinstall": "rimraf flow-typed && rimraf node_modules && npm install && npm run flow-typed",
Expand Down Expand Up @@ -122,7 +123,7 @@
"@paypal/funding-components": "^1.0.31",
"@paypal/sdk-client": "^4.0.199",
"@paypal/sdk-constants": "^1.0.156",
"@paypal/sdk-logos": "^2.3.1"
"@paypal/sdk-logos": "^2.3.2"
},
"lint-staged": {
"**/*": "prettier --write --ignore-unknown"
Expand Down
2 changes: 1 addition & 1 deletion src/connect/component.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const MIN_MINOR_VERSION = 97;
const MIN_PATCH_VERSION = 3;
export const MIN_BT_VERSION = `${MIN_MAJOR_VERSION}.${MIN_MINOR_VERSION}.${MIN_PATCH_VERSION}-connect-alpha.6.1`; // Minimum for supporting AXO

export const DEFAULT_BT_VERSION = `3.116.2`;
export const DEFAULT_BT_VERSION = `3.128.0`;

export function getSdkVersion(version: string | null): string {
if (!version) {
Expand Down
2 changes: 1 addition & 1 deletion src/connect/component.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ describe("getConnectComponent: returns ConnectComponent", () => {
await getConnectComponent(mockProps);
expect(loadAxo).toHaveBeenCalledWith({
minified: true,
btSdkVersion: "3.116.2",
btSdkVersion: "3.128.0",
metadata: undefined,
platform: "PPCP",
});
Expand Down
4 changes: 4 additions & 0 deletions src/funding/bancontact/config.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import {
BancontactLogoInlineSVG,
BancontactLogoExternalImage,
BancontactMarkRebrandExternalImage,
} from "@paypal/sdk-logos/src";
import { Fragment, node } from "@krakenjs/jsx-pragmatic/src";

Expand Down Expand Up @@ -47,5 +48,8 @@ export function getBancontactConfig(): FundingSourceConfig {

return <BasicLabel {...opts} logo={apmLogo} />;
},

Mark: () => <BancontactMarkRebrandExternalImage />,
shouldUseMarkForRebrandOnly: true,
};
}
1 change: 1 addition & 0 deletions src/funding/card/config.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ export function getCardConfig(): FundingSourceConfig {
secondaryColors: {
...DEFAULT_FUNDING_CONFIG.secondaryColors,
[DEFAULT]: BUTTON_COLOR.BLACK,
[BUTTON_COLOR.REBRAND_BLUE]: BUTTON_COLOR.REBRAND_BLACK,
},

logoColors: {
Expand Down
1 change: 1 addition & 0 deletions src/funding/common.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ export type FundingSourceConfig = {|
instrument: WalletInstrument,
userIDToken: ?string,
|}) => boolean,
shouldUseMarkForRebrandOnly?: boolean,
|};

export function BasicLabel({
Expand Down
5 changes: 5 additions & 0 deletions src/funding/credit/config.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import {
LOGO_COLOR,
PPRebrandLogoInlineSVG,
PPRebrandLogoExternalImage,
CreditMarkRebrandExternalImage,
} from "@paypal/sdk-logos/src";

import {
Expand All @@ -39,6 +40,7 @@ export function getCreditConfig(): FundingSourceConfig {
BUTTON_FLOW.PURCHASE,
BUTTON_FLOW.BILLING_SETUP,
BUTTON_FLOW.SUBSCRIPTION_SETUP,
BUTTON_FLOW.VAULT_WITHOUT_PURCHASE,
],

layouts: [BUTTON_LAYOUT.HORIZONTAL, BUTTON_LAYOUT.VERTICAL],
Expand Down Expand Up @@ -127,6 +129,9 @@ export function getCreditConfig(): FundingSourceConfig {
);
},

Mark: () => <CreditMarkRebrandExternalImage />,
shouldUseMarkForRebrandOnly: true,

WalletLabel,

colors: [
Expand Down
30 changes: 26 additions & 4 deletions src/funding/funding.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import type { Wallet, Experiment } from "../types";
import { BUTTON_LAYOUT, BUTTON_FLOW } from "../constants";

import { getFundingConfig } from "./config";
import { supportsVenmoPopups, isSupportedNativeVenmoBrowser } from "./util";

type IsFundingEligibleOptions = {|
layout?: $Values<typeof BUTTON_LAYOUT>,
Expand All @@ -35,6 +36,7 @@ type IsFundingEligibleOptions = {|
supportedNativeBrowser: boolean,
experiment?: Experiment,
displayOnly?: $ReadOnlyArray<$Values<typeof DISPLAY_ONLY_VALUES>>,
userAgent?: string,
|};

function isFundingVaultable({
Expand Down Expand Up @@ -84,8 +86,18 @@ export function isFundingEligible(
supportedNativeBrowser,
experiment,
displayOnly,
userAgent,
}: IsFundingEligibleOptions
): boolean {
// Temporary: Force credit to be eligible if the experiment is enabled
if (
source === FUNDING.CREDIT &&
experiment?.paypalCreditButtonCreateVaultSetupTokenExists &&
flow === BUTTON_FLOW.VAULT_WITHOUT_PURCHASE
) {
return true;
}

if (!fundingEligibility[source] || !fundingEligibility[source].eligible) {
return false;
}
Expand Down Expand Up @@ -156,18 +168,25 @@ export function isFundingEligible(
return false;
}

if (fundingConfig.requires) {
if (fundingConfig.requires && userAgent) {
const required = fundingConfig.requires({ experiment, platform });

if (required.popup === true && supportsPopups === false) {
const popupSupport =
source === FUNDING.VENMO
? supportsVenmoPopups(experiment, supportsPopups, userAgent)
: supportsPopups;
const nativeBrowserSupport =
source === FUNDING.VENMO
? isSupportedNativeVenmoBrowser(experiment, userAgent)
: supportedNativeBrowser;
if (required.popup === true && popupSupport === false) {
return false;
}

if (required.applepay === true && applePaySupport === false) {
return false;
}

if (required.native === true && supportedNativeBrowser === false) {
if (required.native === true && nativeBrowserSupport === false) {
return false;
}
}
Expand Down Expand Up @@ -204,6 +223,7 @@ export function determineEligibleFunding({
supportedNativeBrowser,
experiment,
displayOnly = [],
userAgent = "",
}: {|
fundingSource: ?$Values<typeof FUNDING>,
remembered: $ReadOnlyArray<$Values<typeof FUNDING>>,
Expand All @@ -223,6 +243,7 @@ export function determineEligibleFunding({
supportedNativeBrowser: boolean,
experiment: Experiment,
displayOnly?: $ReadOnlyArray<$Values<typeof DISPLAY_ONLY_VALUES>>,
userAgent?: string,
|}): $ReadOnlyArray<$Values<typeof FUNDING>> {
if (fundingSource) {
return [fundingSource];
Expand All @@ -247,6 +268,7 @@ export function determineEligibleFunding({
supportedNativeBrowser,
experiment,
displayOnly,
userAgent,
})
);

Expand Down
Loading
Loading