Delad betalnings-POC: förutsättningar och miljöinställningar

Slutför varje steg i den här självstudiekursen innan du kör någon av bygginstruktionerna. Om du bara missar ett steg är det vanligaste skälet till att flödet bryts mitt i självstudiekursen.

​1. Adobe Commerce

  • Adobe Commerce 2.4.5 eller senare (lokalt eller Commerce Cloud)
  • Git-åtkomst till Commerce-projektet (du lägger till en modul under app/code/)
  • Åtkomst till Commerce Admin

Endast Commerce Cloud: aktivera I/O-händelser

Lägg till följande i .magento.env.yaml och distribuera innan du lägger till modulen:

stage:
  global:
    ENABLE_EVENTING: true

Varning! Distributionen måste slutföras innan I/O-händelsemodulens beroende kan matchas.

​2. Konfiguration av Commerce Admin

Gör de här stegen före något annat. Utcheckningen av JavaScript beror på exakta strängmatchningar.

2a. Aktivera Kontant vid leverans med exakt rubrik

Stores > Configuration > Sales > Payment Methods > Cash On Delivery Payment

  • Enabled: Ja
  • Title: Cash (den här exakta strängen är den utcheckning som JavaScript matchar)

Obs! Om din butik använder en annan COD-implementering eller -titel justerar du payment-method-helper.js i Commerce-modulen.

2b. Aktivera butikskredit

Stores > Configuration > Customers > Customer Configuration > Store Credit Options

  • Enable Store Credit Functionality: Ja

2c. Lägg till butikskrediter till din testkund

Customers > All Customers > [din testkund] > Store Credit > Update Balance

Lägg till minst $50 i butikskrediten. Du kommer att testa med en order under 100 USD totalt.

2d. Skapa Commerce-integrering

System > Integrations > Add New Integration

  • Name: Split Payment App Builder (eller något annat namn du föredrar)

  • Bevilja minst:API

    • Magento_Sales::actions (krävs för slutpunkten cash-received)
    • Magento_Sales::cancel (krävs för slutpunkten cash-decline)
    • Offert- eller kundvagnshantering (fullständig eller relevant delmängd)
    • Customer balance (full eller relevant delmängd)

Välj Save och sedan Activate.

Kopiera alla fyra värden. De visas bara en gång:

Värde
Miljövariabel
Konsumentnyckel
COMMERCE_CONSUMER_KEY
Konsumenthemlighet
COMMERCE_CONSUMER_SECRET
Åtkomsttoken
COMMERCE_ACCESS_TOKEN
Åtkomsttokenhemlighet
COMMERCE_ACCESS_TOKEN_SECRET

Lagra dessa värden på ett säkert sätt. Du behöver dem i alla App Builder .env-filer.

​3. Adobe Developer Console och App Builder

  • Tillgång till en Adobe Developer Console-organisation
  • Ett App Builder-projekt (nytt eller ett som du återanvänder)
  • En konfigurerad arbetsyta. Frågorna förutsätter Stage
  • Adobe I/O Events har lagts till som en tjänst på arbetsytan
  • Commerce är ansluten som händelseprovider för arbetsytan

Händelsekoden som används i konceptbeviset är: com.adobe.commerce.observer.sales_order_place_before

Om du inte har anslutit Commerce som händelseleverantör läser du Konfigurera Commerce för att skicka händelser till Adobe I/O i Commerce Extensibility Guide.

​4. Lokal utvecklingsmiljö

# Required versions
node --version    # 18.x or later
npm --version     # any recent version

# Adobe I/O CLI
npm install -g @adobe/aio-cli

# Authenticate
aio login

# Select your project and workspace
aio app use
# Confirm the org, project, and workspace shown are correct

​5. Två projektkataloger att känna till

I den här självstudien används två separata katalogrötter. Håll dem åtskilda.

Commerce projektrot (din Magento Git-databas):

<commerce-root>/
└── app/code/Client/SplitPayment/   ← Module goes here

App Builder-projektrot (mappen split-payment-orchestrator från källpaketet eller ett nytt projekt som du skapar):

split-payment-orchestrator/
├── app.config.yaml
├── package.json
├── .env                            ← Copy from .env.example, then fill in
└── actions/

​6. entity_id jämfört med increment_id

Använd alltid entity_id (det numeriska databas-ID), inte increment_id (till exempel 000000042), i REST-anrop.

Sök efter entity_id från beställnings-URL:en Commerce Admin:

/admin/sales/order/view/order_id/42/   →   entity_id = 42

Eller från simuleringsskriptet:

node scripts/simulate-split-payment.mjs show 42

​7. Tröskelvärdet 100 dollar

Gränssnittet för delad betalning och tröskelvärdesbevakningen har målorder på $100.00 eller mindre. Flödet fungerar på följande sätt:

  • Med eller under 100 USD: visas gränssnittet för delad betalning. Kunden kan ange en kontantkreditdelning plus en butikskreditdelning
  • Över 100 USD: CheckoutPlugin genererar ett fel vid betalningssteget

Testa genom att skapa en kundvagn vars delsumma, frakt och moms är mindre än eller lika med 100 USD (t.ex. en produkt under 90 USD så frakt och moms passar fortfarande under tak).

Tröskelvärdet lagras i:

  • Commerce-konfiguration: split_payment/general/threshold (standard 100 i etc/config.xml)
  • App Builder-miljö: PAYMENT_THRESHOLD=100 (måste matcha Commerce)

​8. Snabbt (endast Commerce Cloud)

App Builder-åtgärder anropar Commerce över REST (/rest/V1/split-payment/orders/...). Om ditt Commerce Cloud-projekt använder Snabbt med IP-tillåtelselistning måste App Builder-körningens utgående IP-adresser tillåtslista.

Så här kontrollerar du: Kör simuleringsskriptet först (direkt kontroll med OAuth-signering). Om det fungerar men App Builder-åtgärden returnerar 403, blockerar Fastly troligen begäran.

Använd Adobe dokumentation för App Builder utgående IP-intervall och lägg till dem i din snabbkonfiguration efter behov.

Checklista för verifiering

Innan du startar bygganvisningarna bör du kontrollera följande:

  • [ ] Commerce version är 2.4.5 eller senare
  • [ ] I/O-händelse är aktiverad (Commerce Cloud) och distribuerad
  • [ ] Kontant vid leverans är aktiverat med titeln exakt inställd på Cash
  • [ ] Store-kredit har aktiverats
  • [ ] Testkunden har en butikskredit på minst 50 dollar
  • [ ] Integreringen med Commerce skapas och aktiveras, och alla fyra OAuth-värden sparas
  • [ ] I App Builder-projektet har I/O-händelsetjänsten och Commerce händelseleverantör konfigurerats
  • [ ] aio login har slutförts och rätt arbetsyta har valts med aio app use
  • [ ] Node.js 18 eller senare installeras och aio CLI installeras
  • [ ] .env filer förbereds per Delad betalnings-POC: miljövariabelreferens (och källpaketet om du använder ett)

Relaterade POC-resurser för delad betalning

recommendation-more-help
commerce-learn-help-home