I have just tried this.
frappe@e2bf51c43428:~/frappe-bench$ bench get-app payments --resolve-deps
Following apps will be installed
1. payments
Getting payments
$ git clone https://github.com/frappe/payments.git --origin upstream
Cloning into 'payments'...
remote: Enumerating objects: 2199, done.
remote: Counting objects: 100% (873/873), done.
remote: Compressing objects: 100% (313/313), done.
remote: Total 2199 (delta 720), reused 568 (delta 560), pack-reused 1326 (from 3)
Receiving objects: 100% (2199/2199), 407.15 KiB | 1.23 MiB/s, done.
Resolving deltas: 100% (1200/1200), done.
Installing payments
$ /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/frappe/frappe-bench/apps/payments
$ bench build --app payments
✔ Application Assets Linked
yarn run v1.22.22
$ node esbuild --production --apps payments --run-build-command
File Size
DONE Total Build Time: 202.457ms
Done in 1.12s.
Compiling translations for payments
frappe@e2bf51c43428:~/frappe-bench$ bench get-app webshop
Getting webshop
$ git clone https://github.com/frappe/webshop.git --origin upstream
Cloning into 'webshop'...
remote: Enumerating objects: 403589, done.
remote: Counting objects: 100% (1127/1127), done.
remote: Compressing objects: 100% (332/332), done.
remote: Total 403589 (delta 978), reused 795 (delta 795), pack-reused 402462 (from 2)
Receiving objects: 100% (403589/403589), 913.82 MiB | 29.18 MiB/s, done.
Resolving deltas: 100% (284729/284729), done.
Ignoring dependencies of webshop. To install dependencies use --resolve-deps
Installing webshop
$ /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/frappe/frappe-bench/apps/webshop
$ bench build --app webshop
✔ Application Assets Linked
yarn run v1.22.22
$ node esbuild --production --apps webshop --run-build-command
Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
File Size
webshop/dist/js/
└─ web.bundle.WLOGYSZO.js 33.36 Kb
webshop/dist/css/
└─ webshop-web.bundle.MYPPSQVR.css 22.79 Kb
webshop/dist/css-rtl/
└─ webshop-web.bundle.7SUF4XJI.css 22.78 Kb
DONE Total Build Time: 1.141s
Done in 2.08s.
Compiling translations for webshop
frappe@e2bf51c43428:~/frappe-bench$ bench --site frontend install-app webshop
Installing payments...
Updating DocTypes for payments : [========================================] 100%
* Installing Payment Custom Fields in Web Form
Updating Dashboard for payments
App erpnext already installed
Installing webshop...
Updating DocTypes for webshop : [========================================] 100%
Thank you for installing Frappe Webshop!
Updating Dashboard for webshop
Here are the logs. If something is missing, please let me know.
bench.log
2025-05-29 11:26:05,236 INFO /usr/local/bin/bench get-app payments --resolve-deps
2025-05-29 11:26:05,833 LOG Getting payments
2025-05-29 11:26:05,834 DEBUG cd ./apps && git clone https://github.com/frappe/payments.git --origin upstream
2025-05-29 11:26:06,774 LOG Installing payments
2025-05-29 11:26:06,775 DEBUG cd /home/frappe/frappe-bench && /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/frappe/frappe-bench/apps/payments
2025-05-29 11:26:08,821 DEBUG bench build --app payments
2025-05-29 11:26:08,958 INFO /usr/local/bin/bench build --app payments
2025-05-29 11:26:20,026 INFO /usr/local/bin/bench get-app payments
2025-05-29 11:26:34,733 INFO /usr/local/bin/bench get-app webshop
2025-05-29 11:26:35,056 LOG Getting webshop
2025-05-29 11:26:35,056 DEBUG cd ./apps && git clone https://github.com/frappe/webshop.git --origin upstream
2025-05-29 11:26:45,588 INFO /usr/local/bin/bench schedule
2025-05-29 11:26:47,193 INFO /usr/local/bin/bench schedule
2025-05-29 11:26:49,000 INFO /usr/local/bin/bench schedule
2025-05-29 11:26:51,193 INFO /usr/local/bin/bench schedule
2025-05-29 11:26:54,214 INFO /usr/local/bin/bench schedule
2025-05-29 11:26:59,043 INFO /usr/local/bin/bench schedule
2025-05-29 11:27:06,896 INFO /usr/local/bin/bench schedule
2025-05-29 11:27:21,077 INFO /usr/local/bin/bench schedule
2025-05-29 11:27:25,491 LOG Installing webshop
2025-05-29 11:27:25,491 DEBUG cd /home/frappe/frappe-bench && /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/frappe/frappe-bench/apps/webshop
2025-05-29 11:27:27,490 DEBUG bench build --app webshop
2025-05-29 11:27:27,626 INFO /usr/local/bin/bench build --app webshop
2025-05-29 11:27:33,502 INFO /usr/local/bin/bench --site frontend install-app webshop
2025-05-29 11:27:47,792 INFO /usr/local/bin/bench schedule
database.log
2025-05-29 11:27:35,163 WARNING database DDL Query made to DB:
create table `tabPayment Gateway` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`gateway` varchar(140) unique,
`gateway_settings` varchar(140),
`gateway_controller` varchar(140),
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:35,307 WARNING database DDL Query made to DB:
create table `tabGoCardless Mandate` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`disabled` int(1) not null default 0,
`customer` varchar(140),
`mandate` varchar(140) unique,
`gocardless_customer` varchar(140),
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:35,541 WARNING database DDL Query made to DB:
create table `tabMpesa Settings` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`payment_gateway_name` varchar(140) unique,
`consumer_key` varchar(140),
`consumer_secret` text,
`initiator_name` varchar(140),
`till_number` varchar(140),
`transaction_limit` decimal(21,9) not null default 150000.0,
`sandbox` int(1) not null default 0,
`business_shortcode` varchar(140),
`online_passkey` text,
`security_credential` text,
`account_balance` longtext,
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:35,698 WARNING database DDL Query made to DB:
create table `tabGoCardless Settings` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`gateway_name` varchar(140) unique,
`access_token` varchar(140),
`webhooks_secret` varchar(140),
`use_sandbox` int(1) not null default 0,
`header_img` text,
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:35,833 WARNING database DDL Query made to DB:
create table `tabBraintree Settings` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`gateway_name` varchar(140),
`merchant_id` varchar(140),
`public_key` varchar(140),
`private_key` text,
`use_sandbox` int(1) not null default 0,
`header_img` text,
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:36,358 WARNING database DDL Query made to DB:
create table `tabStripe Settings` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`gateway_name` varchar(140),
`publishable_key` varchar(140),
`secret_key` text,
`header_img` text,
`redirect_url` varchar(140),
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:37,973 WARNING database DDL Query made to DB:
ALTER TABLE `tabWeb Form` MODIFY `condition_json` json, MODIFY `amount` decimal(21,9) not null default 0
2025-05-29 11:27:39,296 WARNING database DDL Query made to DB:
create table `tabWebsite Item Tabbed Section` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`label` varchar(140),
`content` longtext,
parent varchar(140),
parentfield varchar(140),
parenttype varchar(140),
index parent(parent))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:39,447 WARNING database DDL Query made to DB:
create table `tabRecommended Items` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`website_item` varchar(140),
`website_item_name` varchar(140),
`item_code` varchar(140),
`route` text,
`website_item_image` text,
`website_item_thumbnail` varchar(140),
parent varchar(140),
parentfield varchar(140),
parenttype varchar(140),
index parent(parent))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:39,569 WARNING database DDL Query made to DB:
create table `tabWishlist Item` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`item_code` varchar(140),
`website_item` varchar(140),
`web_item_name` varchar(140),
`item_name` varchar(140),
`item_group` varchar(140),
`description` longtext,
`route` text,
`image` text,
`warehouse` varchar(140),
parent varchar(140),
parentfield varchar(140),
parenttype varchar(140),
index parent(parent))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:39,688 WARNING database DDL Query made to DB:
create table `tabHomepage Featured Product` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`item_code` varchar(140),
`item_name` varchar(140),
`description` longtext,
`image` text,
`thumbnail` text,
`route` text,
parent varchar(140),
parentfield varchar(140),
parenttype varchar(140),
index parent(parent))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:39,817 WARNING database DDL Query made to DB:
create table `tabWishlist` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`user` varchar(140) unique,
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:39,961 WARNING database DDL Query made to DB:
create table `tabItem Review` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`website_item` varchar(140),
`user` varchar(140),
`customer` varchar(140),
`item` varchar(140),
`published_on` varchar(140),
`review_title` varchar(140),
`rating` decimal(3,2),
`comment` text,
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:40,262 WARNING database DDL Query made to DB:
create table `tabWebsite Offer` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`offer_title` varchar(140),
`offer_subtitle` varchar(140),
`offer_details` longtext,
parent varchar(140),
parentfield varchar(140),
parenttype varchar(140),
index parent(parent))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:40,424 WARNING database DDL Query made to DB:
create table `tabWebsite Item` (
name varchar(140) primary key,
creation datetime(6),
modified datetime(6),
modified_by varchar(140),
owner varchar(140),
docstatus int(1) not null default '0',
idx int(8) not null default '0',
`naming_series` varchar(140) default 'WEB-ITM-.####',
`web_item_name` varchar(140),
`route` text,
`has_variants` int(1) not null default 0,
`variant_of` varchar(140),
`published` int(1) not null default 1,
`item_code` varchar(140),
`item_name` varchar(140),
`item_group` varchar(140),
`stock_uom` varchar(140),
`description` longtext,
`brand` varchar(140),
`website_image` text,
`website_image_alt` varchar(140),
`slideshow` varchar(140),
`thumbnail` varchar(140),
`website_warehouse` varchar(140),
`on_backorder` int(1) not null default 0,
`short_description` text,
`web_long_description` longtext,
`show_tabbed_section` int(1) not null default 0,
`ranking` int(11) not null default 0,
`website_content` longtext,
`_user_tags` text,
`_comments` text,
`_assign` text,
`_liked_by` text,
index `variant_of`(`variant_of`),
index `item_group`(`item_group`),
index `brand`(`brand`),
index modified(modified))
ENGINE=InnoDB
ROW_FORMAT=DYNAMIC
CHARACTER SET=utf8mb4
COLLATE=utf8mb4_unicode_ci
2025-05-29 11:27:40,570 WARNING database DDL Query made to DB:
ALTER TABLE `tabWebsite Item`
ADD INDEX IF NOT EXISTS `route_index`(route(500))
2025-05-29 11:27:42,190 WARNING database DDL Query made to DB:
ALTER TABLE `tabItem` MODIFY `standard_rate` decimal(21,9) not null default 0, MODIFY `last_purchase_rate` decimal(21,9) not null default 0, MODIFY `safety_stock` decimal(21,9) not null default 0, MODIFY `max_discount` decimal(21,9) not null default 0, MODIFY `over_billing_allowance` decimal(21,9) not null default 0, MODIFY `total_projected_qty` decimal(21,9) not null default 0, MODIFY `over_delivery_receipt_allowance` decimal(21,9) not null default 0, MODIFY `valuation_rate` decimal(21,9) not null default 0, MODIFY `opening_stock` decimal(21,9) not null default 0, MODIFY `weight_per_unit` decimal(21,9) not null default 0