diff --git a/vendor/magento/module-negotiable-quote/Controller/Quote/Order.php b/vendor/magento/module-negotiable-quote/Controller/Quote/Order.php
index 50d1f27e44..45b7dd8eb5 100644
--- a/vendor/magento/module-negotiable-quote/Controller/Quote/Order.php
+++ b/vendor/magento/module-negotiable-quote/Controller/Quote/Order.php
@@ -29,7 +29,7 @@ class Order extends Quote implements HttpGetActionInterface

         /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
         $resultRedirect = $this->resultRedirectFactory->create();
-        $resultRedirect->setPath('checkout/onepage/success');
+        $resultRedirect->setPath('checkout/onepage/success', ['negotiableQuoteId' => $quoteId]);

         try {
             $quote = $this->quoteRepository->get($quoteId);
diff --git a/vendor/magento/module-negotiable-quote/Model/Plugin/Checkout/Model/SessionPlugin.php b/vendor/magento/module-negotiable-quote/Model/Plugin/Checkout/Model/SessionPlugin.php
index 860b9f60b6..a090b6f63a 100644
--- a/vendor/magento/module-negotiable-quote/Model/Plugin/Checkout/Model/SessionPlugin.php
+++ b/vendor/magento/module-negotiable-quote/Model/Plugin/Checkout/Model/SessionPlugin.php
@@ -82,4 +82,20 @@ class SessionPlugin

         return $result;
     }
+
+    /**
+     * In case of negotiable quote is active do not clear regular checkout session to keep shopping cart items
+     *
+     * @param Session $subject
+     * @param callable $proceed
+     * @return Session
+     */
+    public function aroundClearQuote(Session $subject, callable $proceed)
+    {
+        $result = null;
+        if (!$this->request->getParam('negotiableQuoteId')) {
+            $result = $proceed();
+        }
+        return $result ?: $subject;
+    }
 }
