{"id":341732,"date":"2026-08-13T19:21:47","date_gmt":"2026-08-13T19:21:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/redface-pay\/"},"modified":"2026-08-13T19:21:15","modified_gmt":"2026-08-13T19:21:15","slug":"redface-pay","status":"publish","type":"plugin","link":"https:\/\/mfe.wordpress.org\/plugins\/redface-pay\/","author":23531310,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"RedFace Pay","header_author":"RedFace","header_description":"Accept payments through RedFace Pay \u2014 African commerce infrastructure, not a standalone gateway.","assets_banners_color":"","last_updated":"2026-08-13 19:21:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.redfacepay.co.za\/plugins\/redface-pay","header_author_uri":"https:\/\/redfacepay.co.za","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"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":"redfacesa","date":"2026-08-13 19:21:15"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3646073,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3646073,"resolution":"256x256","location":"assets","locale":"","width":1024,"height":1024}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Connection wizard \u2014 Merchant ID and API key setup","2":"Overview \u2014 payments today and API status","3":"Settings \u2014 webhook URL and sandbox\/live mode"}},"plugin_section":[],"plugin_tags":[32976,3148,701,1887,271770],"plugin_category":[45],"plugin_contributors":[271771],"plugin_business_model":[],"class_list":["post-341732","plugin","type-plugin","status-publish","hentry","plugin_tags-africa","plugin_tags-checkout","plugin_tags-commerce","plugin_tags-payments","plugin_tags-redface","plugin_category-ecommerce","plugin_contributors-redfacesa","plugin_committers-redfacesa"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/redface-pay\/assets\/icon-128x128.png?rev=3646073","icon_2x":"https:\/\/ps.w.org\/redface-pay\/assets\/icon-256x256.png?rev=3646073","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>RedFace Pay for WordPress connects your site to the RedFace Platform via Commerce API.<\/p>\n\n<ul>\n<li>One login \u2014 same merchant identity across every RedFace plugin<\/li>\n<li>Modular \u2014 only Payments loads in this release<\/li>\n<li>Connection wizard \u2014 account, API key, business, ready<\/li>\n<li>Webhooks \u2014 require a configured secret and <code>x-redface-signature<\/code> HMAC verification<\/li>\n<li>Shortcode \u2014 <code>[redface_pay_button amount=\"99.00\" currency=\"ZAR\"]<\/code><\/li>\n<\/ul>\n\n<p><strong>You are not installing a standalone payment gateway.<\/strong> Business logic lives on RedFace; this plugin is a thin, secure client.<\/p>\n\n<h3>Configuration<\/h3>\n\n<ul>\n<li><strong>Merchant ID<\/strong> \u2014 UUID of your RedFace business<\/li>\n<li><strong>API Key<\/strong> \u2014 <code>rf_live_\u2026<\/code> from Account \u2192 Developers (never commit to version control)<\/li>\n<li><strong>Webhook URL<\/strong> \u2014 copy from Settings into your RedFace webhook dashboard<\/li>\n<li><strong>Mode<\/strong> \u2014 Sandbox for testing, Live for production<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>RedFace Commerce API<\/strong> to create payment sessions and receive webhooks.<\/p>\n\n<p><strong>What is sent and when<\/strong><\/p>\n\n<ul>\n<li>When a customer pays, the plugin sends your configured <strong>Merchant ID<\/strong> and authenticates with your <strong>API key<\/strong> (stored in WordPress options).<\/li>\n<li>Payment payloads may include amount, currency, customer email, and order metadata.<\/li>\n<li>A connection test (<code>ping<\/code>) runs when you complete the connection wizard or test settings in wp-admin.<\/li>\n<\/ul>\n\n<p><strong>Default API endpoint<\/strong><\/p>\n\n<pre><code>https:\/\/bpzzgilwlkghgfkvkkxx.supabase.co\/functions\/v1\/commerce-api\n<\/code><\/pre>\n\n<p>Merchants may override the API base URL in plugin settings (e.g. for staging).<\/p>\n\n<p><strong>Service provider<\/strong><\/p>\n\n<p>RedFace (RedFace Pay), African commerce infrastructure.<\/p>\n\n<ul>\n<li>Terms of use: https:\/\/www.redfacepay.co.za\/legal\/terms<\/li>\n<li>Privacy policy: https:\/\/www.redfacepay.co.za\/legal\/privacy<\/li>\n<\/ul>\n\n<h3>Troubleshooting<\/h3>\n\n<ul>\n<li><strong>API Status offline<\/strong> \u2014 verify API key, merchant ID, and that your key is active in RedFace Account.<\/li>\n<li><strong>Webhooks failing<\/strong> \u2014 confirm webhook secret matches Settings and your site is reachable over HTTPS.<\/li>\n<li><strong>Pay button does nothing<\/strong> \u2014 complete the Connection wizard and confirm payments scope on your API key.<\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>Email support@redfacepay.co.za or visit https:\/\/www.redfacepay.co.za\/plugins\/redface-pay<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/redface-pay<\/code> or install from WordPress.org (when published).<\/li>\n<li>Activate through the Plugins screen.<\/li>\n<li>Open <strong>RedFace Pay \u2192 Connection<\/strong> and complete the wizard.<\/li>\n<li>Generate an API key at https:\/\/www.redfacepay.co.za (Account \u2192 Developers).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20woocommerce%3F\"><h3>Does this replace WooCommerce?<\/h3><\/dt>\n<dd><p>No. Use <strong>RedFace Pay for WooCommerce<\/strong> for Woo checkout. This plugin is for simple pay buttons and custom themes.<\/p><\/dd>\n<dt id=\"where%20is%20business%20logic%3F\"><h3>Where is business logic?<\/h3><\/dt>\n<dd><p>On RedFace Platform \u2014 payments, settlement, KYC, and events. The plugin never embeds payment partner secrets in WordPress.<\/p><\/dd>\n<dt id=\"does%20this%20store%20card%20data%20in%20wordpress%3F\"><h3>Does this store card data in WordPress?<\/h3><\/dt>\n<dd><p>No. Checkout runs on RedFace hosted payment pages.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Plugin Check: prefix admin view variables; sanitize wizard API key input for WordPress.Security rules.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Settings: API keys and webhook secrets are sanitized without sanitize_text_field so token characters are preserved.<\/li>\n<li>Webhooks: require a configured webhook secret and a valid x-redface-signature; reject unsigned requests.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release \u2014 connection wizard, Commerce API client, pay button shortcode, webhooks, admin logs.<\/li>\n<\/ul>","raw_excerpt":"Accept payments through RedFace Pay \u2014 a gateway into African commerce infrastructure.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=341732"}],"author":[{"embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/redfacesa"}],"wp:attachment":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341732"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341732"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341732"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341732"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341732"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}