{"id":282505,"date":"2026-02-25T07:46:46","date_gmt":"2026-02-25T07:46:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/aspaclaria-pay-gateway\/"},"modified":"2026-06-11T09:53:07","modified_gmt":"2026-06-11T09:53:07","slug":"klamra-paycal-for-aspaclaria","status":"publish","type":"plugin","link":"https:\/\/nn.wordpress.org\/plugins\/klamra-paycal-for-aspaclaria\/","author":23453331,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.9","stable_tag":"1.2.9","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Klamra Paycal for Aspaclaria","header_author":"Klamra22","header_description":"Redirect-based payment gateway integration for Aspaclaria (unofficial).","assets_banners_color":"26334c","last_updated":"2026-06-11 09:53:07","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/klamra-paycal-for-aspaclaria\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1011,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"klamra22","date":"2026-02-25 13:55:03"},"1.0.3":{"tag":"1.0.3","author":"klamra22","date":"2026-03-09 06:30:02"},"1.0.4":{"tag":"1.0.4","author":"klamra22","date":"2026-05-13 10:50:13"},"1.0.5":{"tag":"1.0.5","author":"klamra22","date":"2026-04-03 11:06:49"},"1.0.6":{"tag":"1.0.6","author":"klamra22","date":"2026-05-13 10:50:13"},"1.0.7":{"tag":"1.0.7","author":"klamra22","date":"2026-05-13 10:50:13"},"1.0.8":{"tag":"1.0.8","author":"klamra22","date":"2026-05-13 10:50:13"},"1.0.9":{"tag":"1.0.9","author":"klamra22","date":"2026-05-13 10:50:13"},"1.0.9.1":{"tag":"1.0.9.1","author":"klamra22","date":"2026-05-13 12:57:32"},"1.1.0":{"tag":"1.1.0","author":"klamra22","date":"2026-05-13 12:57:32"},"1.1.1":{"tag":"1.1.1","author":"klamra22","date":"2026-05-13 13:33:32"},"1.1.2":{"tag":"1.1.2","author":"klamra22","date":"2026-05-17 08:26:58"},"1.1.3":{"tag":"1.1.3","author":"klamra22","date":"2026-05-21 08:08:30"},"1.1.4":{"tag":"1.1.4","author":"klamra22","date":"2026-05-28 13:12:49"},"1.1.5":{"tag":"1.1.5","author":"klamra22","date":"2026-05-30 21:20:05"},"1.1.6":{"tag":"1.1.6","author":"klamra22","date":"2026-06-02 07:51:58"},"1.1.7":{"tag":"1.1.7","author":"klamra22","date":"2026-06-02 10:20:18"},"1.1.8":{"tag":"1.1.8","author":"klamra22","date":"2026-06-02 16:18:45"},"1.1.9":{"tag":"1.1.9","author":"klamra22","date":"2026-06-04 12:06:08"},"1.2.0":{"tag":"1.2.0","author":"klamra22","date":"2026-06-05 08:29:42"},"1.2.1":{"tag":"1.2.1","author":"klamra22","date":"2026-06-08 17:59:34"},"1.2.3":{"tag":"1.2.3","author":"klamra22","date":"2026-06-09 10:03:49"},"1.2.5":{"tag":"1.2.5","author":"klamra22","date":"2026-06-09 11:20:26"},"1.2.7":{"tag":"1.2.7","author":"klamra22","date":"2026-06-09 13:27:00"},"1.2.8":{"tag":"1.2.8","author":"klamra22","date":"2026-06-09 15:34:33"},"1.2.9":{"tag":"1.2.9","author":"klamra22","date":"2026-06-11 09:53:07"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3469504,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1.png":{"filename":"banner-1.png","revision":3558960,"resolution":"1","location":"assets","locale":"","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3558960,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-2.png":{"filename":"banner-2.png","revision":3558960,"resolution":"2","location":"assets","locale":"","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3558960,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.0.9.1","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0","1.2.1","1.2.3","1.2.5","1.2.7","1.2.8","1.2.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3558313,"resolution":"1","location":"assets","locale":"","width":1811,"height":812},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3557816,"resolution":"2","location":"assets","locale":"","width":1832,"height":486},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3558320,"resolution":"3","location":"assets","locale":"","width":1815,"height":788},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3557816,"resolution":"4","location":"assets","locale":"","width":1831,"height":326}},"screenshots":{"1":"PayCal settings inside WooCommerce","2":"PayCal payment option at WooCommerce checkout","3":"Guided merchant connection and License Token setup"}},"plugin_section":[],"plugin_tags":[48566,3148,6593,1887,286],"plugin_category":[45],"plugin_contributors":[256563],"plugin_business_model":[],"class_list":["post-282505","plugin","type-plugin","status-publish","hentry","plugin_tags-apple-pay","plugin_tags-checkout","plugin_tags-payment-gateway","plugin_tags-payments","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-klamra22","plugin_committers-klamra22"],"banners":{"banner":"https:\/\/ps.w.org\/klamra-paycal-for-aspaclaria\/assets\/banner-772x250.png?rev=3558960","banner_2x":"https:\/\/ps.w.org\/klamra-paycal-for-aspaclaria\/assets\/banner-1544x500.png?rev=3558960","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/klamra-paycal-for-aspaclaria\/assets\/icon-256x256.png?rev=3469504","icon_2x":"https:\/\/ps.w.org\/klamra-paycal-for-aspaclaria\/assets\/icon-256x256.png?rev=3469504","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/klamra-paycal-for-aspaclaria\/assets\/screenshot-1.png?rev=3558313","caption":"PayCal settings inside WooCommerce"},{"src":"https:\/\/ps.w.org\/klamra-paycal-for-aspaclaria\/assets\/screenshot-2.png?rev=3557816","caption":"PayCal payment option at WooCommerce checkout"},{"src":"https:\/\/ps.w.org\/klamra-paycal-for-aspaclaria\/assets\/screenshot-3.png?rev=3558320","caption":"Guided merchant connection and License Token setup"},{"src":"https:\/\/ps.w.org\/klamra-paycal-for-aspaclaria\/assets\/screenshot-4.png?rev=3557816","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>PayCal<\/strong> is a branded checkout and payment-management platform for WooCommerce stores built for creative businesses.<\/p>\n\n<p>The plugin connects a merchant's WooCommerce store to PayCal Platform, where WooCommerce checkout, hosted checkout sessions, merchant settings, License Token validation and approved payment-provider connections are managed.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Connect WooCommerce checkout to PayCal<\/li>\n<li>Prepare Apple Pay and hosted checkout experiences<\/li>\n<li>Use PayCal branded hosted checkout<\/li>\n<li>Manage merchant connection and License Token validation<\/li>\n<li>Connect to approved payment-provider configurations<\/li>\n<li>Support payment-management workflows for creative businesses<\/li>\n<\/ul>\n\n<p>PayCal helps merchants manage checkout and payment context. It does not replace the merchant's payment provider, does not act as a bank or seller of record, and does not store card details.<\/p>\n\n<h3>PayCal Connector<\/h3>\n\n<p>This version is the customer-side connector. Merchant and terminal administration is handled in the PayCal platform.<\/p>\n\n<h3>Hosted Checkout Gateway<\/h3>\n\n<p>Version 1.2.9 includes the customer-side hosted WooCommerce gateway. Apple Pay provisioning remains in PayCal Platform and is synced by Merchant ID, Terminal ID, Public Key and Token.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/klamra-paycal-for-aspaclaria<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>WooCommerce \u2192 Payments<\/strong><\/li>\n<li>Enable <strong>PayCal<\/strong><\/li>\n<li>Configure your PayCal settings<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce must be installed and activated.<\/p><\/dd>\n<dt id=\"what%20payment%20methods%20are%20supported%3F\"><h3>What payment methods are supported?<\/h3><\/dt>\n<dd><p>The plugin connects WooCommerce to PayCal Platform and approved payment-provider configurations. Available payment methods, including Apple Pay where enabled, depend on the merchant's approved provider setup.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20easy%20to%20configure%3F\"><h3>Is the plugin easy to configure?<\/h3><\/dt>\n<dd><p>Yes. The plugin integrates directly with WooCommerce and requires minimal setup.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>Improved WooCommerce order completion by passing the verified PayCal payment ID as the WooCommerce transaction ID after successful hosted checkout verification.<\/li>\n<li>Hardened hosted checkout return handling so the success confirmation is shown only after server-to-server verification confirms the order is paid.<\/li>\n<li>Sanitizes hosted return request values and keeps failed verification details in private order notes or logs only.<\/li>\n<li>No UI\/admin design, merchant connection, license behavior, PayPal, checkout.paycal.online session flow, WooCommerce email logic, or payment status rules changed.<\/li>\n<\/ul>\n\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>Fixed old hosted checkout customer return after successful Apple Pay payment.<\/li>\n<li>wc-api=paycal_hosted_return now serves a no-cache HTML transition page after successful verification.<\/li>\n<li>Prevents legacy template_redirect handler from interfering with the dedicated wc-api return handler.<\/li>\n<li>Removes pending Location headers and returns HTTP 200 before outputting the transition page.<\/li>\n<li>Adds response mode diagnostics for hosted return: html_transition.<\/li>\n<li>No payment verification, payment_complete, order status, PayPal, checkout.paycal.online, capture logic, or forced completed status changed.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Improved successful old hosted checkout return experience.<\/li>\n<li>After successful verification, wc-api=paycal_hosted_return serves a no-cache confirmation transition page from the store domain.<\/li>\n<li>The transition page redirects customers to the WooCommerce order-received URL using window.location.replace(), with meta refresh and fallback link.<\/li>\n<li>Preserves existing merchant connection and license data across plugin updates\/replacements.<\/li>\n<li>uninstall.php now preserves PayCal connection\/license\/invoice data by default.<\/li>\n<li>Data is removed only when paycal_remove_data_on_uninstall is explicitly set to yes.<\/li>\n<li>Adds connection persistence diagnostics for settings, license data, merchant ID, terminal ID, public key, sync state, and plugin basename changes.<\/li>\n<li>Avoids marking license invalid on temporary API\/HTTP\/malformed-response failures.<\/li>\n<li>No payment verification, PayPal, checkout.paycal.online session flow, capture logic, or forced completed status changed.<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Added explicit order save after successful PayCal hosted checkout verification and payment_complete().<\/li>\n<li>Confirmed hosted return redirects to the WooCommerce order-received URL after verification.<\/li>\n<li>Keeps WooCommerce email hooks intact and does not suppress order emails.<\/li>\n<li>No PayPal, checkout.paycal.online session flow, capture logic, or forced completed status changed.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Added explicit order save after successful PayCal hosted checkout verification and payment_complete().<\/li>\n<li>Confirmed hosted return redirects to the WooCommerce order-received URL after verification.<\/li>\n<li>Keeps WooCommerce email hooks intact and does not suppress order emails.<\/li>\n<li>No PayPal, checkout.paycal.online session flow, capture logic, or forced completed status changed.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Fixed old pay.aspaclaria.co.il hosted checkout return bridge.<\/li>\n<li>Added dedicated WooCommerce API return endpoint for PayCal hosted checkout returns.<\/li>\n<li>Old hosted checkout now returns through wc-api=paycal_hosted_return so server-to-server verification runs reliably.<\/li>\n<li>Redirects customers to the clean WooCommerce order-received URL after successful verification.<\/li>\n<li>Preserves backward compatibility with existing template_redirect return handling.<\/li>\n<li>No PayPal, new checkout.paycal.online session flow, capture logic, or forced completed status changed.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Added return verification support for generic PayCal checkout sessions.<\/li>\n<li>Connector now sends the latest pcs_ checkout session ID to server-to-server verification.<\/li>\n<li>Avoids duplicate failed verification notes on repeated return handling.<\/li>\n<li>No PayPal, old hosted checkout behavior, capture logic, or forced completed status changed.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Improved PayCal Apple Pay private WooCommerce approval notes using existing verification values.<\/li>\n<li>Added cleaner payment evidence summary for approved PayCal orders.<\/li>\n<li>Avoids duplicate approval notes for the same PayCal payment ID.<\/li>\n<li>No checkout flow, capture logic, PayPal behavior, or order status logic changed.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added planned PayCal Order Evidence Log roadmap UI to the Marketplace\/Bundles admin page.<\/li>\n<li>Reframed shipping evidence as a synchronized order evidence layer between merchant, customer, and PayCal.<\/li>\n<li>Added planned timeline\/status copy for order handling, customer updates, delivery proof, and digital\/service fulfillment.<\/li>\n<li>Improved Hebrew PayCal connector wording using \u05dc\u05bePayCal \/ \u05d5\u05bePayCal \/ \u05d1\u05bePayCal.<\/li>\n<li>No payment flow, checkout logic, capture logic, provider sync, persistence, uploads, or order status logic changed.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Demo-ready merchant wording.<\/li>\n<li>Generic merchant positioning.<\/li>\n<li>License Token wording consistency.<\/li>\n<li>Test connection \/ sync wording.<\/li>\n<li>Connector event reporting for merchant onboarding.<\/li>\n<li>Safe provider wording.<\/li>\n<li>No payment flow changes.<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>Added an opt-in checkout.paycal.online session redirect with safe fallback to the existing hosted checkout flow.<\/li>\n<li>Clarified demo-ready admin wording for PayCal checkout, payment-management and approved provider connections.<\/li>\n<li>Existing Apple Pay, payment processing, return handling, verification, and WooCommerce order status behavior remain unchanged.<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>UI polish release.<\/li>\n<li>Refined PayCal dashboard hero, cards, badges, stats, and quick actions.<\/li>\n<li>Improved Dragon Shield artwork placement.<\/li>\n<li>Polished Marketplace \/ Bundles page layout.<\/li>\n<li>Improved ornate golden lock artwork placement.<\/li>\n<li>Preserved checkout, payment processing, Apple Pay, licensing, sync, connector behavior, and WooCommerce order status logic.<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Design fixes release.<\/li>\n<li>Added PayCal dashboard hero artwork with an updated transparent Dragon Shield brand image.<\/li>\n<li>Added Marketplace \/ Bundles hero artwork with an updated transparent ornate golden lock illustration.<\/li>\n<li>Refined dashboard and bundles page visuals for a cleaner premium branded experience.<\/li>\n<li>Switched dashboard artwork to cache-busting clean asset filenames.<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Added License Token validation against the configured PayCal Platform endpoint.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Security: Restricted invoice downloads to the owning customer or authorized shop managers. Added nonce validation, invoice post type validation, linked order validation, and capability checks for the PayCal invoice download endpoint.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>WordPress 7 safety hardening release: guarded loading, safer API failure handling, admin visibility, sanitized logging, and tested with PHP 8.3.31 \/ hardened for PHP 8.3.31 without payment-flow changes.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Production release based on the live WordPress.com plugin export.<\/li>\n<li>Version bump for WordPress.org update distribution.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Hardening release: safe loading for missing files and fallback permissions module.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Added a permissions management screen for PayCal administrators<\/li>\n<li>Kept plugin structure aligned with version 1.0.3 for WordPress.org consistency<\/li>\n<li>Enforced saved permissions across Dashboard, Bit, Invoices, License and Setup screens<\/li>\n<li>Improved README version consistency<\/li>\n<li>Locked the permissions screen to a single owner admin with an extra access code<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Tested with WordPress 6.9.4<\/li>\n<li>Improvements and small fixes<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Initial improvements<\/li>\n<\/ul>","raw_excerpt":"Connect WooCommerce to PayCal branded checkout, Apple Pay readiness, payment-management tools and approved payment providers.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/282505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=282505"}],"author":[{"embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/klamra22"}],"wp:attachment":[{"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=282505"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=282505"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=282505"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=282505"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=282505"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=282505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}