FloC3FloC3 MemberComments: 752 Received thanks: 34 Member since: October 2017 edited November 2019

Hallo,

hier findet man ein schönes Beispiel zum Bestellung erzeugen über die API

https://docs.shopware.com/en/shopware-platform-dev-en/api/sales-channel-cart-api?category=shopware-platform-dev-en/api#full-example

doch wie kann ich dort verschiedene Zahlungsarten übergeben? 

Wir binden ein Drittsystem zur Bestellung an und stellen verschiedene Zahlungsarten bereit, die im Shop natürlich aktiv sind. Aber wie kann ich die gewählte Zahlungsart über die API an die Bestellung geben?

Answers

  • bAckermannbAckermann MemberComments: 16 Received thanks: 2 Member since: October 2019

    Hallo FloC3,

    probier mal:

    PATCH sales-channel-api/v1/context

    und im Body

    {
        "shippingMethodId": "..."
    }

    Gruß

  • FloC3FloC3 MemberComments: 752 Received thanks: 34 edited November 2019 Member since: October 2017

    Hallo @bAckermann‍,

    in dem Beispiel in der Doku wird ja so ein Order angelegt

    function guestOrder(customer) {
            const url = `${baseUrl}/sales-channel-api/v1/checkout/guest-order`;
            const body = JSON.stringify(customer);
            return fetch(url, { method: 'POST', headers, body })
                .then((resp) => resp.json())
                .then(({ data }) => data);
        }

    es wird also der Customer mitgegeben. Aber wo kann ich jetzt die Zahlart festlegen? Ebenfalls im POSt body wie customer?

    leider ist die Doku lückenhaft... Das "full example" ist wohl nicht "full"...

     

    es gibt ja auch noch diesen Call

    POST  /sales-channel-api/v1/checkout/order/{orderId}/pay

    aber dort kann man laut Doku nur eine "finishUrl" übergeben, keine Payment-Method...

  • bAckermannbAckermann MemberComments: 16 Received thanks: 2 edited November 2019 Member since: October 2019

    Hallo @FloC3‍,

    die Zahlart wird auch mit PATCH sales-channel-api/v1/context und im body paymentMethodId festgelegt. Das musst du aber machen, bevor du die Order mit POST sales-channel-api/v1/checkout/order erstellst.

    Das "Start the payment process for an order" in der Doku bezieht sich auf den Bezahlprozess der ausgewählten Bezahlmöglichkeit. Bei PayPal wäre das die Weiterleitung zur Einloggseite von PayPal.

    Gruß

  • FloC3FloC3 MemberComments: 752 Received thanks: 34 Member since: October 2017

    Hallo @bAackermann‍ ,

    danke, wir werden das ausprobieren! ... du scheinst dich ja gut auszukennen... hast du zufällig auf das Thema auch ne Antwort?

    https://forum.shopware.com/discussion/64670/paypal-express-ueber-api#latest

    hängt ja auch mit Zahlarten zusammen.

    viele Grüße

Sign In or Register to comment.