diff --git a/app/code/Magento/PaypalNegotiableQuote/LICENSE_EE.txt b/app/code/Magento/PaypalNegotiableQuote/LICENSE_EE.txt
new file mode 100644
index 0000000000..2bddf5feda
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/LICENSE_EE.txt
@@ -0,0 +1,437 @@
+MAGENTO(tm) ENTERPRISE EDITION
+END USER LICENSE AGREEMENT
+
+This End User License Agreement ("Agreement") is entered into by and between X.commerce, Inc.
+through its Magento division ("Magento"), and the Licensee executing the Magento Order Form
+(defined below). The parties agree as follows:
+
+TERMS AND CONDITIONS
+
+1.  License
+    1.1. Subject to Licensee's payment of the applicable fees and to Licensee's compliance with
+    other terms and conditions of this Agreement, Magento grants Licensee a non-transferable,
+    non-assignable, non-sublicensable, worldwide license to copy the Software for the purpose of
+    installing and using it on a computer and solely for internal purposes, in accordance with the
+    Software's technical documentation and solely during the periods and on the maximum number
+    of Designated Servers specified in one or more applicable Magento or Magento-authorized
+    reseller ordering schedules (the "Magento Order Form") executed with Licensee.
+
+    1.2. In the event that Licensee's actual number of Servers of a particular Software license
+    exceeds the licensed number of Designated Servers on such license, Licensee shall promptly
+    provide Magento with written notice and pay Magento the fees required to license such
+    additional Server(s) in accordance with the commercial terms set out in the Magento Order
+    Form.
+
+    1.3. Licensee shall implement reasonable controls to ensure that it does not exceed the
+    maximum number of licensed Servers of the Software. Magento reserves the right to audit
+    Licensee's use of the Software during normal business hours and with reasonable notice and to
+    include means within the Software to limit Licensee's use of the Software to the licensed
+    number of Servers.
+
+    1.4. Magento shall provide to Licensee an initial copy of the Software, including the associated
+    technical documentation, for use by Licensee in accordance with this Agreement. Subject to
+    Sections 1.1-1.3 above, Licensee is authorized to make a reasonable number of non-Server
+    copies of the Software, e.g., onto a local pc, as it requires for purpose of exercising its rights
+    under this Agreement.
+
+    1.5. Licensee is authorized to use the Software on a single substitute or backup Server on a
+    temporary basis without charge any time a Designated Server is inoperative due to a
+    malfunction beyond the control of Licensee. Licensee may transfer the Software on a
+    permanent basis to a single replacement Server without charge. Licensee agrees to provide
+    Magento with written notice, including the Server type and operating system, of any such
+    transfer to a backup or replacement Server within five (5) days thereafter.
+
+    1.6. Licensee acknowledges that portions of the Software are also freely available to the public
+    under Magento's open source version of the Software, known as Magento Community Edition,
+    subject to certain conditions, with limited warranties and other limited assurances, and without
+    service or support. As an express condition for the license granted hereunder, Licensee agrees
+    that any use during the term of this Agreement of such open source versions of the Software,
+    whether in a Production Server Instance or a Non-Production Server Instance, shall be deemed
+    use of the Software for purposes of the calculation of fees payable under the Agreement.
+
+    1.7. Magento also grants Licensee the right to modify and create derivative works of the
+    Software. Licensee may contribute the rights in any of those derivative works back to Magento.
+    Licensee may contact Magento for more information regarding contributions of derivative
+    works rights to Magento. Regardless of whether Licensee contributes such derivative works
+    rights to Magento, Licensee hereby grants Magento a perpetual and irrevocable (irrespective of
+    the expiration or termination of this Agreement), nonexclusive, transferable, worldwide, and
+    royalty-free license to reproduce, create derivative works of, distribute, perform, and display
+    any derivative works of the Software developed by or for Licensee, and to use, make, have
+    made, sell, offer to sell, import, export, and otherwise exploit any product based on any such
+    derivative works.
+
+2.  License Exclusions
+    2.1 Except as expressly authorized herein, Licensee shall not:
+        a. use or deploy the Software on any Server in excess of the number of Designated Servers
+        specified in the applicable Magento Order Form;
+
+        b. distribute, sublicense, disclose, market, rent, lease, or offer remote computing services,
+        networking, batch processing or transfer of, the Software to any third party, or permit any
+        person or entity to have access to the Software by means of a time sharing, remote
+        computing services, networking, batch processing, service bureau or time sharing
+        arrangement;
+
+        c. export the Software in violation of U.S. Department of Commerce export administration
+        regulations.
+
+    2.2. No license, right or interest in any Magento trademark, trade name or service mark is
+    granted hereunder.
+
+3.  Fees and Payment Terms
+    Licensee agrees to the fees and payment terms that are described in each Magento Order Form
+    executed by Licensee.
+
+4.  Title and Protection
+    4.1. Magento (or its third party providers) retains title to all portions of the Software and other
+    Proprietary Materials and any copies thereof. The Proprietary Materials contain valuable
+    proprietary information, and Licensee shall not disclose them to anyone other than those of its
+    employees or consultants under written nondisclosure obligations at least as restrictive as
+    those contained in this Agreement, having a need to know for purposes consistent with this
+    Agreement. Licensee shall be responsible for the compliance of such employees or consultants.
+    Licensee shall affix, to each full or partial copy of the Software made by Licensee, all copyright
+    and proprietary information notices as were affixed to the original. The obligations set forth in
+    this Section shall survive termination of this Agreement.
+
+    4.2. Licensee acknowledges that the Software includes certain open source software which is
+    governed by the applicable license terms thereof. A list of such open source software, as
+    amended from time to time, including the links applicable to such open source software is
+    specified in the product software bundled within the Software, and the Software is subject to
+    the provisions of such license agreements, and in the event of any contradiction between the
+    provisions of this Agreement and the provisions of such applicable license agreement, the
+    provisions of the applicable open source license agreement shall prevail solely with respect to
+    such open source software products.
+
+    4.3. If the Software is acquired by or on behalf of a unit or agency of the U.S. Government (the
+    "Government"), the Government agrees that such Product is "commercial computer software"
+    or "commercial computer software documentation" and that, absent a written agreement to
+    the contrary, the Government's rights with respect thereto are limited by the terms of this
+    Agreement, pursuant to applicable FAR and/or DFARS and successor regulations.
+
+5.  Patent and Copyright Indemnity
+    Subject to the limitations in Section 8, for such time as Licensee is entitled to receive Support
+    Services (as defined below), Magento shall indemnify and defend Licensee against any claims made
+    by a third party that Licensee's reproduction of the Software (which, for the purposes of this Section
+    5, means the Software as delivered by Magento, excluding the open source software programs
+    described in Section 4.2) as permitted in this Agreement directly infringes such third party's United
+    States patent or copyright, provided that Licensee complies with the requirements of this Section.
+    Licensee will (a) provide Magento prompt written notice of any claim that the Software infringes any
+    intellectual property rights, (b) provide Magento with all information and assistance requested of it
+    with respect to any such claim, and (c) offer Magento sole and complete authority to defend and/or
+    settle any and all such claims.
+
+    In the event that a court holds that the Software, or if Magento believes a court may hold that the
+    Software, infringes the intellectual property rights of any third party, Magento may (but is not
+    obligated to), in its sole discretion, do any of the following: obtain for Licensee the right to continue
+    using the Software, replace or modify the Software so that it becomes non-infringing while providing
+    substantially equivalent performance or, accept return of the Software, terminate this Agreement,
+    and refund Licensee an amount equal to the license fees paid to Magento multiplied by the
+    percentage of the term of the license for the Software that Licensee did not enjoy due to the early
+    termination by Magento.
+
+    Magento shall have no liability or obligation under this Agreement to the extent the alleged
+    infringement is based on (i) a modification or derivative work of the Software developed by anyone
+    other than Magento; (ii), a combination of the Software with any product or service not provided by
+    Magento; (ii) use of the Software with one or more Servers not listed in a Magento Order Form; (iii)
+    use of the Software other than in accordance with this Agreement or the documentation; (iv)
+    indirect or willful infringement; or (v) any open source code, as described in Section 4.2.
+
+    This Section 5 states Magento's entire liability and Licensee's exclusive remedy for any infringement
+    related to the Software.
+
+6.  Default and Termination
+    6.1. An event of default shall be deemed to occur if: (i) Licensee fails to perform any of its
+    obligations under the Sections entitled "License Exclusions" or "Title and Protection"; (ii)
+    Licensee fails to pay amounts due pursuant to its agreement to the fees and payment terms in
+    Section 3 of this Agreement within seven (7) days of the relevant due date; or (iii) either party
+    fails to perform any other material obligation under this Agreement and such failure remains
+    uncured for more than thirty (30) days after receipt of written notice thereof.
+
+    6.2. If an event of default occurs, the non-defaulting party, in addition to any other rights
+    available to it under the law, may terminate this Agreement and all licenses granted hereunder
+    by written notice to the defaulting party.
+
+    6.3. Within thirty (30) days after termination of the Software license or this Agreement or
+    expiration of the license term as specified in the Magento Order Form, Licensee shall certify in
+    writing to Magento that Licensee has ceased use of any and all Proprietary Materials and that
+    all copies or embodiments thereof in any form, including partial copies within modified
+    versions, have been destroyed.
+
+7.  Warranty
+    7.1. Warranty for Software. Magento warrants for a single period of ninety (90) days
+    commencing upon Magento's electronic delivery of the Software to Licensee that the Software,
+    as delivered, will in all material respects perform the functions described in the specifications
+    contained in the documentation provided with the Software. In the event that the Software
+    does not, in all material respects, perform the functions therein described, Magento or its
+    authorized reseller will undertake to correct any reported error in accordance with the Support
+    Services Terms and Conditions set forth below in Section 9, which shall be Magento's entire
+    liability and Licensee's exclusive remedy for breach of this warranty. Magento does not warrant
+    that the Software will meet Licensee's requirements, that the Software will operate in the
+    combinations which Licensee may select for use, that the operation of the Software will be
+    uninterrupted or error-free, or that all error conditions will be corrected. EXCEPT AS PROVIDED
+    IN THIS SECTION ALL SOFTWARE PROVIDED HEREUNDER IS PROVIDED "AS IS".
+
+    7.2. DISCLAIMER. THE EXPRESS WARRANTIES SET FORTH IN THIS SECTION 7 ARE THE ONLY
+    WARRANTIES MADE BY MAGENTO WITH RESPECT TO THE SOFTWARE PROVIDED BY MAGENTO.
+    MAGENTO MAKES NO OTHER WARRANTIES, EXPRESS, IMPLIED OR ARISING BY CUSTOM OR
+    TRADE USAGE, AND, SPECIFICALLY, MAKES NO WARRANTY OF TITLE, NON-INFRINGEMENT,
+    ACCURACY, QUIET ENJOYMENT, MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+    PURPOSE. MAGENTO'S EXPRESS WARRANTIES SHALL NOT BE ENLARGED, DIMINISHED OR
+    AFFECTED BY, AND NO OBLIGATION OR LIABILITY SHALL ARISE OUT OF, MAGENTO RENDERING
+    TECHNICAL OR OTHER ADVICE OR SERVICE IN CONNECTION WITH THE SOFTWARE.
+
+8.  Limitation of Liability
+    8.1. LIABILITY EXCLUSIONS. UNDER NO CIRCUMSTANCES WILL MAGENTO BE LIABLE FOR: LOSS
+    OF REVENUE; LOSS OF ACTUAL OR ANTICIPATED PROFITS; LOSS OF CONTRACTS; LOSS OF THE
+    USE OF MONEY; LOSS OF ANTICIPATED SAVINGS; LOSS OF BUSINESS; LOSS OF OPPORTUNITY;
+    LOSS OF GOODWILL; LOSS OF REPUTATION; LOSS OF, DAMAGE TO OR CORRUPTION OF DATA;
+    OR CONSEQUENTIAL OR INDIRECT LOSS OR SPECIAL, PUNITIVE, OR INCIDENTAL DAMAGES
+    (INCLUDING, FOR THE AVOIDANCE OF DOUBT, WHERE SUCH LOSS OR DAMAGE IS ALSO OF A
+    CATEGORY OF LOSS OR DAMAGE ALREADY LISTED), WHETHER FORESEEABLE OR
+    UNFORESEEABLE, BASED ON CLAIMS OF LICENSEE, MAGENTO OR ANY THIRD PARTY ARISING
+    OUT OF ANY BREACH OR FAILURE OF EXPRESS OR IMPLIED WARRANTY CONDITIONS OR OTHER
+    TERM, BREACH OF CONTRACT, MISREPRESENTATION, NEGLIGENCE, OTHER LIABILITY IN TORT,
+    FAILURE OF ANY REMEDY TO ACHIEVE ITS ESSENTIAL PURPOSE, OR OTHERWISE.
+
+    8.2. LIABILITY CAP. NOTWITHSTANDING THE FORM (E.G., CONTRACT, TORT, OR OTHERWISE) IN
+    WHICH ANY LEGAL OR EQUITABLE ACTION MAY BE BROUGHT, IN NO EVENT (INCLUDING WITH
+    RESPECT TO OBLIGATIONS ARISING UNDER SECTION 5) WILL MAGENTO OR ITS SUPPLIERS BE
+    LIABLE FOR DAMAGES, EXPENSES, COSTS, LIABILITIES, SUITS, CLAIMS, RESTITUTION OR LOSSES,
+    THAT EXCEED, IN THE AGGREGATE, THE AMOUNT OF FEES PAID BY LICENSEE FOR THE
+    SOFTWARE LICENSE IN THE FIRST TWELVE (12) MONTH PERIOD AFTER THE EFFECTIVE DATE.
+
+9.  Support Services Terms and Conditions
+    For the periods specified in the Magento Order Form, Magento or its authorized reseller will provide
+    support services and Updates for the Software as described in Magento's standard Support Services
+    Terms and Conditions, which follow. Magento will have no obligation to provide support for any
+    modifications or derivative works of the Software developed by anyone other than Magento.
+
+10. Customer References
+    Licensee hereby grants Magento the right to display Licensee's logos as part of Magento's customer
+    lists and other related marketing materials. The parties shall cooperate to undertake mutually-
+    agreed joint marketing activities.
+
+11. Notices
+    All notices shall be in writing and sent by first class mail or overnight mail (or courier), transmitted by
+    facsimile (if confirmed by such mailing), or email, to the addresses indicated on the Magento Order
+    Form, or such other address as either party may indicate by at least ten (10) days prior written
+    notice to the other party. Notices to Magento shall be sent to the Contracts Administration
+    Department.
+
+12. Assignment
+    Licensee may not assign this Agreement without the prior written consent of Magento; provided
+    that such consent shall not be required for assignment to a purchaser of all or substantially all of the
+    assets or equity securities of Licensee who undertakes in writing to be bound by all the terms and
+    conditions of this Agreement. Any prohibited assignment shall be null and void.
+
+13. Entire Agreement
+    Along with Magento's standard Support Services Terms and Conditions, which follow, and the
+    Magento Order Form, this Agreement is the complete and exclusive agreement between the parties,
+    which supersedes all proposals or prior agreements, oral or written, including any online (click-
+    through) agreement which Licensee may have accepted in conjunction with the downloading of the
+    Software, and all other communications between the parties relating to the subject matter hereof.
+    No purchase order, other ordering document or any hand written or typewritten text which purports
+    to modify or supplement the printed text hereof or Magento Order Form shall add to or vary the
+    terms thereof and Magento hereby rejects same. Except as contained in a writing signed by both
+    parties, all such proposed variations or additions are objected to and shall have no force or effect.
+
+14. General
+    This Agreement is made in and shall be governed by the laws of the State of California, without
+    giving effect to any principles that provide for the application of the law of another jurisdiction. All
+    proceedings shall be conducted in English. Venue for all proceedings shall be Santa Clara County,
+    California, provided that Magento may seek injunctive relief in any court of competent jurisdiction.
+    The United Nations Convention for the International Sale of Goods shall not apply. The section
+    headings herein are provided for convenience only and have no substantive effect on the
+    construction of this Agreement. Except for Licensee's obligation to pay Magento, neither party shall
+    be liable for any failure to perform due to causes beyond its reasonable control. If any provision of
+    this Agreement is held to be unenforceable, this Agreement shall be construed without such
+    provision. The failure by a party to exercise any right hereunder shall not operate as a waiver of such
+    party's right to exercise such right or any other right in the future. This Agreement may be amended
+    only by a written document executed by a duly authorized representative of each of the parties. The
+    parties agree to receive electronic documents and accept electronic signatures (information
+    attached or logically associated with such document and clicked or otherwise adopted with an intent
+    to sign) including in counterparts which shall be valid substitutes for paper-based documents and
+    signatures, and the legal validity of a transaction will not be denied on the ground that it is not in
+    writing.
+
+15. Definitions
+    "Designated Server" shall mean the Server specified in a Magento Order Form with respect to a
+    particular Software license. Such Server may be that of a third-party under nondisclosure obligations
+    that will host the Software for the benefit of Licensee.
+
+    "Modifications" means any code developed by Licensee or any third party, including without
+    limitation, configuration, integrations, implementations, or localizations to the external layer of the
+    core, baseline Software product. The term "Modifications" excludes Updates.
+
+    "Proprietary Material" means the Software, related documentation, and all parts, copies and
+    modifications thereof, and any other information, in whatever form, received by Licensee
+    hereunder, provided, however, such information shall not be deemed Proprietary Material if it (a) is
+    or becomes a part of the public domain through no act or omission of Licensee; or (b) was in
+    Licensee's lawful possession prior to the disclosure and had not been obtained by Licensee from
+    Magento; or (c) is lawfully disclosed to Licensee by a third party without restriction on disclosure; or
+    (d) is independently developed by Licensee without reference to or use of Magento's Proprietary
+    Material.
+
+    "Server" means each physical or virtual server from which a single instance of the Software is
+    accessed and used either for production purposes ("Production Server Instance") or for non-
+    production purposes, such as development, testing, training and other non-operational business
+    transactions ("Non-Production Server Instance"). For example, if one server contains two (2)
+    instances of the Software, i.e., one Production Server Instance and one Non-Production Server
+    Instance, then a Server license is required for each of such instances; development in-house and by
+    third-party consultants requires licenses for two Non-Production Server Instances.
+
+    "Software" means Magento's proprietary e-commerce software solution known as the Magento(tm)
+    Enterprise Edition, provided solely in source code, including associated technical documentation,
+    and all Updates thereof furnished to Licensee as part of Support Services. Except as otherwise
+    specified herein, the term Software includes certain open source software programs described in
+    Section 4.2. "Software" does not include any Modifications.
+
+    "Updates" means all published revisions and corrections to the printed documentation and
+    corrections and new releases of the Software which are generally made available to Magento's
+    supported customers at no additional cost or for media and handling charges only. Updates shall not
+    include any options or future products which Magento sells separately.
+
+
+SUPPORT SERVICES TERMS AND CONDITIONS
+
+Unless otherwise defined herein, all capitalized terms will have the meanings set forth in the
+Agreement.
+
+1.  "Support Services" consists of:
+    a. Advice regarding the downloading, installation and configuration of the Software (including
+    Updates provided by Magento, but excluding for the avoidance of doubt any Modifications to
+    the Software), when used by Licensee on systems that meet the Software's "System
+    Requirements" specified on Magento's website at www.magentocommerce.com/system-
+    requirements.
+
+    b. Facilities for bug tracking, escalation of problems for priority attention, and access to
+    community-supported FAQs and Forums relating to the Software.
+
+    c. Assistance with troubleshooting to diagnose and fix errors in the Software.
+
+    d. Access to Magento documentation relating to the Software, including authorization to make
+    copies of that documentation for internal use as specified in the Agreement.
+
+2.  Exclusions from Support Services.
+    Magento shall have no obligation to support (i) versions of the
+    Software other than the then-current and immediately previous releases, which are operated on a
+    supported hardware/operating system platform specified in the release notes for the Software; (ii)
+    altered or modified Software; (iii) Software accessed on unlicensed Servers; (iv) problems caused by
+    Licensee's negligence, misuse, or hardware malfunction; or (v) use of the Software inconsistent with
+    Magento's instructions. Magento is not responsible for hardware changes necessitated by changes
+    to the Software. Support Services does not include:
+        a. Assistance in the development or debugging of Licensee's system, including the operating
+        system and support tools.
+
+        b. Information and assistance on technical issues related to the installation, administration, and
+        use of enabling technologies such as databases, computer networks, and communications.
+
+        c. Assistance with the installation and configuration of hardware including, but not limited to
+        computers, hard disks, networks, and printers.
+
+3.  Subcontractors.
+    Magento or its authorized resellers reserve the right to subcontract any or all of
+    the work to be performed under these Support Terms, and Magento retains responsibility for any
+    work so subcontracted.
+
+4.  Licensee Responsibilities.
+    Licensee shall provide commercially reasonable cooperation and full
+    information to Magento or its authorized resellers with respect to the furnishing of Support Services
+    under this Agreement.
+
+5.  Support Contacts.
+    Licensee shall designate one or more support contacts that are authorized to
+    submit Software problems. If Licensee has purchased the license from a Magento-authorized
+    reseller, Licensee shall contact that party for assistance. If Licensee has purchased the license
+    directly from Magento, Licensee may contact Magento on the www.magentocommere.com website
+    or at its toll-free Support telephone number.
+
+6.  Problem Priority.
+    Upon receipt of a properly submitted Software problem, as specified on
+    Magento's website at www.magentocommerce.com, Magento or its authorized reseller shall
+    prioritize it in accordance with the guidelines below:
+
+        a. Priority 1 (P1) - A P1 is a catastrophic production problem within the Software that severely
+        impacts the Licensee's Production Server Instance, or because of which Licensee's Production
+        Server Instance is down or not functioning, or that results in a loss of production data and no
+        work around exists. P1 problems must be reported on Magento's toll-free support telephone
+        number in order to expedite resolution. Magento will use continuous efforts during its normal
+        hours of operation, with appropriate escalation to senior management, to provide a resolution
+        for any P1 problem as soon as is commercially reasonable.
+
+        b. Priority 2 (P2) - A P2 is a problem within the Software where the Licensee's system is
+        functioning but in a reduced capacity, or the Problem is causing significant impact to portions of
+        the Licensee's business operations and productivity, or the Software is exposed to potential loss
+        or interruption of service. Problems existing in a non-production environment that would
+        otherwise qualify as a P1 if they were in a production system qualify as P2. Magento will use
+        reasonable efforts during its normal hours of operation to provide a resolution for any P2
+        problem as soon as is commercially reasonable.
+
+        c. Priority 3 (P3) - A P3 is a medium-to-low impact problem that involves partial and/or non-
+        critical loss of functionality, or that impairs some operations but allows Licensee's operations to
+        continue to function. Problems for which there is limited or no loss or functionality or impact to
+        Licensee's operation and for which there is an easy work-around qualify as P3. Magento will use
+        reasonable efforts during its normal hours of operation to provide a resolution for any P3
+        problem in time for the next minor release of the Software.
+
+        d. Priority 4 (P4) - A P4 is for a general usage question or issue that may be cosmetic in nature
+        or documentation related, but the Software works without normal hours of operation to
+        provide a resolution for any P4 problem in time for the next major release of the Software.
+
+        e. Enhancement Request (ER) - An ER is a recommendation for future product enhancement or
+        modification to add official support and documentation for unsupported or undocumented
+        feature, or features that do not exist in the Software. Magento will take ERs into consideration
+        in the product management process, but has no obligation to deliver enhancements based on
+        any ER.
+
+7.  Response Times.
+    Magento or its authorized reseller shall exercise commercially reasonable efforts
+    to meet the response times specified below for Gold Support (unless Licensee has upgraded to
+    Platinum Support, as provided in the Magento Order Form), following receipt of a Software problem
+    properly submitted by Licensee:
+
+    Magento GOLD Support Response Times
+    WEB Ticket Submission                    24 x 7 x 365
+    WEB Ticket Response Time*                24 business hours
+    North American Telephone Support Hours   M-F 08:00 - 17:00 (PT)
+    European Telephone Support Hours         M-F 08:30 - 17:30 (CET)
+    Telephone Response Time P1 Issues*       4 business hours
+    Response Time P2-P4 Issues*              24 business hours
+    *From initial contact
+
+
+    Magento PLATINUM Support Response Times
+    WEB Ticket Submission                    24 x 7 x 365
+    WEB Ticket Response Time*                24 business hours
+    Telephone Support Hours                  24 hours
+    Telephone Response Time P1 Issues*       Up to 2 hours
+    Response Time P2-P4 Issues*              4 business hours
+    *From initial contact
+
+
+8.  Prohibited Use.
+    As a condition of Licensee's use of the Forums, Licensee will not use (and will
+    prohibit its customers from using) the Forums (i) to violate any applicable law, statute, ordinance or
+    regulation; (ii) to disseminate content that is harmful, threatening, abusive, harassing, tortuous,
+    defamatory, vulgar, obscene, libelous, or otherwise objectionable; (iii) to disseminate any software
+    viruses or any other computer code, files or programs that may interrupt, destroy or limit the
+    functionality of any computer software or hardware or telecommunications equipment; (iv) to
+    infringe the intellectual property rights or proprietary rights, or rights of publicity or privacy, of any
+    third party; or (v) use the Forums for any purpose other than their intended use.
+
+9.  Term and Termination.
+    Magento will provide Support Services and any Updates to Licensee
+    during the periods identified in the Magento Order Form, subject to Licensee's payment of the
+    applicable fees. In the event Licensee fails to pay such fees to Magento or in the event Licensee
+    materially breaches the Support Services provisions and does not cure such breach within thirty (30)
+    days of its receipt of Magento's notice of same, Magento may suspend or cancel Support Services.
+
+10. General.
+    Magento shall not be liable for any failure or delay in performance under these Support
+    Terms due to causes beyond its reasonable control. Any illegal or unenforceable provision shall be
+    severed from these Support Terms. Licensee agrees that any information received pursuant to these
+    Support Terms shall be deemed to be subject to the non-disclosure obligations set forth in the
+    License Agreement. Licensee's obligation of payment of moneys due under these Support Terms
+    shall survive termination of these Support Terms or the License Agreement. These Support Terms
+    state the entire agreement regarding provision of Support Services to Licensee and may be amended
+    only by a written amendment set forth on a separate document executed by authorized
+    representatives of both parties.
diff --git a/app/code/Magento/PaypalNegotiableQuote/Plugin/Payment/Block/Transparent/RedirectPlugin.php b/app/code/Magento/PaypalNegotiableQuote/Plugin/Payment/Block/Transparent/RedirectPlugin.php
new file mode 100644
index 0000000000..a7871f68ca
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/Plugin/Payment/Block/Transparent/RedirectPlugin.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\PaypalNegotiableQuote\Plugin\Payment\Block\Transparent;
+
+use Magento\Framework\App\RequestInterface;
+use Magento\Payment\Block\Transparent\Redirect;
+
+class RedirectPlugin
+{
+    /**
+     * Route path param
+     */
+    private $routePathParam = 'route_path';
+
+    /**
+     * @var string
+     */
+    private $negotiableQuoteIdParam = 'negotiableQuoteId';
+
+    /**
+     * @var RequestInterface
+     */
+    private $request;
+
+    /**
+     * @param RequestInterface $request
+     */
+    public function __construct(
+        RequestInterface $request
+    ) {
+        $this->request = $request;
+    }
+
+    /**
+     * Add negotiable quote id param to url
+     *
+     * @param Redirect $subject
+     * @param string $result
+     */
+    public function beforeGetRedirectUrl(Redirect $subject)
+    {
+        $negotiableQuoteId = $this->request->getParam($this->negotiableQuoteIdParam);
+        $routePathRedirect = $subject->getData($this->routePathParam);
+        if ($negotiableQuoteId && $routePathRedirect) {
+            $routePathRedirect = rtrim($routePathRedirect, '/');
+            $routePathRedirect .= '/' . $this->negotiableQuoteIdParam . '/' . $negotiableQuoteId;
+            $subject->setData($this->routePathParam, $routePathRedirect);
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Controller/Express/AbstractExpress.php b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Controller/Express/AbstractExpress.php
new file mode 100644
index 0000000000..69e51eeb71
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Controller/Express/AbstractExpress.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+declare(strict_types=1);
+
+namespace Magento\PaypalNegotiableQuote\Plugin\Paypal\Controller\Express;
+
+use Magento\Checkout\Model\Session;
+use Magento\Framework\App\RequestInterface;
+use Magento\Framework\Exception\NoSuchEntityException;
+use Magento\NegotiableQuote\Model\Restriction\RestrictionInterfaceFactory;
+use Magento\Quote\Model\QuoteRepository;
+
+/**
+ * Plugin for controllers derived from Magento\Paypal\Controller\Express\AbstractExpress.
+ */
+class AbstractExpress
+{
+    /**
+     * @var RequestInterface
+     */
+    private $request;
+
+    /**
+     * @var Session
+     */
+    private $checkoutSession;
+
+    /**
+     * @var RestrictionInterfaceFactory
+     */
+    private $restrictionInterfaceFactory;
+
+    /**
+     * @var QuoteRepository
+     */
+    private $quoteRepository;
+
+    /**
+     * AbstractExpress constructor.
+     *
+     * @param RequestInterface $request
+     * @param Session $checkoutSession
+     * @param RestrictionInterfaceFactory $restrictionInterfaceFactory
+     * @param QuoteRepository $quoteRepository
+     */
+    public function __construct(
+        RequestInterface $request,
+        Session $checkoutSession,
+        RestrictionInterfaceFactory $restrictionInterfaceFactory,
+        QuoteRepository $quoteRepository
+    ) {
+        $this->request = $request;
+        $this->checkoutSession = $checkoutSession;
+        $this->restrictionInterfaceFactory = $restrictionInterfaceFactory;
+        $this->quoteRepository = $quoteRepository;
+    }
+
+    /**
+     * Checks the negotiableQuoteId param placed via request and replace it from session if it is not set.
+     * See \Magento\PaypalNegotiableQuote\Plugin\Paypal\Model\Api\NvpPlugin for session-stored negotiable quote ID.
+     * See \Magento\NegotiableQuote\Model\Plugin\Checkout\Model\SessionPlugin where the NQ quote replaces active quote.
+     *
+     * @param \Magento\Paypal\Controller\Express\AbstractExpress $subject
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     */
+    public function beforeExecute(
+        \Magento\Paypal\Controller\Express\AbstractExpress $subject
+    ) {
+        $negotiableQuoteId = $this->request->getParam('negotiableQuoteId')
+            ?: $this->checkoutSession->getData('negotiableQuote_' . $this->request->getParam('token'));
+        if ($negotiableQuoteId) {
+            try {
+                $quote = $this->quoteRepository->get($negotiableQuoteId);
+                $restriction = $this->restrictionInterfaceFactory->create($quote);
+                if ($restriction->isOwner() && $restriction->canProceedToCheckout()) {
+                    $this->request->setParams(['negotiableQuoteId' => $negotiableQuoteId]);
+                }
+            } catch (NoSuchEntityException $e) {
+                return;
+            }
+        }
+    }
+}
diff --git a/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Controller/Express/AbstractExpress/Cancel.php b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Controller/Express/AbstractExpress/Cancel.php
new file mode 100644
index 0000000000..c900fcd27c
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Controller/Express/AbstractExpress/Cancel.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+declare(strict_types=1);
+
+namespace Magento\PaypalNegotiableQuote\Plugin\Paypal\Controller\Express\AbstractExpress;
+
+use Magento\Framework\App\RequestInterface;
+use Magento\Framework\Controller\Result\Redirect;
+use Magento\Framework\Exception\NoSuchEntityException;
+use Magento\NegotiableQuote\Model\Restriction\RestrictionInterfaceFactory;
+use Magento\Paypal\Controller\Express\AbstractExpress\Cancel as PaypalCancel;
+use Magento\Quote\Model\QuoteRepository;
+
+/**
+ * Plugin for PayPal Express cancel controller.
+ */
+class Cancel
+{
+    /**
+     * @var RequestInterface
+     */
+    private $request;
+
+    /**
+     * @var RestrictionInterfaceFactory
+     */
+    private $restrictionInterfaceFactory;
+
+    /**
+     * @var QuoteRepository
+     */
+    private $quoteRepository;
+
+    /**
+     * Cancel plugin constructor.
+     *
+     * @param RequestInterface $request
+     * @param RestrictionInterfaceFactory $restrictionInterfaceFactory
+     * @param QuoteRepository $quoteRepository
+     */
+    public function __construct(
+        RequestInterface $request,
+        RestrictionInterfaceFactory $restrictionInterfaceFactory,
+        QuoteRepository $quoteRepository
+    ) {
+        $this->request = $request;
+        $this->restrictionInterfaceFactory = $restrictionInterfaceFactory;
+        $this->quoteRepository = $quoteRepository;
+    }
+
+    /**
+     * Plugin which updates the redirect url for PayPal Express payment cancellations.
+     *
+     * If the cancellation occurred while checking out a negotiable quote, redirect to the negotiable quote details page
+     * instead of the active shopping cart.
+     *
+     * @param PaypalCancel $subject
+     * @param Redirect $result
+     * @return Redirect
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     */
+    public function afterExecute(
+        PaypalCancel $subject,
+        Redirect $result
+    ) {
+        $negotiableQuoteId = $this->request->getParam('negotiableQuoteId');
+        if ($negotiableQuoteId) {
+            try {
+                $quote = $this->quoteRepository->get($negotiableQuoteId);
+                $restriction = $this->restrictionInterfaceFactory->create($quote);
+                if ($restriction->isOwner() && $restriction->canProceedToCheckout()) {
+                    $result->setPath(
+                        'negotiable_quote/quote/view/quote_id/' . $negotiableQuoteId
+                    );
+                }
+            } catch (NoSuchEntityException $e) {
+                return $result;
+            }
+        }
+        return $result;
+    }
+}
diff --git a/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/Api/NvpPlugin.php b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/Api/NvpPlugin.php
new file mode 100644
index 0000000000..4b88587487
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/Api/NvpPlugin.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+declare(strict_types=1);
+
+namespace Magento\PaypalNegotiableQuote\Plugin\Paypal\Model\Api;
+
+use Magento\Framework\Exception\NoSuchEntityException;
+use Magento\NegotiableQuote\Model\Restriction\RestrictionInterfaceFactory;
+use Magento\Checkout\Model\Session;
+use Magento\Framework\App\RequestInterface;
+use Magento\Quote\Model\QuoteRepository;
+
+/**
+ * Plugin for PayPal API to persist negotiable quote ID by token.
+ */
+class NvpPlugin
+{
+    /**
+     * @var RequestInterface
+     */
+    private $request;
+
+    /**
+     * @var Session
+     */
+    private $checkoutSession;
+
+    /**
+     * @var RestrictionInterfaceFactory
+     */
+    private $restrictionInterfaceFactory;
+
+    /**
+     * @var QuoteRepository
+     */
+    private $quoteRepository;
+
+    /**
+     * Plugin constructor.
+     *
+     * @param RequestInterface $request
+     * @param Session $checkoutSession
+     * @param RestrictionInterfaceFactory $restrictionInterfaceFactory
+     * @param QuoteRepository $quoteRepository
+     */
+    public function __construct(
+        RequestInterface $request,
+        Session $checkoutSession,
+        RestrictionInterfaceFactory $restrictionInterfaceFactory,
+        QuoteRepository $quoteRepository
+    ) {
+        $this->request = $request;
+        $this->checkoutSession = $checkoutSession;
+        $this->restrictionInterfaceFactory = $restrictionInterfaceFactory;
+        $this->quoteRepository = $quoteRepository;
+    }
+
+    /**
+     * Storing negotiableQuoteId for PayPal checkout by token.
+     * See \Magento\PaypalNegotiableQuote\Plugin\Paypal\Controller\Express\AbstractExpress where it is used.
+     *
+     * @param \Magento\Paypal\Model\Api\Nvp $subject
+     * @param \Closure $proceed
+     * @param string $key
+     * @param null $index
+     * @return string
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     */
+    public function aroundGetData(
+        \Magento\Paypal\Model\Api\Nvp $subject,
+        \Closure $proceed,
+        string $key = '',
+        $index = null
+    ) {
+        if ($key === 'token') {
+            $token = $proceed($key, $index);
+            $negotiableQuoteId = $this->request->getParam('negotiableQuoteId');
+            if ($negotiableQuoteId) {
+                try {
+                    $quote = $this->quoteRepository->get($negotiableQuoteId);
+                    $restriction = $this->restrictionInterfaceFactory->create($quote);
+                    if ($restriction->isOwner() && $restriction->canProceedToCheckout()) {
+                        $this->checkoutSession->setData('negotiableQuote_' . $token, $negotiableQuoteId);
+                    }
+                } catch (NoSuchEntityException $e) {
+                    return $token;
+                }
+            }
+            return $token;
+        } else {
+            return $proceed($key, $index);
+        }
+    }
+}
diff --git a/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/ExpressConfigProvider.php b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/ExpressConfigProvider.php
new file mode 100644
index 0000000000..bac47caa1c
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/ExpressConfigProvider.php
@@ -0,0 +1,120 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+declare(strict_types=1);
+
+namespace Magento\PaypalNegotiableQuote\Plugin\Paypal\Model;
+
+use Magento\Framework\App\RequestInterface;
+use Magento\Framework\Exception\NoSuchEntityException;
+use Magento\NegotiableQuote\Model\Restriction\RestrictionInterfaceFactory;
+use Magento\Paypal\Model\ExpressConfigProvider as PaypalExpressConfigProvider;
+use Magento\Quote\Model\QuoteRepository;
+
+/**
+ * Plugin for PayPal Express config provider.
+ */
+class ExpressConfigProvider
+{
+    /**
+     * @var RequestInterface
+     */
+    private $request;
+
+    /**
+     * @var RestrictionInterfaceFactory
+     */
+    private $restrictionInterfaceFactory;
+
+    /**
+     * @var QuoteRepository
+     */
+    private $quoteRepository;
+
+    /**
+     * Plugin constructor.
+     *
+     * @param RequestInterface $request
+     * @param RestrictionInterfaceFactory $restrictionInterfaceFactory
+     * @param QuoteRepository $quoteRepository
+     */
+    public function __construct(
+        RequestInterface $request,
+        RestrictionInterfaceFactory $restrictionInterfaceFactory,
+        QuoteRepository $quoteRepository
+    ) {
+        $this->request = $request;
+        $this->restrictionInterfaceFactory = $restrictionInterfaceFactory;
+        $this->quoteRepository = $quoteRepository;
+    }
+
+    /**
+     * Plugin which updates the target urls for PayPal Express relative to negotiable quotes.
+     *
+     * If a negotiableQuoteId is provided as a request parameter during checkout, pass it along to all
+     * configured PayPal urls.
+     *
+     * @param PaypalExpressConfigProvider $subject
+     * @param array $config
+     * @return array
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     */
+    public function afterGetConfig(
+        PaypalExpressConfigProvider $subject,
+        array $config
+    ) {
+        $negotiableQuoteId = $this->request->getParam('negotiableQuoteId');
+
+        if ($negotiableQuoteId) {
+            try {
+                $quote = $this->quoteRepository->get($negotiableQuoteId);
+                $restriction = $this->restrictionInterfaceFactory->create($quote);
+                if ($restriction->isOwner() && $restriction->canProceedToCheckout()) {
+                    $negotiableQuoteParam = 'negotiableQuoteId/' . (int)$negotiableQuoteId;
+                    $this->updateInContextUrls($config, $negotiableQuoteParam);
+                    $this->updateRedirectUrls($config, $negotiableQuoteParam);
+                }
+            } catch (NoSuchEntityException $e) {
+                return $config;
+            }
+        }
+        return $config;
+    }
+
+    /**
+     * Updates the urls for PayPal Express when in-context mode is enabled.
+     *
+     * Adds the negotiableQuoteId as a query parameter.
+     *
+     * @param array $config
+     * @param string $negotiableQuoteParam
+     */
+    private function updateInContextUrls(array &$config, string $negotiableQuoteParam)
+    {
+        if (isset($config['payment']['paypalExpress']['inContextConfig']['clientConfig'])) {
+            $clientConfig = &$config['payment']['paypalExpress']['inContextConfig']['clientConfig'];
+            $clientConfig['getTokenUrl'] .= $negotiableQuoteParam;
+            $clientConfig['onAuthorizeUrl'] .= $negotiableQuoteParam;
+            $clientConfig['onCancelUrl'] .= $negotiableQuoteParam;
+        }
+    }
+
+    /**
+     * Updates the PayPal Express urls when in-context mode is disabled.
+     *
+     * Adds the negotiableQuoteId as a query parameter.
+     *
+     * @param array $config
+     * @param string $negotiableQuoteParam
+     */
+    private function updateRedirectUrls(array &$config, string $negotiableQuoteParam)
+    {
+        if (isset($config['payment']['paypalExpress']['redirectUrl'])) {
+            foreach ($config['payment']['paypalExpress']['redirectUrl'] as $code => &$redirectUrl) {
+                $redirectUrl .= $negotiableQuoteParam;
+            }
+        }
+    }
+}
diff --git a/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/Payflow/Service/Request/SecureTokenPlugin.php b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/Payflow/Service/Request/SecureTokenPlugin.php
new file mode 100644
index 0000000000..9c5b994277
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/Payflow/Service/Request/SecureTokenPlugin.php
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\PaypalNegotiableQuote\Plugin\Paypal\Model\Payflow\Service\Request;
+
+use Magento\Framework\App\RequestInterface;
+use Magento\Paypal\Model\Payflow\Service\Request\SecureToken;
+use Magento\Framework\UrlInterface;
+use Magento\Quote\Model\Quote;
+use Magento\Framework\Exception\NoSuchEntityException;
+use Magento\NegotiableQuote\Model\Restriction\RestrictionInterfaceFactory;
+use Magento\Quote\Model\QuoteRepository;
+
+class SecureTokenPlugin
+{
+    /**
+     * @var string
+     */
+    private $redirectRoutePath = 'paypal/transparent/redirect';
+
+    /**
+     * @var string
+     */
+    private $negotiableQuoteIdParam = 'negotiableQuoteId';
+
+    /**
+     * @var RequestInterface
+     */
+    private $request;
+
+    /**
+     * @var UrlInterface
+     */
+    private $url;
+
+    /**
+     * @var RestrictionInterfaceFactory
+     */
+    private $restrictionInterfaceFactory;
+
+    /**
+     * @var QuoteRepository
+     */
+    private $quoteRepository;
+
+    /**
+     * @param RequestInterface $request
+     * @param UrlInterface $url
+     * @param RestrictionInterfaceFactory $restrictionInterfaceFactory
+     * @param QuoteRepository $quoteRepository
+     */
+    public function __construct(
+        RequestInterface $request,
+        UrlInterface $url,
+        RestrictionInterfaceFactory $restrictionInterfaceFactory,
+        QuoteRepository $quoteRepository
+    ) {
+        $this->request = $request;
+        $this->url = $url;
+        $this->restrictionInterfaceFactory = $restrictionInterfaceFactory;
+        $this->quoteRepository = $quoteRepository;
+    }
+
+    /**
+     * Add negotiable quote id param to url
+     *
+     * @param SecureToken $subject
+     * @param Quote $quote
+     * @param array $urls
+     * @return array
+     */
+    public function beforeRequestToken(SecureToken $subject, Quote $quote, array $urls = [])
+    {
+        $negotiableQuoteId = (int) $this->request->getParam($this->negotiableQuoteIdParam);
+        if ($negotiableQuoteId) {
+            try {
+                $quote = $this->quoteRepository->get($negotiableQuoteId);
+                $restriction = $this->restrictionInterfaceFactory->create($quote);
+                if ($restriction->isOwner() && $restriction->canProceedToCheckout()) {
+                    $routePath = $this->redirectRoutePath . '/' . $this->negotiableQuoteIdParam . '/' . $negotiableQuoteId;
+                    $urls['return_url'] = $urls['return_url'] ?? $this->url->getUrl($routePath);
+                    $urls['error_url'] = $urls['error_url'] ?? $this->url->getUrl($routePath);
+                    $urls['cancel_url'] = $urls['cancel_url'] ?? $this->url->getUrl($routePath);
+                }
+            } catch (NoSuchEntityException $e) {
+                return [$quote, $urls];
+            }
+        }
+        return [$quote, $urls];
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/PayflowConfigPlugin.php b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/PayflowConfigPlugin.php
new file mode 100644
index 0000000000..0a9947ce77
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/Plugin/Paypal/Model/PayflowConfigPlugin.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\PaypalNegotiableQuote\Plugin\Paypal\Model;
+
+use Magento\Framework\App\RequestInterface;
+use Magento\Paypal\Model\PayflowConfig;
+use Magento\Framework\Exception\NoSuchEntityException;
+use Magento\NegotiableQuote\Model\Restriction\RestrictionInterfaceFactory;
+use Magento\Quote\Model\QuoteRepository;
+
+class PayflowConfigPlugin
+{
+    /**
+     * @var string
+     */
+    private $placeOrderUrlConfig = 'place_order_url';
+
+    /**
+     * @var string
+     */
+    private $negotiableQuoteIdParam = 'negotiableQuoteId';
+
+    /**
+     * @var RequestInterface
+     */
+    private $request;
+
+    /**
+     * @var RestrictionInterfaceFactory
+     */
+    private $restrictionInterfaceFactory;
+
+    /**
+     * @var QuoteRepository
+     */
+    private $quoteRepository;
+
+    /**
+     * @param RequestInterface $request
+     * @param RestrictionInterfaceFactory $restrictionInterfaceFactory
+     * @param QuoteRepository $quoteRepository
+     */
+    public function __construct(
+        RequestInterface $request,
+        RestrictionInterfaceFactory $restrictionInterfaceFactory,
+        QuoteRepository $quoteRepository
+    ) {
+        $this->request = $request;
+        $this->restrictionInterfaceFactory = $restrictionInterfaceFactory;
+        $this->quoteRepository = $quoteRepository;
+    }
+
+    /**
+     * Add negotiable quote id param to url
+     *
+     * @param PayflowConfig $subject
+     * @param string $result
+     * @param string $key
+     * @return string
+     */
+    public function afterGetValue(PayflowConfig $subject, $result, $key)
+    {
+        $negotiableQuoteId = $this->request->getParam($this->negotiableQuoteIdParam);
+        if ($negotiableQuoteId && $key == $this->placeOrderUrlConfig) {
+            try {
+                $quote = $this->quoteRepository->get($negotiableQuoteId);
+                $restriction = $this->restrictionInterfaceFactory->create($quote);
+                if ($restriction->isOwner() && $restriction->canProceedToCheckout()) {
+                    $result = rtrim($result, '/');
+                    $result .= '/' . $this->negotiableQuoteIdParam . '/' . $negotiableQuoteId;
+                }
+            } catch (NoSuchEntityException $e) {
+                return $result;
+            }
+        }
+        return $result;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/PaypalNegotiableQuote/README.md b/app/code/Magento/PaypalNegotiableQuote/README.md
new file mode 100644
index 0000000000..af0dc510ff
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/README.md
@@ -0,0 +1,9 @@
+# Magento_PaypalNegotiableQuote module
+
+The Magento_PaypalNegotiableQuote module provides support for PayPal payment methods when using negotiable quotes.
+
+## Extensibility
+
+Extension developers can interact with the Magento_PaypalNegotiableQuote module using plugins. For more information about the Magento extension mechanism, see [Magento plug-ins](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/plugins.html).
+
+[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_PaypalNegotiableQuote module.
diff --git a/app/code/Magento/PaypalNegotiableQuote/etc/di.xml b/app/code/Magento/PaypalNegotiableQuote/etc/di.xml
new file mode 100644
index 0000000000..1ef1d6c194
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/etc/di.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+-->
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
+    <type name="Magento\Paypal\Model\ExpressConfigProvider">
+        <plugin name="negotiable_quote_paypal_express_config_urls" type="Magento\PaypalNegotiableQuote\Plugin\Paypal\Model\ExpressConfigProvider"/>
+    </type>
+    <type name="Magento\Paypal\Controller\Express\AbstractExpress\Cancel">
+        <plugin name="negotiable_quote_paypal_express_cancel_url" type="Magento\PaypalNegotiableQuote\Plugin\Paypal\Controller\Express\AbstractExpress\Cancel"/>
+    </type>
+    <type name="Magento\Paypal\Model\Api\Nvp">
+        <plugin name="negotiable_quote_paypal_token_store" type="Magento\PaypalNegotiableQuote\Plugin\Paypal\Model\Api\NvpPlugin"/>
+    </type>
+    <type name="Magento\Paypal\Controller\Express\AbstractExpress">
+        <plugin name="negotiable_quote_paypal_express_abstract" type="Magento\PaypalNegotiableQuote\Plugin\Paypal\Controller\Express\AbstractExpress"/>
+    </type>
+    <type name="Magento\Payment\Block\Transparent\Redirect">
+        <plugin name="negotiable_quote_payment_transparent_redirect" type="Magento\PaypalNegotiableQuote\Plugin\Payment\Block\Transparent\RedirectPlugin"/>
+    </type>
+    <type name="Magento\Paypal\Model\PayflowConfig">
+        <plugin name="negotiable_quote_paypal_payflow_config" type="Magento\PaypalNegotiableQuote\Plugin\Paypal\Model\PayflowConfigPlugin"/>
+    </type>
+    <type name="Magento\Paypal\Model\Payflow\Service\Request\SecureToken">
+        <plugin name="negotiable_quote_paypal_payflow_service_request_secure_token" type="Magento\PaypalNegotiableQuote\Plugin\Paypal\Model\Payflow\Service\Request\SecureTokenPlugin"/>
+    </type>
+</config>
diff --git a/app/code/Magento/PaypalNegotiableQuote/etc/module.xml b/app/code/Magento/PaypalNegotiableQuote/etc/module.xml
new file mode 100644
index 0000000000..92fa4fa91a
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/etc/module.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+-->
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
+    <module name="Magento_PaypalNegotiableQuote">
+        <sequence>
+            <module name="Magento_Paypal"/>
+            <module name="Magento_NegotiableQuote"/>
+            <module name="Magento_Checkout"/>
+            <module name="Magento_Quote"/>
+        </sequence>
+    </module>
+</config>
diff --git a/app/code/Magento/PaypalNegotiableQuote/registration.php b/app/code/Magento/PaypalNegotiableQuote/registration.php
new file mode 100644
index 0000000000..0a457e9ead
--- /dev/null
+++ b/app/code/Magento/PaypalNegotiableQuote/registration.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+use Magento\Framework\Component\ComponentRegistrar;
+
+ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Magento_PaypalNegotiableQuote', __DIR__);
