<br />
<b>Warning</b>:  Undefined array key "client_id" in <b>/www/wwwroot/www.yangyang-store.online/wp-content/plugins/wp-ecommerce-paypal/includes/public_shortcode.php</b> on line <b>159</b><br />
{"id":105,"date":"2025-10-13T01:41:44","date_gmt":"2025-10-12T17:41:44","guid":{"rendered":"https:\/\/www.yangyang-store.online\/?post_type=product&#038;p=105"},"modified":"2026-03-15T23:55:55","modified_gmt":"2026-03-15T15:55:55","slug":"marble-teardrop-vase%ef%bc%88%e5%a4%a7%e7%90%86%e7%9f%b3%e6%b3%aa%e6%bb%b4%e8%8a%b1%e7%93%b6","status":"publish","type":"product","link":"https:\/\/www.yangyang-store.online\/index.php\/product\/marble-teardrop-vase%ef%bc%88%e5%a4%a7%e7%90%86%e7%9f%b3%e6%b3%aa%e6%bb%b4%e8%8a%b1%e7%93%b6\/","title":{"rendered":"Marble Teardrop Vase\uff08\u5927\u7406\u77f3\u6cea\u6ef4\u82b1\u74f6)"},"content":{"rendered":"<p>The marble teardrop vase is an excellent statement piece that can be displayed by itself or with dried pampas or reeds. Each one is hand carved so marbling and shape may differ from the photo.<br \/>\nDimensions:<br \/>\nHeight: 11.5in<br \/>\nDiameter of middle: 5in<br \/>\nDiameter of opening: 1in<br \/>\nDepth of opening: 4.5in<\/p>\n<div class='wpecpp-container wpecpp-align-center'><form class='wpecpp-form wpecpp-form-disabled' id='rcef5fa672b8c7f8fc5902e589070d217' action='#' method='post'>    \r\n    <!-- PayPal SDK Loader with DOM check -->\r\n    <script>\r\n    (function() {\r\n        var sdkId = 'wpecpp-paypal-sdk-d28338a57a669db466e8317334b91638';\r\n        var sdkUrl = 'https:\/\/www.paypal.com\/sdk\/js?merchant-id=BXYHVNXQ383AE&currency=USD&intent=capture&components=buttons,funding-eligibility';\r\n        \r\n        \/\/ Check if SDK script already exists in DOM or is being loaded\r\n        if (!document.getElementById(sdkId)) {\r\n            var script = document.createElement('script');\r\n            script.id = sdkId;\r\n            script.src = sdkUrl;\r\n            script.setAttribute('data-partner-attribution-id', '<br \/>\n<b>Warning<\/b>:  Undefined array key \"bn_code\" in <b>\/www\/wwwroot\/www.yangyang-store.online\/wp-content\/plugins\/wp-ecommerce-paypal\/includes\/public_shortcode.php<\/b> on line <b>199<\/b><br \/>\n');\r\n                        document.head.appendChild(script);\r\n        }\r\n    })();\r\n    <\/script>\r\n    \r\n    <style>\r\n        .wpecpp-paypal-button-container > *,\r\n        .wpecpp-paypal-hosted-fields-container .wpecpp-paypal-btn {\r\n            max-width: 300px;\r\n        }\r\n        .wpecpp-paypal-hosted-fields-container .wpecpp-paypal-btn {\r\n            height: 40px;\r\n        }\r\n    <\/style>\r\n    \r\n    <script>\r\n        const wpecppPaypalFunding_rcef5fa672b8c7f8fc5902e589070d217 = [\"paypal\"];\r\n    <\/script>\r\n\r\n    <!-- Buttons container -->\r\n    <div id='wpecpp-paypal-button-container-rcef5fa672b8c7f8fc5902e589070d217' class='wpecpp-paypal-button-container wpecpp-vertical'><\/div>\r\n\r\n\t\r\n    <div id='wpecpp-paypal-message-rcef5fa672b8c7f8fc5902e589070d217' class='wpecpp-payment-message'><\/div>\r\n\r\n    <script>\r\n        (function() {\r\n            const message_rcef5fa672b8c7f8fc5902e589070d217 = document.getElementById('wpecpp-paypal-message-rcef5fa672b8c7f8fc5902e589070d217');\r\n            \r\n            \/\/ Wait for SDK to be fully loaded with polling\r\n            function initPayPalButton_rcef5fa672b8c7f8fc5902e589070d217() {\r\n                \/\/ Check if PayPal SDK is fully loaded with all required methods\r\n                if ( typeof paypal === 'undefined' || \r\n                     typeof paypal.getFundingSources !== 'function' ||\r\n                     typeof paypal.Buttons !== 'function' ) {\r\n                    \/\/ SDK not loaded yet, wait and try again\r\n                    setTimeout(initPayPalButton_rcef5fa672b8c7f8fc5902e589070d217, 100);\r\n                    return;\r\n                }\r\n\r\n        paypal.getFundingSources().forEach(function (fundingSource) {\r\n            if ( wpecppPaypalFunding_rcef5fa672b8c7f8fc5902e589070d217.indexOf(fundingSource) > -1 ) {\r\n                const style = {\r\n                    shape: 'rect',\r\n                    label: 'pay',\r\n                    height: 40                };\r\n\r\n                if ( fundingSource !== 'card' ) {\r\n                    let color = 'gold';\r\n                    if (fundingSource === 'venmo' && color === 'gold') {\r\n                        color = 'blue';\r\n                    } else if (['ideal', 'bancontact', 'giropay', 'eps', 'sofort', 'mybank', 'p24'].indexOf(fundingSource) > -1 && ['gold', 'blue'].indexOf(color) > -1) {\r\n                        color = 'default';\r\n                    }\r\n                    style.color = color;\r\n                }\r\n\r\n                const button = paypal.Buttons({\r\n                    fundingSource: fundingSource,\r\n                    style: style,\r\n                    createOrder: function() {\r\n                        message_rcef5fa672b8c7f8fc5902e589070d217.innerHTML = '';\r\n\r\n                        const form = document.getElementById('rcef5fa672b8c7f8fc5902e589070d217'),\r\n                            formData = new FormData(),\r\n                            nameInput = form.querySelector('[name=\"item_name\"]'),\r\n                            priceInput = form.querySelector('[name=\"amount\"]'),\r\n                            quantityInput = form.querySelector('[name=\"quantity\"]');\r\n\r\n                        formData.append('action', 'wpecpp-ppcp-order-create');\r\n                        formData.append('nonce', wpecpp.nonce);\r\n                        formData.append('name', nameInput ? nameInput.value : '');\r\n                        formData.append('price', priceInput ? priceInput.value : 0);\r\n                        if (quantityInput) {\r\n                            formData.append('quantity', quantityInput.value);\r\n                        }\r\n\r\n                        return fetch(wpecpp.ajaxUrl, {\r\n                            method: 'post',\r\n                            body: formData\r\n                        }).then(function(response) {\r\n                            return response.json();\r\n                        }).then(function(data) {\r\n                            let orderID = false;\r\n                            if (data.success && data.data.order_id) {\r\n                                orderID = data.data.order_id;\r\n                            } else {\r\n                                throw data.data && data.data.message ? data.data.message : 'An unknown error occurred while creating the order. Please reload the page and try again.';\r\n                            }\r\n                            return orderID;\r\n                        });\r\n                    },\r\n                    onApprove: function(data) {\r\n                        const formData = new FormData();\r\n\r\n                        formData.append('action', 'wpecpp-ppcp-order-finalize');\r\n                        formData.append('nonce', wpecpp.nonce);\r\n                        formData.append('order_id', data.orderID);\r\n\r\n                        return fetch(wpecpp.ajaxUrl, {\r\n                            method: 'post',\r\n                            body: formData\r\n                        }).then(function(response) {\r\n                            return response.json();\r\n                        }).then(function(data) {\r\n                            if (data.success) {\r\n                                if (wpecpp.return.length) {\r\n                                    window.location.href = wpecpp.return;\r\n                                } else {\r\n                                    message_rcef5fa672b8c7f8fc5902e589070d217.innerHTML = '<span class=\"payment-success\">' + data.data.message + '<\/span>';\r\n                                }\r\n                            } else {\r\n                                throw data.data.message;\r\n                            }\r\n                        });\r\n                    },\r\n                    onCancel: function() {\r\n                        if (wpecpp.cancel.length) {\r\n                            window.location.href = wpecpp.cancel;\r\n                        } else {\r\n                            message_rcef5fa672b8c7f8fc5902e589070d217.innerHTML = '<span class=\"payment-error\">The payment was cancelled.<\/span>';\r\n                        }\r\n                    },\r\n                    onError: function (error) {\r\n                        message_rcef5fa672b8c7f8fc5902e589070d217.innerHTML = '<span class=\"payment-error\">' + (error ? error : '<strong>Site admin<\/strong>, an error was detected in the plugin settings.<\/br>Please check the PayPal connection and product settings (price, name, etc.)') + '<\/span>';\r\n                    }\r\n                });\r\n\r\n                if (button.isEligible()) {\r\n                    button.render('#wpecpp-paypal-button-container-rcef5fa672b8c7f8fc5902e589070d217');\r\n                }\r\n            }\r\n        });\r\n\r\n                    } \/\/ End initPayPalButton function\r\n            \r\n            \/\/ Start initialization (will poll until SDK is ready)\r\n            initPayPalButton_rcef5fa672b8c7f8fc5902e589070d217();\r\n        })(); \/\/ End IIFE\r\n    <\/script>\r\n    <input type='hidden' name='item_name' value='Marble Teardrop Vase\uff08\u5927\u7406\u77f3\u6cea\u6ef4\u82b1\u74f6)' \/><input type='hidden' name='amount' value='25' \/><\/form><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The marble teardrop vase is an excellent statement piec [&hellip;]<\/p>\n","protected":false},"featured_media":126,"comment_status":"open","ping_status":"closed","template":"","meta":[],"product_brand":[],"product_cat":[16],"product_tag":[],"class_list":{"0":"post-105","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-marble-products","8":"first","9":"instock","10":"shipping-taxable","11":"purchasable","12":"product-type-simple"},"_links":{"self":[{"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/product\/105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/comments?post=105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/media\/126"}],"wp:attachment":[{"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/media?parent=105"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/product_brand?post=105"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/product_cat?post=105"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.yangyang-store.online\/index.php\/wp-json\/wp\/v2\/product_tag?post=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}