{"id":272370,"date":"2026-05-15T19:41:20","date_gmt":"2026-05-15T19:41:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pushin-pay-gateway-for-woocommerce\/"},"modified":"2026-05-15T20:23:27","modified_gmt":"2026-05-15T20:23:27","slug":"pushin-pay-gateway-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/vec.wordpress.org\/plugins\/pushin-pay-gateway-for-woocommerce\/","author":23400512,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.4","stable_tag":"0.1.4","tested":"6.9.4","requires":"6.8","requires_php":"7.4","requires_plugins":null,"header_name":"PushinPay Gateway for WooCommerce","header_author":"PushinPay","header_description":"Accept PIX-only payments in WooCommerce through PushinPay.","assets_banners_color":"","last_updated":"2026-05-15 20:23:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/app.theneo.io\/pushinpay\/pix\/criar-pix","header_author_uri":"https:\/\/www.pushinpay.com.br\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":77,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.4":{"tag":"0.1.4","author":"pushinpay","date":"2026-05-15 20:23:27"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3533399,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3533399,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3533399,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.4"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[8287,6593,1887,49349,286],"plugin_category":[45],"plugin_contributors":[263116],"plugin_business_model":[],"class_list":["post-272370","plugin","type-plugin","status-publish","hentry","plugin_tags-brazil","plugin_tags-payment-gateway","plugin_tags-payments","plugin_tags-pix","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-pushinpay","plugin_committers-pushinpay"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/pushin-pay-gateway-for-woocommerce\/assets\/icon.svg?rev=3533399","icon":"https:\/\/ps.w.org\/pushin-pay-gateway-for-woocommerce\/assets\/icon.svg?rev=3533399","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>PushinPay Gateway for WooCommerce connects your WooCommerce store to PushinPay so customers can pay orders with PIX only.<\/p>\n\n<p>When a customer chooses PushinPay at checkout, the plugin creates a PIX charge through the PushinPay API, shows the QR Code and copy-and-paste PIX code on the order received page, and confirms the WooCommerce order when PushinPay sends the payment webhook.<\/p>\n\n<p>The plugin also includes a manual \"I already paid\" check on the order received page and a WP-Cron fallback that can check pending PIX orders if webhook delivery is delayed.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.8 or higher.<\/li>\n<li>WooCommerce installed and active.<\/li>\n<li>PHP 7.4 or higher.<\/li>\n<li>Store currency set to BRL.<\/li>\n<li>A valid PushinPay API token.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to PushinPay, a payment gateway service, to create and check PIX payment charges for WooCommerce orders.<\/p>\n\n<p>The plugin sends data to PushinPay only when the store owner has configured a PushinPay API token and a customer chooses PushinPay as the payment method during checkout. The data sent can include the order amount in cents, a charge description containing the WooCommerce order number, the store webhook URL, an optional PIX expiration time, and optional split rules configured by the store owner in this plugin.<\/p>\n\n<p>PushinPay returns a transaction ID, PIX QR Code data, a copy-and-paste PIX code, payment status information, and webhook notifications used to update the WooCommerce order status.<\/p>\n\n<p>Service provider: PushinPay.<\/p>\n\n<p>Terms of use: https:\/\/pushinpay.com.br\/termos-de-uso<\/p>\n\n<p>Privacy policy: https:\/\/pushinpay.com.br\/politica-de-privacidade\/<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin does not send data to PushinPay until the store owner configures a PushinPay API token and a customer chooses PushinPay during checkout.<\/p>\n\n<p>For PIX payments, the plugin stores the PushinPay transaction ID, QR Code image data, copy-and-paste PIX code, payment method marker, and confirmation timestamp as WooCommerce order metadata.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the Plugins screen in WordPress.<\/li>\n<li>Go to WooCommerce &gt; Settings &gt; Payments.<\/li>\n<li>Open PushinPay.<\/li>\n<li>Enable the gateway and enter your PushinPay API token.<\/li>\n<li>Save the settings and make sure your WooCommerce currency is BRL.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20configure%20a%20webhook%20manually%3F\"><h3>Do I need to configure a webhook manually?<\/h3><\/dt>\n<dd><p>No. The plugin sends the store webhook URL to PushinPay when it creates each PIX charge.<\/p><\/dd>\n<dt id=\"which%20webhook%20url%20is%20used%3F\"><h3>Which webhook URL is used?<\/h3><\/dt>\n<dd><p>The current webhook endpoint is <code>\/wp-json\/pushinpay\/v1\/webhooks\/pix<\/code>. New PIX charges use a signed per-order webhook URL. The legacy endpoint <code>\/wp-json\/pushinpay\/notificacoes<\/code> is also kept for backward compatibility and requires the <code>x-pushinpay-token<\/code> header configured in the gateway settings.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20confirm%20orders%20without%20a%20webhook%3F\"><h3>Does the plugin confirm orders without a webhook?<\/h3><\/dt>\n<dd><p>Webhook delivery is the primary confirmation method. The plugin also includes a manual payment check button and a WP-Cron fallback for pending PIX orders.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20load%20assets%20from%20external%20cdns%3F\"><h3>Does the plugin load assets from external CDNs?<\/h3><\/dt>\n<dd><p>No. JavaScript, CSS, and images used by the plugin are included locally.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Aligns the PIX creation and webhook flow with the current PushinPay API.<\/li>\n<li>Uses the WordPress HTTP API instead of direct cURL calls.<\/li>\n<li>Adds nonce checks to AJAX payment verification.<\/li>\n<li>Adds a documented external services section.<\/li>\n<li>Removes legacy unused payment methods and development files.<\/li>\n<li>Renames the main plugin file to match the WordPress.org slug.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Focuses the gateway on PIX payments.<\/li>\n<li>Updates gateway logos.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Accept PIX-only payments in WooCommerce through PushinPay.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/272370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=272370"}],"author":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pushinpay"}],"wp:attachment":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=272370"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=272370"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=272370"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=272370"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=272370"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=272370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}