{"id":2319,"date":"2026-01-23T06:40:09","date_gmt":"2026-01-23T06:40:09","guid":{"rendered":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/?p=2319"},"modified":"2026-01-31T06:45:58","modified_gmt":"2026-01-31T06:45:58","slug":"payment-gateway-integration","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/kivicare-pro\/documentation\/advanced-feature-pro\/payment-gateway-integration\/","title":{"rendered":"Payment Gateway Integration"},"content":{"rendered":"<div class=\"nolwrap\">\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n\n\n<p>KiviCare Pro includes advanced payment gateway integrations for seamless online payment collection during appointment booking.<\/p>\n\n\n\n<p><strong>Pro Payment Gateways (Included in Pro):<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>WooCommerce \u2013 Full e-commerce integration with all WooCommerce payment methods<\/li>\n<\/ol>\n\n\n\n<p><strong>Note:<\/strong> PayPal and Pay Later options are available in KiviCare Lite and do not require Pro.<\/p>\n\n\n\n<p><strong>Pro Gateway Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WooCommerce integration with full e-commerce capabilities<\/li>\n\n\n\n<li>Secure PCI-compliant payment processing<\/li>\n\n\n\n<li>Automatic payment notifications<\/li>\n\n\n\n<li>Advanced payment reports<\/li>\n\n\n\n<li>Auto-cancellation for unpaid appointments<\/li>\n\n\n\n<li>Tax calculation and application<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>WooCommerce Payment Gateway (Pro)<\/strong><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Overview<\/h4>\n\n\n\n<p><strong>Best For:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clinics using WooCommerce<\/li>\n\n\n\n<li>Clinics needing full e-commerce features<\/li>\n\n\n\n<li>Flexible payment methods<\/li>\n\n\n\n<li>Inventory and order management<\/li>\n<\/ul>\n\n\n\n<p><strong>Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Uses all WooCommerce payment methods<\/li>\n\n\n\n<li>Credit\/Debit cards, PayPal, Stripe, etc.<\/li>\n\n\n\n<li>Automatic product creation for services<\/li>\n\n\n\n<li>Full order management<\/li>\n\n\n\n<li>WooCommerce reports<\/li>\n\n\n\n<li>Tax calculation via WooCommerce<\/li>\n\n\n\n<li>Refund management<\/li>\n\n\n\n<li>Auto-cancel unpaid bookings<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Prerequisites<\/strong><\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Required Plugins<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>WooCommerce<\/strong>\n<ul class=\"wp-block-list\">\n<li>Install and activate<\/li>\n\n\n\n<li>Complete setup wizard<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Payment Gateway for WooCommerce<\/strong>\n<ul class=\"wp-block-list\">\n<li>Install Stripe, PayPal, etc.<\/li>\n\n\n\n<li>Configure settings<\/li>\n\n\n\n<li>Test in sandbox mode<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>WooCommerce Configuration<\/strong><\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>WooCommerce \u2192 Settings \u2192 General\n- Base Location\n- Currency\n- Currency Position\n\nWooCommerce \u2192 Settings \u2192 Payments\n- Enable preferred payment gateways\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Setup Steps<\/strong><\/h4>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Step 1: Enable WooCommerce Gateway<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>KiviCare \u2192 Settings \u2192 Payment Settings<\/li>\n\n\n\n<li>Enable WooCommerce<\/li>\n\n\n\n<li>Save settings<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Step 2: Verify WooCommerce Products<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Products are auto-created by KiviCare<\/li>\n\n\n\n<li>One product per service + doctor + clinic<\/li>\n\n\n\n<li>Products are hidden and auto-managed<\/li>\n<\/ul>\n\n\n\n<p><strong>Do Not:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Edit products manually<\/li>\n\n\n\n<li>Delete products<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Step 3: Configure WooCommerce Checkout<\/strong><\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>WooCommerce \u2192 Settings \u2192 Advanced\n- Cart page\n- Checkout page\n- My account page\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>How It Works<\/strong><\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Patient Booking Flow<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Appointment created with <strong>Pending<\/strong> status<\/li>\n\n\n\n<li>WooCommerce product created\/updated<\/li>\n\n\n\n<li>Product added to cart<\/li>\n\n\n\n<li>Patient redirected to cart and checkout<\/li>\n\n\n\n<li>Payment completed or failed<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\">Status Result<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Success \u2192 Appointment Booked<\/li>\n\n\n\n<li>Failure \u2192 Appointment Cancelled<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Auto-Cancellation<\/strong><\/h4>\n\n\n\n<p>Unpaid appointments are auto-cancelled after 5 minutes (customizable).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_filter('kivicare_wc_auto_cancel_schedule_time', function($time) {\n    return time() + 600;\n});\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Order Management<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WooCommerce \u2192 Orders<\/li>\n\n\n\n<li>Appointment ID linked to order meta<\/li>\n\n\n\n<li>Bi-directional reference between order and appointment<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Order Status Mapping<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><span style=\"color: #5670cc\" class=\"stk-highlight\">WooCommerce Status<\/span><\/th><th><span style=\"color: #5670cc\" class=\"stk-highlight\">Appointment Status<\/span><\/th><\/tr><\/thead><tbody><tr><td>Pending<\/td><td>Pending<\/td><\/tr><tr><td>Processing<\/td><td>Booked<\/td><\/tr><tr><td>Completed<\/td><td>Booked<\/td><\/tr><tr><td>Cancelled<\/td><td>Cancelled<\/td><\/tr><tr><td>Failed<\/td><td>Cancelled<\/td><\/tr><tr><td>Refunded<\/td><td>Cancelled<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Taxes &amp; Fees<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Taxes calculated in KiviCare<\/li>\n\n\n\n<li>Added as WooCommerce fees<\/li>\n\n\n\n<li>No duplicate tax calculation<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Refunds<\/strong><\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Refund Methods<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Refund via WooCommerce order<\/li>\n\n\n\n<li>Refund via payment gateway dashboard<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Full refund cancels appointment<\/li>\n\n\n\n<li>Partial refund keeps appointment active<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Payment Settings (Pro Gateways)<\/strong><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Global Configuration<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>KiviCare \u2192 Settings \u2192 Payment Settings\n\n- Enable WooCommerce\n- Default gateway\n- Require payment before booking\n- Payment notifications\n- Failed payment handling\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"343\" src=\"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/payment-setting-1-1024x343.png\" alt=\"\" class=\"wp-image-2537\" srcset=\"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/payment-setting-1-1024x343.png 1024w, https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/payment-setting-1-300x101.png 300w, https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/payment-setting-1-768x257.png 768w, https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/payment-setting-1.png 1226w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>\n\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Payment Reports<\/strong><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Payment History<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Filter by date, gateway, status, clinic, doctor<\/li>\n\n\n\n<li>Export CSV<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Payment Analytics<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Total revenue<\/li>\n\n\n\n<li>Paid vs pending payments<\/li>\n\n\n\n<li>Gateway-wise usage<\/li>\n\n\n\n<li>Success rate<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Troubleshooting<\/strong><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">WooCommerce Checkout Issues<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Session conflicts<\/li>\n\n\n\n<li>Cart not loading<\/li>\n\n\n\n<li>Product creation failure<\/li>\n\n\n\n<li><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Payment Pending Forever<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Webhook misconfiguration<\/li>\n\n\n\n<li>Order status mismatch<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Duplicate Charges<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Page refresh<\/li>\n\n\n\n<li>Multiple clicks<\/li>\n\n\n\n<li>Session issues<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Best Practices<\/strong><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Security<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use HTTPS<\/li>\n\n\n\n<li>Keep plugins updated<\/li>\n\n\n\n<li>Protect API keys<\/li>\n\n\n\n<li>Test in sandbox mode<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Testing<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Test each gateway<\/li>\n\n\n\n<li>Test failures and refunds<\/li>\n\n\n\n<li>Test concurrency<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">User Experience<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clear payment instructions<\/li>\n\n\n\n<li>Proper failure messages<\/li>\n\n\n\n<li>Clear retry options<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Related Features<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Billing &amp; Tax System<\/li>\n\n\n\n<li>Multi-Clinic Management<\/li>\n\n\n\n<li>Reports &amp; Analytics<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Overview KiviCare Pro includes advanced payment gateway integrations for seamless online payment collection during appointment booking. Pro Payment Gateways (Included in Pro): Note: PayPal and Pay Later options are available in KiviCare Lite and do not require Pro. Pro Gateway Features: WooCommerce Payment Gateway (Pro) Overview Best For: Features: Prerequisites Required Plugins WooCommerce Configuration Setup [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51],"tags":[],"class_list":["post-2319","post","type-post","status-publish","format-standard","hentry","category-advanced-feature-pro"],"featured_image_src":null,"author_info":{"display_name":"wordpressadminiq","author_link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/author\/wordpressadminiq\/"},"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/2319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/comments?post=2319"}],"version-history":[{"count":7,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/2319\/revisions"}],"predecessor-version":[{"id":2830,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/2319\/revisions\/2830"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/media?parent=2319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/categories?post=2319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/tags?post=2319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}