{"id":211875,"date":"2025-01-17T09:31:29","date_gmt":"2025-01-17T09:31:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/coastal-pay-payment-gateway-for-woocommerce\/"},"modified":"2026-04-22T10:41:29","modified_gmt":"2026-04-22T10:41:29","slug":"coastal-pay-payment-gateway-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/bg.wordpress.org\/plugins\/coastal-pay-payment-gateway-for-woocommerce\/","author":23083153,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Coastal Pay Payment Gateway for WooCommerce","header_author":"Coastal Pay","header_description":"A PCI-compliant payment gateway for Coastal Pay. This plugin requires a Coastal Pay account and a server with cURL and SSL support, along with a valid SSL certificate for secure transactions. Compatible with WooCommerce 7.0 and above.","assets_banners_color":"3e568b","last_updated":"2026-04-22 10:41:29","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.coastalpay.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":10,"downloads":984,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"coastalpay","date":"2025-01-17 09:51:00"},"1.0.4":{"tag":"1.0.4","author":"coastalpay","date":"2025-01-20 07:08:35"},"1.0.5":{"tag":"1.0.5","author":"coastalpay","date":"2025-05-01 13:57:18"},"1.0.6":{"tag":"1.0.6","author":"coastalpay","date":"2025-05-22 12:06:10"},"1.0.7":{"tag":"1.0.7","author":"coastalpay","date":"2025-11-27 13:58:28"},"1.0.8":{"tag":"1.0.8","author":"coastalpay","date":"2025-12-04 12:38:42"},"1.1.0":{"tag":"1.1.0","author":"coastalpay","date":"2026-04-22 10:41:29"}},"upgrade_notice":{"1.1.0":"<p>Important update: card payments now use tokenization so raw card data no longer passes through your server. Block checkout now shows full payment forms for both Card and ACH. Several security fixes included. Recommended for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3512705,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3512705,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3512705,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3512705,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3512705,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3512705,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Card gateway settings","2":"ACH gateway settings"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[133530,237091,11475,6593,286],"plugin_category":[45],"plugin_contributors":[237092],"plugin_business_model":[],"class_list":["post-211875","plugin","type-plugin","status-publish","hentry","plugin_tags-ach","plugin_tags-coastal-pay","plugin_tags-credit-card","plugin_tags-payment-gateway","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-coastalpay","plugin_committers-coastalpay"],"banners":{"banner":"https:\/\/ps.w.org\/coastal-pay-payment-gateway-for-woocommerce\/assets\/banner-772x250.png?rev=3512705","banner_2x":"https:\/\/ps.w.org\/coastal-pay-payment-gateway-for-woocommerce\/assets\/banner-1544x500.png?rev=3512705","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/coastal-pay-payment-gateway-for-woocommerce\/assets\/icon-128x128.png?rev=3512705","icon_2x":"https:\/\/ps.w.org\/coastal-pay-payment-gateway-for-woocommerce\/assets\/icon-256x256.png?rev=3512705","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/coastal-pay-payment-gateway-for-woocommerce\/assets\/screenshot-1.png?rev=3512705","caption":"Card gateway settings"},{"src":"https:\/\/ps.w.org\/coastal-pay-payment-gateway-for-woocommerce\/assets\/screenshot-2.png?rev=3512705","caption":"ACH gateway settings"}],"raw_content":"<!--section=description-->\n<p>Seamlessly integrate Coastal Pay's payment processing into your WooCommerce store. This plugin enables secure card and ACH transactions, with full support for both the classic shortcode checkout and the modern WooCommerce Block checkout.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Tokenized Card Payments<\/strong> \u2013 Raw card data (PAN, CVV) is exchanged for a secure one-time token via Coastal Pay's API before it ever reaches your server. Your store never stores or processes raw card data, keeping you out of PCI-DSS scope.<\/li>\n<li><strong>ACH Bank Transfers<\/strong> \u2013 Accept checking and savings account payments with webhook-based settlement confirmation.<\/li>\n<li><strong>Block Checkout Support<\/strong> \u2013 Full payment forms (not just method labels) render correctly inside the WooCommerce Block checkout for both Card and ACH methods.<\/li>\n<li><strong>Sandbox \/ Live Toggle<\/strong> \u2013 Switch between sandbox and live mode from the admin settings panel.<\/li>\n<li><strong>Shared Credentials<\/strong> \u2013 ACH shares API credentials with the Card gateway settings so you only configure once.<\/li>\n<li><strong>Webhook Verification<\/strong> \u2013 ACH webhooks are verified with an HMAC-SHA-512 signature before any order is updated.<\/li>\n<li><strong>Reliable Support<\/strong> \u2013 Access Coastal Pay's dedicated support team for quick resolutions.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Using The WordPress Dashboard<\/h4>\n\n<ol>\n<li>Navigate to <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Search for <em>Coastal Pay Payment Gateway for WooCommerce<\/em>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payments<\/strong> and configure the Card and ACH gateways.<\/li>\n<\/ol>\n\n<h4>Manual Upload<\/h4>\n\n<ol>\n<li>Download the plugin zip file.<\/li>\n<li>In WordPress go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Choose the zip file and click <strong>Install Now<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.2+<\/li>\n<li>WooCommerce 7.0+<\/li>\n<li>PHP 7.4+<\/li>\n<li>A valid SSL certificate (HTTPS required)<\/li>\n<li>cURL enabled on your server<\/li>\n<li>A Coastal Pay merchant account<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20card%20data%20stored%20on%20my%20server%3F\"><h3>Is card data stored on my server?<\/h3><\/dt>\n<dd><p>No. Since version 1.1.0 the plugin uses Coastal Pay's tokenization API. Card numbers and CVV values are exchanged for a one-time token before the checkout form is submitted, so raw card data never reaches your WordPress server.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20a%20coastal%20pay%20merchant%20account%3F\"><h3>How do I get a Coastal Pay merchant account?<\/h3><\/dt>\n<dd><p>Visit <a href=\"https:\/\/www.coastalpay.com\">Coastal Pay<\/a> to sign up.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20ach%20webhooks%3F\"><h3>How do I set up ACH webhooks?<\/h3><\/dt>\n<dd><p>In your Coastal Pay dashboard, go to Webhooks, create a new webhook pointing to <code>https:\/\/yourstore.com\/wc-api\/cpgw_ach\/<\/code>, select the \"ACH Status Update\" event, and paste the generated signature key into the ACH plugin settings.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%20block%20checkout%3F\"><h3>Does this work with WooCommerce Block checkout?<\/h3><\/dt>\n<dd><p>Yes. Both Card and ACH gateways render full payment forms in the block checkout.<\/p><\/dd>\n<dt id=\"can%20i%20use%20sandbox%20mode%3F\"><h3>Can I use sandbox mode?<\/h3><\/dt>\n<dd><p>Yes. Enable the \"Sandbox Mode\" checkbox in the Card gateway settings and enter your sandbox API token.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li><strong>Security \u2013 Card tokenization<\/strong>: Raw card data (PAN, CVV) is now exchanged for a Coastal Pay token via a server-side AJAX proxy before the checkout form is submitted. Card data never reaches your server as a POST body.<\/li>\n<li><strong>Block checkout forms<\/strong>: Both Card and ACH payment methods now render full input forms (not just a label) in the WooCommerce Block checkout, using the <code>onPaymentSetup<\/code> hook to pass field data on order placement.<\/li>\n<li><strong>Security fixes<\/strong>: API tokens now stored as password fields in admin. Webhook HMAC comparison upgraded to <code>hash_equals()<\/code> to prevent timing attacks. ACH webhook handler hardened with null-checks. <code>die()<\/code> in API class replaced with proper error returns.<\/li>\n<li><strong>Code quality<\/strong>: Replaced <code>new WC_Order($id)<\/code> with <code>wc_get_order($id)<\/code> throughout. Removed global <code>$wpdb<\/code> from plugin root. URL constants centralised. Unnecessary <code>global<\/code> declarations removed. Error suppression (<code>@<\/code>) removed from <code>strtotime<\/code> calls.<\/li>\n<li><strong>WordPress.org compliance<\/strong>: Added <code>Text Domain<\/code> header, bumped version, updated <code>readme.txt<\/code>.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Security issue fixed.<\/li>\n<li>Marked plugin as compatible with latest WordPress and WooCommerce versions.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Payment method name updated.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Bug fix. Payment receipt issue fixed. Webhook description updated.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Remove iframe and redirect to gateway payment page.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Plugin description update.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed bug reported by the WordPress.org review team.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed bug reported by the WordPress.org review team.<\/li>\n<li>Fixed security issue. Fixed PHP warnings.<\/li>\n<li>Enhanced error handling for payment failures.<\/li>\n<li>Added checkout block payments support.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed security issue.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A PCI-compliant WooCommerce payment gateway supporting Credit\/Debit Card (tokenized) and ACH payments via Coastal Pay.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/211875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=211875"}],"author":[{"embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/coastalpay"}],"wp:attachment":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=211875"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=211875"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=211875"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=211875"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=211875"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=211875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}