Post on 05-Apr-2015
Bezahlen über Amazon
16.11.2011Dr. Hermann Schloss
Confidential © 1996-2011, Amazon.com, Inc. or its affiliates. All rights reserved.16.11.2011 1
Agenda
1. Integrationsmöglichkeiten:
a. Standard-Checkout
b. Inline-Checkout
2. Gegenüberstellung der Integrationsmöglichkeiten
3. Bestell-Management
4. Testen und Integration
5. Integrations-Support
16.11.2011 2
Übersicht
Integrationsmöglichkeiten
16.11.2011 3
Inline Checkout„Bezahlen über Amazon“ ist in Ihren Bestellvorgang
integriert
Standard CheckoutDie Bestellung wird mit
wenigen Klicks im Pop-Up-Fenster platziert
Die Wahl der Integrationsmethode ist von Ihren Anforderungen abhängig!
Nutzen Sie unseren Empfehlungsassistenten in Seller Centralum die für Sie richtige Integrationsmethode auszuwählen.
Standard-Checkout (Integration der CBA-Schaltfläche)
Integrationsmöglichkeiten
16.11.2011 4
Einbindung der CBA-Schaltfläche durch dynamisch generierten HTML-JavaScript-
Code.Die Schaltfläche enthält bereits den
Warenkorb und sendet diesen an Amazon.
Standard-Checkout (Integration der CBA-Schaltfläche)
Integrationsmöglichkeiten
16.11.2011 5
1. Exportieren des Warenkorbes nach XML
• Beispiel für einen Warenkorb in XML:<Order xmlns="http://payments.amazon.com/checkout/2008-06-15/">
<Cart><Items>
<Item>
<SKU>katzeimsack</SKU>
<MerchantId>YOUR_MERCHANT_ID</MerchantId>
<Title>Die Katze im Sack</Title>
<Description>Ein Sack mit unbekanntem Inhalt</Description>
<Price>
<Amount>11.50</Amount><CurrencyCode>EUR</CurrencyCode>
</Price>
<Quantity>1</Quantity>
</Item>
</Items>
</Cart>
</Order>
Standard-Checkout (Integration der CBA-Schaltfläche)
)
Integrationsmöglichkeiten
16.11.2011 6
2. Einfügen des JavaScript-Codes für CBA
• Signieren und kodieren Sie den XML-Warenkorb• Fügen Sie den XML-Warenkorb und die Signatur
in von Amazon vorgegebenen HTML/JavaScript-Code ein
<script src="https://static-eu.payments-amazon.com/cba/js/de/sandbox/PaymentWidgets.js">
<div id="cbaButton1"/>
<script>
new CBA.Widgets.StandardCheckoutWidget({
merchantId:'AEIOU1234AEIOU',
orderInput: {format: "XML",value: "type:merchant-signed-order/aws-access-key/1;
signature:0nppbXTktfoV80Kh41GK7ruUhq8=
Order:PD94X834mds23…=;
aws-access-key-id:19G7E7X2QE2V45LET"}
}).render("cbaButton1");
</script>
Standard-Checkout (Anmeldung)
Integrationsmöglichkeiten
16.11.2011 7
Standard-Checkout (Versandkosten und –optionen)
Integrationsmöglichkeiten
16.11.2011 8
Standard-Checkout (Versandkosten und –optionen)
Integrationsmöglichkeiten
16.11.2011 9
• Global in Seller Central– Konfiguration anhand der von Amazon vorgegebenen
Versandregionen und Versandkostenmodelle (wie bei M@)
• Im XML-Code für den Warenkorb– Konfiguration auf der Ebene von Artikeln und
einzelnen Ländern– Geeignet wenn einige Artikel andere Versandkosten
haben (z.B. Sperrgut) oder wenn die Versandregionen in Seller Central zu grobgranular sind.
• Über Callbacks– Nur empfehlenswert, wenn die exakte Adresse des
Kunden zur Berechnung nötig ist (und das Land nicht ausreicht)
– Beispiel: Abholung oder versandkostenfreie Lieferung soll nur Kunden aus Berlin angeboten werden
Standard-Checkout (Definition von Werbeaktionen)
Integrationsmöglichkeiten
16.11.2011 10
Standard-Checkout (Bestellbestätigung von Amazon)
Integrationsmöglichkeiten
16.11.2011 11
Standard-Checkout („Vielen Dank“-Seite)
Integrationsmöglichkeiten
16.11.2011 12
Inline-Checkout (Assistent für die Inline-Integration)
Integrationsmöglichkeiten
16.11.2011 13
• Unser Assistent für die Inline-Integration führt Sie interaktiv durch die im Folgenden beschriebenen Schritte
• Alle Code-Fragmente können durch den Assistenten generiert werden
• Für die gängigsten Programmiersprachen stellt der Assistent Code-Beispiele zur Verfügung, um eine Bestellung an Amazon zu übertragen
Inline-Checkout
Integrationsmöglichkeiten
16.11.2011 14
Einbindung der CBA-Schaltfläche (mit von
Amazon zur Verfügung gestelltem
HTML/JavaScript)
Inline-Checkout (Integration der CBA-Schaltfläche)
Integrationsmöglichkeiten
16.11.2011 15
• Binden Sie den vom Assistenten generierten JavaScript-Code in Ihren HTML-Code ein:
<script type='text/javascript‘ src='https://static-eu.payments-amazon.com/cba/js/de/sandbox/PaymentWidgets.js'><div id="AmazonInlineCheckoutWidget"></div><script>
new CBA.Widgets.InlineCheckoutWidget({merchantId: "ABCDE1234ABCDE",onAuthorize: function(widget) { window.location = 'https://www.mydomain.com/?session=' + widget.getPurchaseContractId();}
}).render("AmazonInlineCheckoutWidget");</script>
• Die „onAuthorize“-Funktion wird aufgerufen, sobald der Kunde eingeloggt und die CBA-Session erstellt ist.
Inline-Checkout (Anmeldung)
Integrationsmöglichkeiten
16.11.2011 16
Inline-Checkout (Einbindung des Adressbuches)
Integrationsmöglichkeiten
16.11.2011 17
Einbindung des „AmazonAddressWidgets“ (von Amazon bereit gestellter JavaScript-Code)
Über die API„GetPurchaseContract“ kann u.a. die Versandadresse abgefragt werden. Mithilfe dieser können Sie die verfügbaren
Versandarten anzeigen (mittels Ihres eigenen HTML-Codes)
Inline-Checkout (Einbindung des Adressbuches)
Integrationsmöglichkeiten
16.11.2011 18
• Binden Sie den vom Assistenten generierten JavaScript-Code in Ihren HTML-Code ein:<div id="AmazonAddressWidget"></div><script>
new CBA.Widgets.AddressWidget({merchantId: "ABCDE1234ABCDE",
onAddressSelect: function(widget) { document.getElementById("continue_button").disabled=false; }}).render("AmazonAddressWidget");
</script>
• Die optionale Methode “onAddressSelect” wird automatisch aufgerufen, wenn eine Adresse ausgewählt wurde.
Inline-Checkout (GetPurchaseContract-API)
Integrationsmöglichkeiten
16.11.2011 19
• Rufen Sie die GetPurchaseContract-API auf:
$purchaseContractId="PURCHASE_CONTRACT_ID_DER_BESTELLUNG"; // Bezahlen über Amazon Bibliothek initialisieren$lib = new CheckoutByAmazon_Service_CBAPurchaseContract(); // Die ausgewählten Adressen werden von getAddress zurückgeliefert// Hinweis: Wenn der Kunde in Ihrem Bestellprozess nur eine Adresse auswählen kann,// dann hat die Liste nur einen Eintrag$addressList = $lib->getAddress($purchaseContractId); // Anzeigen der Address-Detailsforeach( $addressList as $address){ echo("Postleitzahl: ".$address->getPostalCode()); echo("Stadt/Ort: ".$address->getCity()); echo("Ländercode: ". $address->getCountryCode());}
Inline-Checkout (Einbindung der Zahlungsmethoden)
Integrationsmöglichkeiten
16.11.2011 20
Einbindung des „AmazonWalletWidgets“(von Amazon bereit gestellter Javascript-Code)
Inline-Checkout (Einbindung der Zahlungsmethoden)
Integrationsmöglichkeiten
16.11.2011 21
• Binden Sie den vom Assistenten generierten JavaScript-Code in Ihren HTML-Code ein:<div id="AmazonWalletWidget"></div><script>
new CBA.Widgets.WalletWidget({merchantId: "ABCDE1234ABCDE",
onPaymentSelect: function(widget) { document.getElementById("continue_button").disabled=false; }}).render("AmazonWalletWidget");
</script>
• Die optionale Methode “onPaymentSelect” wird automatisch aufgerufen, wenn eine Zahlungsart ausgewählt wurde.
Inline-Checkout (Bestellung abschicken)
Integrationsmöglichkeiten
16.11.2011
22
Nachdem die Bestellung bestätigt wurde, müssen folgende APIs aufgerufen werden:
1.„SetPurchaseItems“ (Senden der Artikel und Preise)2.„SetContractCharges“ (Senden von Versandkosten)3. „CompletePurchaseContract“ (Abschluss der Bestell-Session)
Inline-Checkout (Artikeln übermitteln)
Integrationsmöglichkeiten
16.11.2011 23
1. Übermitteln von Artikeln und Preisen (SetPurchaseItems)$purchaseContractId="PURCHASE_CONTRACT_ID_DER_BESTELLUNG";
// Bezahlen über Amazon Bibliothek initialisieren$lib = new CheckoutByAmazon_Service_CBAPurchaseContract();
// Artikelliste anlegen$itemList = new CheckoutByAmazon_Service_Model_ItemList();
// Die folgenden Schritte müssen für alle Artikel im Einkaufswagen durchgeführt werden
// Artikel anlegen (der erste Artikel ist hier im Beispiel eine Katze im Sack) $physicalItemObject = new CheckoutByAmazon_Service_Model_PurchaseItem(); $physicalItemObject->createPhysicalItem('sku_katze','Die Katze im Sack',3.24,'Standard');
// Artikel zur Artikelliste hinzufügen $itemList->addItem($physicalItemObject);
// Artikel an Amazon ermitteln.$setItemsStatus = $lib->setItems($purchaseContractId,$itemList);
Inline-Checkout (Versandkosten übermitteln)
Integrationsmöglichkeiten
16.11.2011 24
2. Übermitteln von Versandkosten (SetContractCharges)
Inline-Checkout (Bestellung abschließen)
Integrationsmöglichkeiten
16.11.2011 25
3. Bestellung abschließen (CompletePurchaseContract)
//Überprüfen ob setItems und setContractCharges erfolgreich warenif((($setContractChargesStatus == 1) || is_null($setContractChargesStatus)) && ($setItemsStatus == 1)){ // Folgender Aufruf schließt die Bestellung ab // $purchaseContractID enthält die generierten Amazon Bestellnummern $orderIdList = $lib->completeOrder($purchaseContractId);} else{ // Fehlerbehandlung}
Inline-Checkout („Vielen Dank“-Seite)
Integrationsmöglichkeiten
16.11.2011 26
Übersicht
Gegenüberstellung der Integrationsmöglichkeiten
16.11.2011 27
Standard Inline
Fachkenntnisse HTML, JavaScript, Dynamic Web Programing (PHP, Java-
Servlets, etc.) , XML
HTML, JavaScript, Dynamic Web Programing (PHP, Java-Servlets, etc.) , Web-Services
Erforderliche Anpassungen Nur Warenkorb-Seite Warenkorb-Seite sowie der gesamte Bestellprozess
Versandkosten Berechnung basiert auf der SellerCentral-Konfiguration ODER: Im Warenkorb (XML)
ODER: Callbacks
Berechnung erfolgt auf der Seite des Händlers.
Übermittlung am Ende des Bestellprozesses.
Geschenk-Gutscheine Berechnung basiert auf der SellerCentral-Konfiguration ODER: Im Warenkorb (XML)
Berechnung erfolgt auf der Seite des Händlers.
Übermittlung am Ende des Bestellprozesses.
Anpassungen Nicht möglich Möglich
Komplexität = =
Flexibilität - +
Übersicht
Bestell-Management
16.11.2011 28
Kunde nutztCBA in Ihrem
Webshop
Händler wird be-nachrichtigt, wenn
die Bestellungverschickt werden kann
Händler erfülltBestellung
HändlerbestätigtVersand
Amazon ziehtGeld vom
Kunden ein
AutomatischeBestellbestätigung
(per Email)
Benachrichtigungdes Händlers
AutomatischeVersandbestätigung
(per Email)
Amazon überweistErlöse
(minus Kommission)
• Optionen für das Bestell-Management• Manuell (Seller Central)• Automatisiert (MWS APIs + optional IOPN)
Eine bereits existierende MWS-Integration für „Verkaufen auf Amazon” kann wiederverwendet werden
Sandbox Produktionsumgebung
Testen und Integration
16.11.2011 29
• Testumgebung „CBA-Sandbox“– Testen der Übergabe des Warenkorbes und der Preise
• Führen Sie kleinere Testbestellungen durch, um sicherzustellen, dass Bestellung korrekt übermittelt werden– In der „Sandbox“ werden Bestellungen nicht von Amazon
bestätigt und somit kein Geld eingezogen.– Um den Bestellprozess zu testen, müssen Sie die
Produktionsumgebung verwenden. Hier können Sie auch Bestellungen als „versendet“ melden und den Geldfluss (sowie Rückerstattungen) testen
• Freischaltung von CBA auf Ihrer Webseite– Machen Sie CBA erst dann für die Öffentlichkeit verfügbar,
wenn alles funktioniert
Wo finden Sie Hilfe?
Integrations-Support
16.11.2011 30
• https://sellercentral.amazon.de• Dokumentation und Beispiel-Code unter „Hilfe“ abrufbar
• https://payments.amazon.de/business/resources#cba• Weiterführende Dokumentation
• https://payments.amazon.de/business• „Kontaktieren Sie uns“-Formular
• https://payments.amazon.de/personal/directory• Liste der Integrationspartner
• Wann immer Sie Fragen haben, zögern Sie bitte nicht unser Support zu kontaktieren!