Index: /changelog
===================================================================
--- /changelog	(revision 7869)
+++ /changelog	(revision 7870)
@@ -418,5 +418,5 @@
 - Bugfix: Bootstrap auf Version 3.4.1. Aktualisiert
 
-#4.2.10
+#4.3.0
 - Feature: Abo Modul ÃŒberarbeitet (Abos je Produkt / VorverlÃ€ngerungsaktionen)
 - Feature: Mehrzeilige Produktvariablen
@@ -444,4 +444,4 @@
 - Bugfix: Das derzeit verwendete E-Mail Logo kann im Backend angezeigt werden
 
-#4.2.11
+#4.3.1
 - Bugfix: Korrektur Berechnung Versand- und Zahlungsarten
Index: /mods/mod_amazon/PayWithAmazon/ClientInterface.php
===================================================================
--- /mods/mod_amazon/PayWithAmazon/ClientInterface.php	(revision 7870)
+++ /mods/mod_amazon/PayWithAmazon/ClientInterface.php	(revision 7870)
@@ -0,0 +1,466 @@
+<?php
+namespace AmazonPay;
+
+/* Interface class to showcase the public API methods for Amazon Pay */
+
+interface ClientInterface
+{
+    /* Setter for sandbox
+     * Sets the boolean value for config['sandbox'] variable
+     */
+    public function setSandbox($value);
+
+
+    /* Setter for config['client_id']
+     * Sets the value for config['client_id'] variable
+     */
+    public function setClientId($value);
+
+
+    /* Setter for config['app_id']
+     * Sets the value for config['app_id'] variable
+     */
+    public function setAppId($value);
+
+
+    /* Setter for Proxy
+     * input $proxy [array]
+     * @param $proxy['proxy_user_host'] - hostname for the proxy
+     * @param $proxy['proxy_user_port'] - hostname for the proxy
+     * @param $proxy['proxy_user_name'] - if your proxy required a username
+     * @param $proxy['proxy_user_password'] - if your proxy required a passowrd
+     */
+    public function setProxy($proxy);
+
+
+    /* Setter for $_mwsServiceUrl
+     * Set the URL to which the post request has to be made for unit testing 
+     */
+    public function setMwsServiceUrl($url);
+
+
+    /* Getter
+     * Gets the value for the key if the key exists in config
+     */
+    public function __get($name);
+
+
+    /* Getter for parameters string
+     * Gets the value for the parameters string for unit testing
+     */
+    public function getParameters();
+
+
+    /* GetUserInfo convenience funtion - Returns user's profile information from Amazon using the access token returned by the Button widget.
+     *
+     * @param $access_token [String]
+     */
+    public function getUserInfo($access_token);
+
+
+    /* GetMerchantAccountStatus API call - Returns the status of the Merchant Account.
+     * @see TODO
+
+     * @param requestParameters['merchant_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getMerchantAccountStatus($requestParameters = array());
+
+    /* GetOrderReferenceDetails API call - Returns details about the Order Reference object and its current state.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751970
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_order_reference_id'] - [String]
+     * @optional requestParameters['address_consent_token'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getOrderReferenceDetails($requestParameters = array());
+
+
+    /* ListOrderReference API call - Returns details about the Order Reference object and its current state from the sellers.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751970
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['query_id'] - [String]
+     * @param requestParameters['query_id_type'] - [String] (SellerOrderId)
+     * @optional requestParameters['page_size'] - [Int]
+     * @optional requestParameters['created_start_time'] - [String] (Date/Time ISO8601)
+     * @optional requestParameters['created_end_time'] - [String] (Date/Time ISO8601) Limited to 31 days
+     * @optional requestParameters['sort_order'] - [String] (Ascending/Descending)
+     * @optional requestParameters['mws_auth_token'] - [String]
+     * @optional requestParameters['status_list'] - [Array]
+     */
+    public function listOrderReference($requestParameters = array());
+
+
+    /* ListOrderReferenceByNextToken API call - Returns details about the Order Reference object and its current
+     * state from the sellers.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751970
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['next_token'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function listOrderReferenceByNextToken($requestParameters = array());
+
+
+    /* SetOrderReferenceDetails API call - Sets order reference details such as the order total and a description for the order.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751960
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_order_reference_id'] - [String]
+     * @param requestParameters['amount'] - [String]
+     * @param requestParameters['currency_code'] - [String]
+     * @optional requestParameters['platform_id'] - [String]
+     * @optional requestParameters['seller_note'] - [String]
+     * @optional requestParameters['seller_order_id'] - [String]
+     * @optional requestParameters['store_name'] - [String]
+     * @optional requestParameters['supplementary_data'] - [String]
+     * @optional requestParameters['custom_information'] - [String]
+     * @optional requestParameters['request_payment_authorization'] - [Boolean]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function setOrderReferenceDetails($requestParameters = array());
+
+
+    /* SetOrderAttributes API call - Sets order reference attributes such as the order total and a description for the order.
+     * Works same as SetOrderReferenceDetails, but includes additional PSP-related attributes and can also be called after
+     * the ORO has been confirmed.  Only some values can be changed the ORO has been confirmed.  See API documentation.
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_order_reference_id'] - [String]
+     * @optional requestParameters['amount'] - [String]
+     * @optional requestParameters['currency_code'] - [String]
+     * @optional requestParameters['platform_id'] - [String]
+     * @optional requestParameters['seller_note'] - [String]
+     * @optional requestParameters['seller_order_id'] - [String]
+     * @optional requestParameters['store_name'] - [String]
+     * @optional requestParameters['custom_information'] - [String]
+     * @optional requestParameters['supplementary_data'] - [String]
+     * @optional requestParameters['request_payment_authorization'] - [Boolean]
+     * @optional requestParameters['payment_service_provider_id'] - [String]
+     * @optional requestParameters['payment_service_provider_order_id'] - [String]
+     * @optional requestParameters['order_item_categories'] - [array()]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function setOrderAttributes($requestParameters = array());
+
+
+    /* ConfirmOrderReferenceDetails API call - Confirms that the order reference is free of constraints and all required information has been set on the order reference.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751980
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_order_reference_id'] - [String]
+     * @optional requestParameters['success_url'] - [String]
+     * @optional requestParameters['failure_url'] - [String]
+     * @optional requestParameters['authorization_amount'] - [String]
+     * @optional requestParameters['currency_code'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function confirmOrderReference($requestParameters = array());
+
+
+    /* CancelOrderReferenceDetails API call - Cancels a previously confirmed order reference.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751990
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_order_reference_id'] - [String]
+     * @optional requestParameters['cancelation_reason'] [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function cancelOrderReference($requestParameters = array());
+
+
+    /* CloseOrderReference API call - Confirms that an order reference has been fulfilled (fully or partially)
+     * and that you do not expect to create any new authorizations on this order reference.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752000
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_order_reference_id'] - [String]
+     * @optional requestParameters['closure_reason'] [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function closeOrderReference($requestParameters = array());
+
+
+    /* CloseAuthorization API call - Closes an authorization.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752070
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_authorization_id'] - [String]
+     * @optional requestParameters['closure_reason'] [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function closeAuthorization($requestParameters = array());
+
+
+    /* Authorize API call - Reserves a specified amount against the payment method(s) stored in the order reference.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752010
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_order_reference_id'] - [String]
+     * @param requestParameters['authorization_amount'] [String]
+     * @param requestParameters['currency_code'] - [String]
+     * @param requestParameters['authorization_reference_id'] [String]
+     * @optional requestParameters['capture_now'] [String]
+     * @optional requestParameters['provider_credit_details'] - [array (array())]
+     * @optional requestParameters['seller_authorization_note'] [String]
+     * @optional requestParameters['transaction_timeout'] [String] - Defaults to 1440 minutes
+     * @optional requestParameters['soft_descriptor'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function authorize($requestParameters = array());
+
+
+    /* GetAuthorizationDetails API call - Returns the status of a particular authorization and the total amount captured on the authorization.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752030
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_authorization_id'] [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getAuthorizationDetails($requestParameters = array());
+
+
+    /* Capture API call - Captures funds from an authorized payment instrument.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752040
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_authorization_id'] - [String]
+     * @param requestParameters['capture_amount'] - [String]
+     * @param requestParameters['currency_code'] - [String]
+     * @param requestParameters['capture_reference_id'] - [String]
+     * @optional requestParameters['provider_credit_details'] - [array (array())]
+     * @optional requestParameters['seller_capture_note'] - [String]
+     * @optional requestParameters['soft_descriptor'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function capture($requestParameters = array());
+
+
+    /* GetCaptureDetails API call - Returns the status of a particular capture and the total amount refunded on the capture.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752060
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_capture_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getCaptureDetails($requestParameters = array());
+
+
+    /* Refund API call - Refunds a previously captured amount.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752080
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_capture_id'] - [String]
+     * @param requestParameters['refund_reference_id'] - [String]
+     * @param requestParameters['refund_amount'] - [String]
+     * @param requestParameters['currency_code'] - [String]
+     * @optional requestParameters['provider_credit_reversal_details'] - [array(array())]
+     * @optional requestParameters['seller_refund_note'] [String]
+     * @optional requestParameters['soft_descriptor'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function refund($requestParameters = array());
+
+
+    /* GetRefundDetails API call - Returns the status of a particular refund.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752100
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_refund_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getRefundDetails($requestParameters = array());
+
+
+    /* GetServiceStatus API Call - Returns the operational status of the OffAmazonPayments API section
+     * @see https://pay.amazon.com/developer/documentation/apireference/201752110
+     *
+     * The GetServiceStatus operation returns the operational status of the OffAmazonPayments API
+     * section of Amazon Marketplace Web Service (Amazon MWS).
+     * Status values are GREEN, GREEN_I, YELLOW, and RED.
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getServiceStatus($requestParameters = array());
+
+
+    /* CreateOrderReferenceForId API Call - Creates an order reference for the given object
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751670
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['id'] - [String]
+     * @optional requestParameters['inherit_shipping_address'] [Boolean]
+     * @optional requestParameters['confirm_now'] - [Boolean]
+     * @optional Amount (required when confirm_now is set to true) [String] 
+     * @optional requestParameters['currency_code'] - [String]
+     * @optional requestParameters['seller_note'] - [String]
+     * @optional requestParameters['seller_order_id'] - [String]
+     * @optional requestParameters['store_name'] - [String]
+     * @optional requestParameters['custom_information'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function createOrderReferenceForId($requestParameters = array());
+
+
+    /* GetBillingAgreementDetails API Call - Returns details about the Billing Agreement object and its current state.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751690
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_billing_agreement_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getBillingAgreementDetails($requestParameters = array());
+
+
+    /* SetBillingAgreementDetails API call - Sets Billing Agreement details such as a description of the agreement and other information about the seller.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751700
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_billing_agreement_id'] - [String]
+     * @param requestParameters['amount'] - [String]
+     * @param requestParameters['currency_code'] - [String]
+     * @optional requestParameters['platform_id'] - [String]
+     * @optional requestParameters['seller_note'] - [String]
+     * @optional requestParameters['seller_billing_agreement_id'] - [String]
+     * @optional requestParameters['store_name'] - [String]
+     * @optional requestParameters['custom_information'] - [String]
+     * @optional requestParameters['billing_agreement_type'] - [String] either 'CustomerInitiatedTransaction' or 'MerchantInitiatedTransaction'
+     * @optional requestParameters['subscription_amount'] - [String]
+     * @optional requestParameters['currency_code'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function setBillingAgreementDetails($requestParameters = array());
+
+
+    /* ConfirmBillingAgreement API Call - Confirms that the Billing Agreement is free of constraints and all required information has been set on the Billing Agreement.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751710
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_billing_agreement_id'] - [String]
+     * @optional requestParameters['success_url'] - [String]
+     * @optional requestParameters['failure_url'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function confirmBillingAgreement($requestParameters = array());
+
+
+    /* ValidateBillingAgreement API Call - Validates the status of the Billing Agreement object and the payment method associated with it.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751720
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_billing_agreement_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function validateBillingAgreement($requestParameters = array());
+
+
+    /* AuthorizeOnBillingAgreement API call - Reserves a specified amount against the payment method(s) stored in the Billing Agreement.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751940
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_billing_agreement_id'] - [String]
+     * @param requestParameters['authorization_reference_id'] [String]
+     * @param requestParameters['authorization_amount'] [String]
+     * @param requestParameters['currency_code'] - [String]
+     * @optional requestParameters['seller_authorization_note'] [String]
+     * @optional requestParameters['transaction_timeout'] - Defaults to 1440 minutes
+     * @optional requestParameters['capture_now'] [String]
+     * @optional requestParameters['soft_descriptor'] - - [String]
+     * @optional requestParameters['seller_note'] - [String]
+     * @optional requestParameters['platform_id'] - [String]
+     * @optional requestParameters['custom_information'] - [String]
+     * @optional requestParameters['seller_order_id'] - [String]
+     * @optional requestParameters['store_name'] - [String]
+     * @optional requestParameters['inherit_shipping_address'] [Boolean] - Defaults to true
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function authorizeOnBillingAgreement($requestParameters = array());
+
+
+    /* CloseBillingAgreement API Call - Returns details about the Billing Agreement object and its current state.
+     * @see https://pay.amazon.com/developer/documentation/apireference/201751950
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_billing_agreement_id'] - [String]
+     * @optional requestParameters['closure_reason'] [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function closeBillingAgreement($requestParameters = array());
+
+
+    /* GetMerchantNotificationConfiguration API Call - Returns details about the defined IPN endpoints
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getMerchantNotificationConfiguration($requestParameters = array());
+
+
+    /* SetMerchantNotificationConfiguration API Call - Set IPN endpoints
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['notification_configuration_list'] - [Array]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function setMerchantNotificationConfiguration($requestParameters = array());
+
+
+    /* charge convenience method
+     * Performs the API calls
+     * 1. SetOrderReferenceDetails / SetBillingAgreementDetails
+     * 2. ConfirmOrderReference / ConfirmBillingAgreement
+     * 3. Authorize (with Capture) / AuthorizeOnBillingAgreeemnt (with Capture)
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     *
+     * @param requestParameters['amazon_reference_id'] - [String] : Order Reference ID /Billing Agreement ID
+     * If requestParameters['amazon_reference_id'] is empty then the following is required,
+     * @param requestParameters['amazon_order_reference_id'] - [String] : Order Reference ID
+     * or,
+     * @param requestParameters['amazon_billing_agreement_id'] - [String] : Billing Agreement ID
+     * 
+     * @param $requestParameters['charge_amount'] - [String] : Amount value to be captured
+     * @param requestParameters['currency_code'] - [String] : Currency Code for the Amount
+     * @param requestParameters['authorization_reference_id'] - [String]- Any unique string that needs to be passed
+     * @optional requestParameters['charge_note'] - [String] : Seller Note sent to the buyer
+     * @optional requestParameters['transaction_timeout'] - [String] : Defaults to 1440 minutes
+     * @optional requestParameters['charge_order_id'] - [String] : Custom Order ID provided
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function charge($requestParameters = array());
+
+
+    /* GetProviderCreditDetails API Call - Get the details of the Provider Credit.
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_provider_credit_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getProviderCreditDetails($requestParameters = array());
+
+
+    /* GetProviderCreditReversalDetails API Call - Get details of the Provider Credit Reversal.
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_provider_credit_reversal_id'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function getProviderCreditReversalDetails($requestParameters = array());
+
+
+    /* ReverseProviderCredit API Call - Reverse the Provider Credit.
+     *
+     * @param requestParameters['merchant_id'] - [String]
+     * @param requestParameters['amazon_provider_credit_id'] - [String]
+     * @optional requestParameters['credit_reversal_reference_id'] - [String]
+     * @param requestParameters['credit_reversal_amount'] - [String]
+     * @optional requestParameters['currency_code'] - [String]
+     * @optional requestParameters['credit_reversal_note'] - [String]
+     * @optional requestParameters['mws_auth_token'] - [String]
+     */
+    public function reverseProviderCredit($requestParameters = array());
+
+}
Index: /mods/mod_amazon/PayWithAmazon/HttpCurlInterface.php
===================================================================
--- /mods/mod_amazon/PayWithAmazon/HttpCurlInterface.php	(revision 7870)
+++ /mods/mod_amazon/PayWithAmazon/HttpCurlInterface.php	(revision 7870)
@@ -0,0 +1,30 @@
+<?php
+namespace AmazonPay;
+
+/* Interface for HttpCurl.php */
+
+interface HttpCurlInterface
+{    
+    /* Set Http header for Access token for the GetUserInfo call */
+    
+    public function setHttpHeader();
+    
+    /* Setter for  Access token to get the user info */
+    
+    public function setAccessToken($accesstoken);
+    
+    /* POST using curl for the following situations
+     * 1. API calls
+     * 2. IPN certificate retrieval
+     * 3. Get User Info
+     */
+    
+    public function httpPost($url, $userAgent = null, $parameters = null);
+    
+    /* GET using curl for the following situations
+     * 1. IPN certificate retrieval
+     * 3. Get User Info
+     */
+    
+    public function httpGet($url, $userAgent = null);
+}
Index: /mods/mod_amazon/PayWithAmazon/IpnHandlerInterface.php
===================================================================
--- /mods/mod_amazon/PayWithAmazon/IpnHandlerInterface.php	(revision 7870)
+++ /mods/mod_amazon/PayWithAmazon/IpnHandlerInterface.php	(revision 7870)
@@ -0,0 +1,30 @@
+<?php
+namespace AmazonPay;
+
+/* Interface for IpnHandler.php */
+
+interface IpnHandlerInterface
+{   
+    /* returnMessage() - JSON decode the raw [Message] portion of the IPN */
+    
+    public function returnMessage();
+
+    /* toJson() - Converts IPN [Message] field to JSON
+     *
+     * Has child elements
+     * ['NotificationData'] [XML] - API call XML notification data
+     * @param remainingFields - consists of remaining IPN array fields that are merged
+     * Type - Notification
+     * MessageId -  ID of the Notification
+     * Topic ARN - Topic of the IPN
+     * @return response in JSON format
+     */
+    
+    public function toJson();
+
+    /* toArray() - Converts IPN [Message] field to associative array
+     * @return response in array format
+     */
+    
+    public function toArray();
+}
Index: /mods/mod_amazon/PayWithAmazon/ResponseInterface.php
===================================================================
--- /mods/mod_amazon/PayWithAmazon/ResponseInterface.php	(revision 7870)
+++ /mods/mod_amazon/PayWithAmazon/ResponseInterface.php	(revision 7870)
@@ -0,0 +1,31 @@
+<?php
+namespace AmazonPay;
+
+/* Interface for ResponseParser.php */
+
+interface ResponseInterface
+{   
+    /* Returns the XML portion of the response */
+    
+    public function toXml();
+    
+    /* toJson  - converts XML into Json
+     * @param $response [XML]
+     */
+    
+    public function toJson();
+    
+    /* toArray  - converts XML into associative array
+     * @param $this->_response [XML]
+     */
+    
+    public function toArray();
+    
+    /* Get the status of the BillingAgreement */
+    
+    public function getBillingAgreementDetailsStatus($response);
+
+    /* Get the status of the OrderReference */
+    
+    public function getOrderReferenceDetailsStatus($response);
+}
Index: /views/js/index.js
===================================================================
--- /views/js/index.js	(revision 7870)
+++ /views/js/index.js	(revision 7870)
@@ -0,0 +1,1 @@
+!function(e){var t={};function r(l){if(t[l])return t[l].exports;var n=t[l]={i:l,l:!1,exports:{}};return e[l].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,l){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:l})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var l=Object.create(null);if(r.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(l,n,function(t){return e[t]}.bind(null,n));return l},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=2)}([function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){!function(){e.exports=this.wp.components}()},function(e,t,r){"use strict";r.r(t);var l=r(0),n=r(1);(0,wp.blocks.registerBlockType)("wpsg/product",{title:"Produkt(e)",attributes:{product:{type:"string",default:"0"},template:{type:"string",default:"standard.phtml"},hide_title:{type:"string",default:"0"}},icon:Object(l.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",x:"0",y:"0",version:"1.1",viewBox:"0 0 200 200",xmlSpace:"preserve"},Object(l.createElement)("path",{fill:"#C4D00C",d:"M105.023 9.465c-50.1 0-90.71 40.613-90.71 90.706 0 50.096 40.61 90.708 90.71 90.708 50.101 0 90.703-40.612 90.703-90.708.001-50.093-40.602-90.706-90.703-90.706zm-.07 157.155c-36.734 0-66.518-29.778-66.518-66.512s29.783-66.521 66.518-66.521c36.733 0 66.516 29.786 66.516 66.521 0 36.734-29.782 66.512-66.516 66.512z"}),Object(l.createElement)("path",{fill:"#153C67",d:"M102.003 142.499c0 8.349-6.771 15.122-15.122 15.122-8.349 0-15.117-6.773-15.117-15.122 0-8.346 6.769-15.114 15.117-15.114 8.35 0 15.122 6.768 15.122 15.114zM138.28 142.499c0 8.349-6.767 15.122-15.115 15.122-8.352 0-15.12-6.773-15.12-15.122 0-8.346 6.769-15.114 15.12-15.114 8.349 0 15.115 6.768 15.115 15.114zM141.306 57.846H98.975c-8.349 0-15.115 6.767-15.115 15.114 0 8.354 6.767 15.122 15.115 15.122h21.352l-2.011 6.046h-32.52l-3.953-5.864-.005-.012c-.006-.001-.009-.008-.011-.014l-8.436-12.499c-.005-.004-.005-.013-.014-.017 0-.007-.004-.01-.01-.019l-8.431-12.5c-.006-.007-.01-.011-.013-.018-.004 0-.004-.006-.012-.01l-8.432-12.498c0-.008-.009-.01-.011-.018-.003-.006-.007-.012-.01-.012L48.02 38.144c-.005-.01-.005-.015-.011-.023a15.112 15.112 0 00-12.533-6.659H20.361c-8.35 0-15.118 6.768-15.118 15.116 0 8.351 6.769 15.118 15.118 15.118h7.085l3.961 5.874 8.455 12.532 8.456 12.528v.009l8.452 12.52v.006h.002l8.46 12.532.027-.021c2.718 4.03 7.324 6.683 12.551 6.683h51.399c6.807 0 12.558-4.495 14.451-10.686l11.821-35.466c.608-1.635.938-3.403.938-5.25.001-8.345-6.766-15.111-15.113-15.111z"})),category:"layout",edit:function(e){var t=e.attributes,r=e.setAttributes,o=e.className,c=t.product,u=t.template,i=t.hide_title;return Object(l.createElement)("div",{className:o},Object(l.createElement)(n.SelectControl,{value:c,label:wpsg_block_product.label.product,onChange:function(e){r({product:e})},options:wpsg_block_product.arProductSelect}),Object(l.createElement)(n.SelectControl,{value:u,label:wpsg_block_product.label.template,onChange:function(e){r({template:e})},options:wpsg_block_product.arTemplateSelect}),Object(l.createElement)(n.SelectControl,{value:i,label:wpsg_block_product.label.hide_title,onChange:function(e){r({hide_title:e})},options:wpsg_block_product.arHideTitleSelect}))},save:function(e){return null}})}]);
