summaryrefslogtreecommitdiff
path: root/views/mods/mod_amazon/order_done.phtml
diff options
context:
space:
mode:
authordaniel <noreply@maennchen1.de>2026-09-30 13:12:16 +0200
committerdaniel <noreply@maennchen1.de>2026-09-30 13:12:37 +0200
commitea77830018e15ab662fb0cfb2958857e3b3de532 (patch)
tree9634013e7a45c0f9da6891dd6bf0541801f6e3a2 /views/mods/mod_amazon/order_done.phtml
parentee163b01c6bdf3da7c2a8f3ee1be25b02cb760b4 (diff)
- Amazon Modul vereinheitlicht und moderniesiert
Diffstat (limited to 'views/mods/mod_amazon/order_done.phtml')
-rw-r--r--views/mods/mod_amazon/order_done.phtml149
1 files changed, 50 insertions, 99 deletions
diff --git a/views/mods/mod_amazon/order_done.phtml b/views/mods/mod_amazon/order_done.phtml
index 80665c9..69aed24 100644
--- a/views/mods/mod_amazon/order_done.phtml
+++ b/views/mods/mod_amazon/order_done.phtml
@@ -1,122 +1,73 @@
<?php
/**
- * Integration der Zahlung über Amazon in den Bestellabschluss
+ * Wird nach dem Bestellabschluss mit der Zahlungsart AmazonPay angezeigt
+ *
+ * Zustände (wpsg_mod_amazon::order_done()):
+ * - redirect: Der Kunde hat sich im Warenkorb bei Amazon angemeldet und bestätigt die Zahlung über den Link
+ * - button: Button "Amazon Pay", den checkout.js in #wpsg_mod_amazon_button zeichnet
+ * - pending: Die Zahlung wurde bestätigt, der Betrag wird noch eingezogen
+ * - done: Die Zahlung ist verbucht
+ * - error: Der Button konnte nicht erzeugt werden
+ *
+ * Mit "autostart" startet die Zahlung nach einer Sekunde von selbst (Weiterleitung bzw. amazon.Pay.initCheckout(),
+ * eingebunden von wpsg_mod_amazon::enqueueButton()); Link und Button bleiben als Rückfall stehen.
*/
+ if (!defined('ABSPATH')) exit;
+
+ $arView = $this->view['wpsg_mod_amazon'];
+ $state = (string)($arView['state']??'');
+ $bAutostart = (($arView['autostart']??false) === true);
+
?>
-<?php if ($this->view['wpsg_mod_amazon']['state'] === wpsg_mod_amazon::ORDER_DONE) { ?>
+<?php if ($state === 'redirect') { ?>
-<p><?php echo __('Zahlung wurde erfolgreich mit AmazonPay abgewickelt.', 'wpsg'); ?></p>
+ <p><?php echo esc_html__('Bitte bestätigen Sie die Zahlung bei Amazon Pay.', 'wpsg'); ?></p>
-<?php } else if ($this->view['wpsg_mod_amazon']['state'] === wpsg_mod_amazon::ORDER_DONE_PAST) { ?>
+ <p>
+ <a class="button" href="<?php echo esc_url($arView['payURL']); ?>"><?php echo esc_html__('Jetzt mit AmazonPay bezahlen', 'wpsg'); ?></a>
+ </p>
-<p><?php echo __('Zahlung wurde bereits erfolgreich mit AmazonPay abgewickelt.', 'wpsg'); ?></p>
+ <?php if ($bAutostart) { ?>
-<?php } else if ($this->view['wpsg_mod_amazon']['state'] === wpsg_mod_amazon::ORDER_DONE_START || $this->view['wpsg_mod_amazon']['state'] === wpsg_mod_amazon::ORDER_DONE_GO) { ?>
+ <script>
-<p><?php echo __('Zahlung mittels der folgenden Zahlungsoption abschließen','wpsg'); ?></p>
+ window.setTimeout(function() {
-<div id="PayWithAmazon" style="<?php echo (($this->view['wpsg_mod_amazon']['state'] === wpsg_mod_amazon::ORDER_DONE_GO)?'display:none':''); ?>"></div>
+ location.href = <?php echo wp_json_encode($arView['payURL']); ?>;
-<script type="text/javascript">
-
- var authRequest;
+ }, 1000);
- OffAmazonPayments.Button('PayWithAmazon', '<?php echo $this->get_option('wpsg_mod_amazon_seller_id'); ?>', {
-
- type: "PwA",
- color: "Gold",
- size: "small",
- language: "de-DE",
+ </script>
- authorization: function() {
-
- loginOptions = {
- scope: "profile payments:widget payments:shipping_address payments:billing_address",
- popup: true
- };
-
- authRequest = amazon.Login.authorize(loginOptions, "<?php echo $this->view['wpsg_mod_amazon']['redirectURL']; ?>");
-
- },
+ <?php } ?>
- onError: function(error) {
-
- console.log("Login: Es ist folgender Fehler aufgetreten: " + error.getErrorCode() + ' - ' + error.getErrorMessage());
-
- }
-
- } );
+<?php } else if ($state === 'button') { ?>
- var autoRun = setInterval(function(){
+ <?php if ($bAutostart) { ?>
- if (jQuery('#PayWithAmazon img').length > 0) {
+ <p><?php echo esc_html__('Sie werden gleich zu Amazon Pay weitergeleitet. Falls nicht, klicken Sie bitte auf den Button.', 'wpsg'); ?></p>
- //setTimeout(function(){ jQuery('#PayWithAmazon img').click(); }, 1000);
- clearInterval(autoRun);
-
- }
+ <?php } else { ?>
- }, 100);
+ <p><?php echo esc_html__('Um den Betrag mit AmazonPay zu bezahlen, klicken Sie bitte auf den Button.', 'wpsg'); ?></p>
-</script>
-
-<?php } ?>
+ <?php } ?>
+
+ <div id="wpsg_mod_amazon_button" style="max-width:300px;"></div>
+
+<?php } else if ($state === 'pending') { ?>
+
+ <p><?php echo esc_html__('Die Zahlung wurde bei Amazon Pay bestätigt und wird gerade abgeschlossen. Sie erhalten eine Nachricht, sobald die Zahlung eingegangen ist.', 'wpsg'); ?></p>
-<?php if ($this->view['wpsg_mod_amazon']['state'] === wpsg_mod_amazon::ORDER_DONE_GO) { ?>
-
-<form id="wpsg_mod_amazon_paymentForm" method="POST" action="<?php echo $this->getUrl(wpsg_ShopController::URL_BASKET, 'wpsg_mod_amazon', 'return'); ?>">
-
- <input type="hidden" name="order_id" value="<?php echo $_REQUEST['order_id']; ?>" />
- <input type="hidden" name="wpsg_done" value="<?php echo $_REQUEST['wpsg_done']; ?>" />
- <input type="hidden" name="amazon[OrderReference]" id="wpsg_mod_amazon_OrderReference" value="" />
-
- <div id="walletWidgetDiv"></div><br />
-
- <input type="submit" class="wpsg_button" name="submit" value="<?php echo __('Zahlung durchführen', 'wpsg'); ?>" id="wpsg_mod_amazon_doPayment" style="display:none;" />
- <div class="wpsg_clear"></div>
-
-</form>
-
-<script>
-
- jQuery('#walletWidgetDiv').show();
-
- new OffAmazonPayments.Widgets.Wallet( {
-
- sellerId: '<?php echo $this->get_option('wpsg_mod_amazon_seller_id'); ?>',
-
- onOrderReferenceCreate: function(orderReference) {
-
- jQuery('#wpsg_mod_amazon_OrderReference').val(orderReference.getAmazonOrderReferenceId());
- jQuery('#wpsg_mod_amazon_doPayment').show();
-
- },
-
- onPaymentSelect: function(orderReference) {
-
- // Replace this code with the action that you want to perform
- // after the payment method is selected.
-
- },
-
- design: {
-
- designMode: 'responsive'
-
- },
-
- onError: function(error) {
-
- jQuery('#wpsg_mod_amazon_paymentForm').hide();
- jQuery('#PayWithAmazon').show();
-
-
- }
-
- } ).bind("walletWidgetDiv");
-
-</script>
-<?php } ?> \ No newline at end of file
+<?php } else if ($state === 'done') { ?>
+
+ <p><?php echo esc_html__('Die Zahlung wurde bereits mit AmazonPay abgeschlossen.', 'wpsg'); ?></p>
+
+<?php } else if ($state === 'error') { ?>
+
+ <p><?php echo esc_html__('Die Zahlung mit AmazonPay ist derzeit nicht möglich. Bitte wenden Sie sich an den Shopbetreiber.', 'wpsg'); ?></p>
+
+<?php } ?>