{"id":4515,"date":"2023-11-19T14:44:22","date_gmt":"2023-11-19T14:44:22","guid":{"rendered":"https:\/\/www.citypost.com.sg\/?page_id=4515"},"modified":"2024-04-21T15:12:44","modified_gmt":"2024-04-21T15:12:44","slug":"payment","status":"publish","type":"page","link":"https:\/\/www.citypost.com.sg\/index.php\/payment\/","title":{"rendered":"Payment"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4515\" class=\"elementor elementor-4515\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-789e15ad elementor-section-boxed elementor-section-height-default elementor-section-height-default parallax_section_no qode_elementor_container_no\" data-id=\"789e15ad\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-302a3cb7\" data-id=\"302a3cb7\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7c64022 elementor-widget elementor-widget-heading\" data-id=\"7c64022\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"decor\"><span class=\"dot\"><\/span><\/div><h2 class=\"elementor-heading-title elementor-size-default\">Online Payment<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b6e7c95 elementor-section-boxed elementor-section-height-default elementor-section-height-default parallax_section_no qode_elementor_container_no\" data-id=\"b6e7c95\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-aa2092c\" data-id=\"aa2092c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-1cbadee\" data-id=\"1cbadee\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4d73c8c elementor-widget elementor-widget-shortcode\" data-id=\"4d73c8c\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"wpapp_widget\"><div id=\"elements_wrapper_wpapp_paypal_button_0\"><div class=\"wpapp_payment_subject\"><span class=\"payment_subject\"><strong><\/strong><\/span><\/div><select id=\"select_wpapp_paypal_button_0\" name=\"select_wpapp_paypal_button_0\" class=\"\"><option value=\"\"> - <\/option><\/select><div class=\"wpapp_other_amount_label\"><strong>Invoice Amount (SGD)<\/strong><\/div><div class=\"wpapp_other_amount_input\"><input type=\"number\" min=\"1\" step=\"any\" name=\"wpapp_other_amt\" title=\"Other Amount\" value=\"\" placeholder=\"0.00\" class=\"wpapp_other_amt_input\" style=\"max-width:80px;\" \/><\/div><div class=\"wpapp_ref_title_label\"><strong>Payment Reference:<\/strong><\/div><div class=\"wpapp_ref_value\"><input type=\"text\" name=\"wpapp_button_reference\" maxlength=\"60\" value=\"\" placeholder=\"Enter your invoice number.\" class=\"wp_pp_button_reference\" \/><\/div><div style=\"margin-bottom:10px;\"><\/div><\/div>    <div class=\"wpapp-ppcp-button-wrapper\">\n\n    <!-- PayPal button container where the button will be rendered -->\n    <div id=\"wpapp_paypal_button_0\" style=\"width: 250px;\"><\/div>\n\n    <script type=\"text\/javascript\">\n        document.addEventListener( \"wpapp_paypal_sdk_loaded\", function() { \n            \/\/Anything that goes here will only be executed after the PayPal SDK is loaded.\n            console.log('PayPal JS SDK is loaded for WPAPP.');\n\n            \/**\n             * See documentation: https:\/\/developer.paypal.com\/sdk\/js\/reference\/\n             *\/\n            paypal.Buttons({\n                \/**\n                 * Optional styling for buttons.\n                 * \n                 * See documentation: https:\/\/developer.paypal.com\/sdk\/js\/reference\/#link-style\n                 *\/\n                style: {\n                    color: 'blue',\n                    shape: 'rect',\n                    height: 35,\n                    label: 'pay',\n                    layout: 'vertical',\n                },\n\n                \/\/ Triggers when the button first renders.\n                onInit: onInitHandler,\n\n                \/\/ Triggers when the button is clicked.\n                onClick: onClickHandler,\n\n                \/\/ Setup the transaction.\n                createOrder: createOrderHandler,\n\n                \/\/ Handle the onApprove event.\n                onApprove: onApproveHandler,\n\n                \/\/ Handle unrecoverable errors.\n                onError: onErrorHandler,\n\n                \/\/ Handles onCancel event.\n                onCancel: onCancelHandler,\n\n            })\n            .render('#wpapp_paypal_button_0')\n            .catch((err) => {\n                console.error('PayPal Buttons failed to render');\n            });\n\n            function onInitHandler(data, actions) {\n                \/\/This function is called when the button first renders.\n            }\n\n            function onClickHandler(data, actions) {\n                \/\/This function is called when the button is clicked.\n            }\n\n            \n            \/**\n             * See documentation: https:\/\/developer.paypal.com\/sdk\/js\/reference\/#link-createorder\n             *\/\n            async function createOrderHandler() {\n                \/\/ Create the order in PayPal using the PayPal API.\n                \/\/ https:\/\/developer.paypal.com\/docs\/checkout\/standard\/integrate\/\n                \/\/ The server-side Create Order API is used to generate the Order. Then the Order-ID is returned.                    \n                console.log('Setting up the AJAX request for create-order call.');\n\n                \/\/ First, select the interacted button's wrapper div by its ID (so  we can target various elements within it)\n                const wrapper_div_interacted_button = document.getElementById('elements_wrapper_wpapp_paypal_button_0');\n                \/\/console.log(wrapper_div_interacted_button);\n\n                \/\/ Read the select element and get the selected option's value and text.\n                js_on_page_embed_button_id = 'wpapp_paypal_button_0';\n                var selectId = 'select_' + js_on_page_embed_button_id; \/\/ Construct the select ID\n                var selectElement = document.getElementById(selectId);\n                \/\/console.log(\"Select Element: \", selectElement);\n\n                \/\/Get the other amount field value.\n                var other_amount_input = wrapper_div_interacted_button.querySelector('.wpapp_other_amt_input');\n\n                \/\/Get the reference field value.\n                var pp_reference_field = wrapper_div_interacted_button.querySelector('.wp_pp_button_reference');\n\n                let pp_bn_data = {};\n                pp_bn_data.transient_name = '6a66f11a797f8_wpapp_paypal_button_0';\n                pp_bn_data.on_page_button_id = 'wpapp_paypal_button_0';\n                pp_bn_data.selected_val = selectElement.value;\/\/value of the selected option. (we can use it get the item name from the transient).\n                pp_bn_data.other_amount_val = other_amount_input ? other_amount_input.value : '';\n                pp_bn_data.pp_reference_field = pp_reference_field ? pp_reference_field.value : '';\n                console.log('WPAPP Button Data Below');\n                console.log(pp_bn_data);\n\n                \/\/Ajax action: <prefix>_pp_create_order \n                let post_data = 'action=wpapp_pp_create_order&data=' + JSON.stringify(pp_bn_data) + '&_wpnonce=ed266a0391';\n                \/\/console.log('Post Data: ', post_data);\/\/Debugging purposes only.\n\n                try {\n                    \/\/ Using fetch for AJAX request. This is supported in all modern browsers.\n                    const response = await fetch(\"https:\/\/www.citypost.com.sg\/wp-admin\/admin-ajax.php\", {\n                        method: \"post\",\n                        headers: {\n                            'Content-Type': 'application\/x-www-form-urlencoded'\n                        },\n                        body: post_data\n                    });\n\n                    const response_data = await response.json();\n\n                    if (response_data.order_id) {\n                        console.log('Create-order API call to PayPal completed successfully.');\n                        \/\/If we need to see the order details, uncomment the following line.\n                        \/\/const order_data = response_data.order_data;\n                        \/\/console.log('Order data: ' + JSON.stringify(order_data));\n                        return response_data.order_id;\n                    } else {\n                        const error_message = JSON.stringify(response_data);\n                        console.error('Error occurred during create-order call to PayPal. ' + error_message);\n                        throw new Error(error_message);\n                    }\n                } catch (error) {\n                    console.error(error);\n                    alert('Could not initiate PayPal Checkout...\\n\\n' + JSON.stringify(error));\n                }\n            }\n\n            async function onApproveHandler(data, actions) {\n                console.log('Successfully created a transaction.');\n\n                \/\/ Show the spinner while we process this transaction.\n                \/\/ First, select the button container by its ID.\n                const pp_button_container = document.getElementById('wpapp_paypal_button_0');\n                \/\/ Then, navigate to the parent element of the PPCP button container.\n                const parent_wrapper = pp_button_container.parentElement;\n                \/\/ Finally, within the parent wrapper, select the spinner container\n                const pp_button_spinner_container = parent_wrapper.querySelector('.wpapp-pp-button-spinner-container');\n                \/\/console.log('Button spinner container: ', pp_button_spinner_container);\n\n                pp_button_container.style.display = 'none'; \/\/Hide the buttons\n                pp_button_spinner_container.style.display = 'inline-block'; \/\/Show the spinner.\n\n                \/\/ Capture the order in PayPal using the PayPal API.\n                \/\/ https:\/\/developer.paypal.com\/docs\/checkout\/standard\/integrate\/\n                \/\/ The server-side capture-order API is used. Then the Capture-ID is returned.\n                console.log('Setting up the AJAX request for capture-order call.');\n                let pp_bn_data = {};\n                pp_bn_data.order_id = data.orderID;\n                pp_bn_data.on_page_button_id = 'wpapp_paypal_button_0';\n                pp_bn_data.transient_name = '6a66f11a797f8_wpapp_paypal_button_0';\n                \/\/pp_bn_data.custom_field = encodeURIComponent(custom_data);\/\/If you have any custom data to send to the server (it needs to be URI encoded so special characters are not lost.)\n\n                \/\/Ajax action: <prefix>_pp_capture_order\n                let post_data = 'action=wpapp_pp_capture_order&data=' + JSON.stringify(pp_bn_data) + '&_wpnonce=ed266a0391';\n                try {\n                    const response = await fetch(\"https:\/\/www.citypost.com.sg\/wp-admin\/admin-ajax.php\", {\n                        method: \"post\",\n                        headers: {\n                            'Content-Type': 'application\/x-www-form-urlencoded'\n                        },\n                        body: post_data\n                    });\n\n                    const response_data = await response.json();\n                    const txn_data = response_data.txn_data;\n                    const error_detail = txn_data?.details?.[0];\n                    const error_msg = response_data.error_msg;\/\/Our custom error message.\n                    \/\/ Three cases to handle:\n                    \/\/ (1) Recoverable INSTRUMENT_DECLINED -> call actions.restart()\n                    \/\/ (2) Other non-recoverable errors -> Show a failure message\n                    \/\/ (3) Successful transaction -> Show confirmation or thank you message\n\n                    if (response_data.capture_id) {\n                        \/\/ Successful transaction -> Show confirmation or thank you message\n                        console.log('Capture-order API call to PayPal completed successfully.');\n\n                        \/\/Redirect to the Thank you page URL if it is set.\n                        return_url = '';\n                        if( return_url ){\n                            \/\/redirect to the Thank you page URL.\n                            console.log('Redirecting to the Thank you page URL: ' + return_url);\n                            window.location.href = return_url;\n                            return;\n                        } else {\n                            \/\/No return URL is set. Just show a success message.\n                            console.log('No return URL is set in the settings. Showing a success message.');\n\n                            \/\/We are going to show the success message in the wpapp-ppcp-button-wrapper's container.\n                            txn_success_msg = 'Transaction completed successfully! Feel free to browse our site for another checkout.';\n                            \/\/ Select all elements with the class 'wpapp-ppcp-button-wrapper'\n                            var button_divs = document.querySelectorAll('.wpapp-ppcp-button-wrapper');\n\n                            \/\/ Loop through the NodeList and update each element\n                            button_divs.forEach(function(div, index) {\n                                div.innerHTML = '<div id=\"wpapp-btn-txn-success-msg-' + index + '\" class=\"wpapp-btn-txn-success-msg\">' + txn_success_msg + '<\/div>';\n                            });\n\n                            \/\/ Scroll to the success message container of the button we are interacting with.\n                            const interacted_button_container_element = document.getElementById(elements_wrapper_wpapp_paypal_button_0);\n                            if (interacted_button_container_element) {\n                                interacted_button_container_element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n                            }\n                            return;\n                        }\n\n                    } else if (error_detail?.issue === \"INSTRUMENT_DECLINED\") {\n                        \/\/ Recoverable INSTRUMENT_DECLINED -> call actions.restart()\n                        console.log('Recoverable INSTRUMENT_DECLINED error. Calling actions.restart()');\n                        return actions.restart();\n                    } else if ( error_msg && error_msg.trim() !== '' ) {\n                        \/\/Our custom error message from the server.\n                        console.error('Error occurred during PayPal checkout process.');\n                        console.error( error_msg );\n                        alert( error_msg );\n                    } else {\n                        \/\/ Other non-recoverable errors -> Show a failure message\n                        console.error('Non-recoverable error occurred during PayPal checkout process.');\n                        console.error( error_detail );\n                        \/\/alert('Unexpected error occurred with the transaction. Enable debug logging to get more details.\\n\\n' + JSON.stringify(error_detail));\n                    }\n\n                    \/\/Return the button and the spinner back to their orignal display state.\n                    pp_button_container.style.display = 'block'; \/\/ Show the buttons\n                    pp_button_spinner_container.style.display = 'none'; \/\/ Hide the spinner\n\n                } catch (error) {\n                    console.error(error);\n                    alert('PayPal returned an error! Transaction could not be processed. Enable the debug logging feature to get more details...\\n\\n' + JSON.stringify(error));\n                }\n            }\n\n            function onErrorHandler(err) {\n                console.error('An error prevented the user from checking out with PayPal. ' + JSON.stringify(err));\n                alert( 'Error occurred during PayPal checkout process.\\n\\n' + JSON.stringify(err) );\n            }\n            \n            function onCancelHandler (data) {\n                console.log('Checkout operation cancelled by the customer.');\n                \/\/Return to the parent page which the button does by default.\n            }            \n\n        });\n    <\/script>\n\n    <style>\n        @keyframes wpapp-pp-button-spinner {\n            to {transform: rotate(360deg);}\n        }\n        .wpapp-pp-button-spinner {\n            margin: 0 auto;\n            text-indent: -9999px;\n            vertical-align: middle;\n            box-sizing: border-box;\n            position: relative;\n            width: 60px;\n            height: 60px;\n            border-radius: 50%;\n            border: 5px solid #ccc;\n            border-top-color: #0070ba;\n            animation: wpapp-pp-button-spinner .6s linear infinite;\n        }\n        .wpapp-pp-button-spinner-container {\n            width: 100%;\n            text-align: center;\n            margin-top:10px;\n            display: none;\n        }\n    <\/style>\n    <div class=\"wpapp-pp-button-spinner-container\">\n        <div class=\"wpapp-pp-button-spinner\"><\/div>\n    <\/div>    \n    <\/div><!-- end of button-wrapper -->\n    <\/div>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-3328e03\" data-id=\"3328e03\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2a5b7b8 elementor-section-boxed elementor-section-height-default elementor-section-height-default parallax_section_no qode_elementor_container_no\" data-id=\"2a5b7b8\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ca5a893\" data-id=\"ca5a893\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2564a6b elementor-widget elementor-widget-spacer\" data-id=\"2564a6b\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t        <div class=\"elementor-spacer\">\n            <div class=\"elementor-spacer-inner\"><\/div>\n        <\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Online Payment<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-4515","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Payment - Flyer Distribution Service<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.citypost.com.sg\/index.php\/payment\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Payment - Flyer Distribution Service\" \/>\n<meta property=\"og:description\" content=\"Online Payment\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.citypost.com.sg\/index.php\/payment\/\" \/>\n<meta property=\"og:site_name\" content=\"Flyer Distribution Service\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-21T15:12:44+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/index.php\\\/payment\\\/\",\"url\":\"https:\\\/\\\/www.citypost.com.sg\\\/index.php\\\/payment\\\/\",\"name\":\"Payment - Flyer Distribution Service\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/#website\"},\"datePublished\":\"2023-11-19T14:44:22+00:00\",\"dateModified\":\"2024-04-21T15:12:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/index.php\\\/payment\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.citypost.com.sg\\\/index.php\\\/payment\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/index.php\\\/payment\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.citypost.com.sg\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Payment\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/#website\",\"url\":\"https:\\\/\\\/www.citypost.com.sg\\\/\",\"name\":\"Flyer Distribution Service\",\"description\":\"The REAL Flyer Distribution in Singapore\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.citypost.com.sg\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/#organization\",\"name\":\"Flyer Distribution Service\",\"url\":\"https:\\\/\\\/www.citypost.com.sg\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.citypost.com.sg\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/cropped-citypost_logo_xs.jpg\",\"contentUrl\":\"https:\\\/\\\/www.citypost.com.sg\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/cropped-citypost_logo_xs.jpg\",\"width\":136,\"height\":60,\"caption\":\"Flyer Distribution Service\"},\"image\":{\"@id\":\"https:\\\/\\\/www.citypost.com.sg\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Payment - Flyer Distribution Service","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.citypost.com.sg\/index.php\/payment\/","og_locale":"en_US","og_type":"article","og_title":"Payment - Flyer Distribution Service","og_description":"Online Payment","og_url":"https:\/\/www.citypost.com.sg\/index.php\/payment\/","og_site_name":"Flyer Distribution Service","article_modified_time":"2024-04-21T15:12:44+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.citypost.com.sg\/index.php\/payment\/","url":"https:\/\/www.citypost.com.sg\/index.php\/payment\/","name":"Payment - Flyer Distribution Service","isPartOf":{"@id":"https:\/\/www.citypost.com.sg\/#website"},"datePublished":"2023-11-19T14:44:22+00:00","dateModified":"2024-04-21T15:12:44+00:00","breadcrumb":{"@id":"https:\/\/www.citypost.com.sg\/index.php\/payment\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.citypost.com.sg\/index.php\/payment\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.citypost.com.sg\/index.php\/payment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.citypost.com.sg\/"},{"@type":"ListItem","position":2,"name":"Payment"}]},{"@type":"WebSite","@id":"https:\/\/www.citypost.com.sg\/#website","url":"https:\/\/www.citypost.com.sg\/","name":"Flyer Distribution Service","description":"The REAL Flyer Distribution in Singapore","publisher":{"@id":"https:\/\/www.citypost.com.sg\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.citypost.com.sg\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.citypost.com.sg\/#organization","name":"Flyer Distribution Service","url":"https:\/\/www.citypost.com.sg\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.citypost.com.sg\/#\/schema\/logo\/image\/","url":"https:\/\/www.citypost.com.sg\/wp-content\/uploads\/2021\/11\/cropped-citypost_logo_xs.jpg","contentUrl":"https:\/\/www.citypost.com.sg\/wp-content\/uploads\/2021\/11\/cropped-citypost_logo_xs.jpg","width":136,"height":60,"caption":"Flyer Distribution Service"},"image":{"@id":"https:\/\/www.citypost.com.sg\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.citypost.com.sg\/index.php\/wp-json\/wp\/v2\/pages\/4515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.citypost.com.sg\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.citypost.com.sg\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.citypost.com.sg\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.citypost.com.sg\/index.php\/wp-json\/wp\/v2\/comments?post=4515"}],"version-history":[{"count":33,"href":"https:\/\/www.citypost.com.sg\/index.php\/wp-json\/wp\/v2\/pages\/4515\/revisions"}],"predecessor-version":[{"id":4600,"href":"https:\/\/www.citypost.com.sg\/index.php\/wp-json\/wp\/v2\/pages\/4515\/revisions\/4600"}],"wp:attachment":[{"href":"https:\/\/www.citypost.com.sg\/index.php\/wp-json\/wp\/v2\/media?parent=4515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}