{"id":285839,"date":"2026-04-12T06:23:30","date_gmt":"2026-04-12T06:23:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/shetabverify\/"},"modified":"2026-10-15T08:01:49","modified_gmt":"2026-10-15T08:01:49","slug":"webdide-card-to-card-verification","status":"publish","type":"plugin","link":"https:\/\/pl.wordpress.org\/plugins\/webdide-card-to-card-verification\/","author":23459434,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3.2","stable_tag":"0.3.2","tested":"7.1.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Card to Card for WooCommerce \u2013 WebDide Shetab","header_author":"Reza HajRahimi","header_description":"Payment gateway \u2014 Automated Card-to-Card transaction confirmation via mobile app.","assets_banners_color":"","last_updated":"2026-10-15 08:01:49","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/verify.webdide.ir\/","header_author_uri":"http:\/\/webdide.ir\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":814,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"rezahajrahimi","date":"2026-07-12 08:32:18","revision":3604541},"0.2.0":{"tag":"0.2.0","author":"rezahajrahimi","date":"2026-09-09 13:48:21","revision":3688408},"0.2.4":{"tag":"0.2.4","author":"rezahajrahimi","date":"2026-09-29 07:33:12","revision":3718465},"0.3.0":{"tag":"0.3.0","author":"rezahajrahimi","date":"2026-10-06 08:02:04","revision":3730259},"0.3.1":{"tag":"0.3.1","author":"rezahajrahimi","date":"2026-10-09 08:34:49","revision":3736214},"0.3.2":{"tag":"0.3.2","author":"rezahajrahimi","date":"2026-10-15 08:01:49","revision":3747891}},"upgrade_notice":{"0.3.2":"<p>Confirm endpoint expects Tomans; keeps a temporary Rial fallback for older app builds. Use with Android app 1.7.2+.<\/p>","0.3.1":"<p>Directory listing optimized for card-to-card \/ \u06a9\u0627\u0631\u062a \u0628\u0647 \u06a9\u0627\u0631\u062a discovery. No breaking changes.<\/p>","0.3.0":"<p>Adds optional account\/Sheba on destination cards and payment-page display toggles with copy and QR for each.<\/p>","0.2.5":"<p>Adds a scannable card-number QR code on the payment page for bank apps.<\/p>","0.2.4":"<p>Adds a dedicated payment page, fixes the post-confirmation refresh loop, and improves amount\/card copy UX.<\/p>","0.2.0":"<p>Adds Telegram\/Bale receipt review bots, WordPress 7.1 compatibility, and improved Persian\/English translations for the WordPress.org directory.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3504296,"resolution":"128x128","location":"assets","locale":"","width":512,"height":512},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3504296,"resolution":"256x256","location":"assets","locale":"","width":512,"height":512}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0","0.2.0","0.2.4","0.3.0","0.3.1","0.3.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings page with API configuration and card management.","2":"Checkout page showing the WebDide payment method.","3":"Administrative interface for destination bank cards.","4":"Telegram\/Bale bot settings for receipt review."}},"plugin_section":[],"plugin_tags":[127760,245857,279942,235378,286],"plugin_category":[45],"plugin_contributors":[260010],"plugin_business_model":[],"class_list":["post-285839","plugin","type-plugin","status-publish","hentry","plugin_tags-bank-transfer","plugin_tags-card-to-card","plugin_tags-shetab","plugin_tags-235378","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-rezahajrahimi","plugin_committers-rezahajrahimi"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webdide-card-to-card-verification\/assets\/icon-128x128.png?rev=3504296","icon_2x":"https:\/\/ps.w.org\/webdide-card-to-card-verification\/assets\/icon-256x256.png?rev=3504296","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Card to card \/ \u06a9\u0627\u0631\u062a \u0628\u0647 \u06a9\u0627\u0631\u062a<\/strong> for WooCommerce, with automatic deposit verification through the Shetab companion app.<\/p>\n\n<p>WebDide Shetab helps Iranian stores accept bank card-to-card transfers without checking every slip by hand:<\/p>\n\n<ul>\n<li>Generate a unique payment amount suffix so similar transfers stay distinguishable<\/li>\n<li>Confirm deposits automatically through the companion Shetab Android app<\/li>\n<li>Let customers upload a payment slip when needed<\/li>\n<li>Notify store managers on <strong>Telegram<\/strong> or <strong>Bale (\u0628\u0644\u0647)<\/strong> with Approve \/ Reject buttons<\/li>\n<li>Mark the WooCommerce order paid or failed from the bot or the order screen<\/li>\n<\/ul>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Card to card (\u06a9\u0627\u0631\u062a \u0628\u0647 \u06a9\u0627\u0631\u062a) checkout for WooCommerce<\/li>\n<li>Unique amount suffixes for matching bank transfers<\/li>\n<li>Dedicated bank-like intermediate payment page before the thank-you screen<\/li>\n<li>Auto-confirmation via the Shetab mobile app<\/li>\n<li>Manual receipt upload and admin review<\/li>\n<li>Telegram &amp; Bale bot review workflow (approve, or reject with a note)<\/li>\n<li>Encrypted card storage and API secret authentication<\/li>\n<li>WooCommerce Blocks checkout support<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin uses the following third-party services:<\/p>\n\n<ul>\n<li><p><strong>QR Code API (api.qrserver.com)<\/strong>: Generates QR codes for the API Secret and endpoint URLs in the admin settings page, and for destination card \/ account \/ Sheba values on the customer payment page (so shoppers can scan them in their bank app).<\/p>\n\n<ul>\n<li>Data sent: API Secret, REST API URLs, and destination card digits, account digits, or Sheba (IR + 24 digits) as URL parameters.<\/li>\n<li>Provider: GoQR.me (Digital-Solutions.at).<\/li>\n<li>Links: <a href=\"https:\/\/goqr.me\/legal\/\">Legal<\/a>, <a href=\"https:\/\/goqr.me\/privacy-safety-security\/\">Privacy &amp; Security<\/a>.<\/li>\n<\/ul><\/li>\n<li><p><strong>Telegram Bot API (api.telegram.org)<\/strong>: Optional. When enabled, sends uploaded receipt images and order summary to your admin chat, and receives Approve\/Reject callbacks.<\/p>\n\n<ul>\n<li>Data sent: Order ID, payment amount, receipt image URL, and button callback data.<\/li>\n<li>Provider: Telegram Messenger Inc.<\/li>\n<li>Links: <a href=\"https:\/\/core.telegram.org\/bots\/api\">Telegram Bot API<\/a>, <a href=\"https:\/\/telegram.org\/privacy\">Privacy Policy<\/a>.<\/li>\n<\/ul><\/li>\n<li><p><strong>Bale Bot API (tapi.bale.ai)<\/strong>: Optional. Same receipt review workflow as Telegram for Bale (\u0628\u0644\u0647) bots.<\/p>\n\n<ul>\n<li>Data sent: Order ID, payment amount, receipt image URL, and button callback data.<\/li>\n<li>Provider: Bale messenger.<\/li>\n<li>Links: <a href=\"https:\/\/ble.ir\/\">Bale platform<\/a>.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/webdide-card-to-card-verification<\/code> directory, or install via Plugins \u2192 Add New.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payments<\/strong> and enable <strong>Card to Card for WooCommerce \u2013 WebDide Shetab<\/strong>.<\/li>\n<li>Open <strong>Shetab Management<\/strong> to configure the API secret, destination cards, and optional Telegram\/Bale bots.<\/li>\n<li>Download the companion Android app from <a href=\"https:\/\/cafebazaar.ir\/app\/ir.webdide.verify\">Cafe Bazaar<\/a>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20specific%20bank%20account%3F\"><h3>Do I need a specific bank account?<\/h3><\/dt>\n<dd><p>No. It works with Iranian accounts that provide SMS or app notifications supported by the companion app.<\/p><\/dd>\n<dt id=\"does%20it%20support%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA%20%2F%20card-to-card%3F\"><h3>Does it support \u06a9\u0627\u0631\u062a \u0628\u0647 \u06a9\u0627\u0631\u062a \/ card-to-card?<\/h3><\/dt>\n<dd><p>Yes. The gateway is built for Iranian card-to-card (\u06a9\u0627\u0631\u062a \u0628\u0647 \u06a9\u0627\u0631\u062a) transfers with unique amount matching.<\/p><\/dd>\n<dt id=\"is%20it%20secure%3F\"><h3>Is it secure?<\/h3><\/dt>\n<dd><p>Communication with the mobile app uses a private API Secret. Card numbers are stored encrypted. Bot webhooks only accept actions from configured chat IDs with signed callback data.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20app%20is%20offline%3F\"><h3>What happens if the app is offline?<\/h3><\/dt>\n<dd><p>Orders stay On Hold. Customers can upload a slip; you can confirm from WooCommerce or from Telegram\/Bale.<\/p><\/dd>\n<dt id=\"how%20do%20telegram%20%2F%20bale%20bots%20work%3F\"><h3>How do Telegram \/ Bale bots work?<\/h3><\/dt>\n<dd><p>Enable a bot in Shetab Management, set the token and allowed chat IDs, then click Set webhook. When a receipt is uploaded, the bot sends the image with Approve \/ Reject. Reject asks for an optional note.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>Confirm API expects deposit amounts in Tomans (aligned with unique_amount).<\/li>\n<li>Legacy fallback: if a Rial amount from an older app build is sent, match unique_amount as amount \/ 10.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Improve WordPress.org discoverability for card-to-card \/ \u06a9\u0627\u0631\u062a \u0628\u0647 \u06a9\u0627\u0631\u062a searches (title, tags, short description).<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Optional destination account number and Sheba (IBAN) on each card.<\/li>\n<li>Gateway toggles to show card, account, and\/or Sheba on the payment page (each with copy + QR).<\/li>\n<li>Database migration for encrypted\/masked account and Sheba fields.<\/li>\n<li>Tested and compatible with WordPress 7.1.2.<\/li>\n<\/ul>\n\n<h4>0.2.5<\/h4>\n\n<ul>\n<li>Payment page: QR code for the destination card number so customers can scan it with their bank app.<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>Intermediate bank-like payment page before WooCommerce thank-you.<\/li>\n<li>Fix infinite thank-you refresh after app confirmation.<\/li>\n<li>Show amount in Rials and Tomans; click-to-copy Rial amount and card number.<\/li>\n<li>Styled payment UI, receipt upload actions, and \u201cGo to my orders\u201d after slip upload.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Tested up to WordPress 7.1.<\/li>\n<li>Proper English source strings with bundled Persian (fa_IR) translations.<\/li>\n<li>Improved directory discoverability for card-to-card \/ \u06a9\u0627\u0631\u062a \u0628\u0647 \u06a9\u0627\u0631\u062a.<\/li>\n<li>Telegram and Bale bot notifications for uploaded receipts.<\/li>\n<li>Approve or reject deposits from the bot; rejection supports an optional note.<\/li>\n<li>Shared approve\/reject logic for WooCommerce order screen and bots.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Automated Card-to-Card verification.<\/li>\n<li>Support for unique suffixes per order.<\/li>\n<li>WooCommerce Blocks integration.<\/li>\n<li>Admin management dashboard.<\/li>\n<\/ul>","raw_excerpt":"Card to card (\u06a9\u0627\u0631\u062a \u0628\u0647 \u06a9\u0627\u0631\u062a) WooCommerce payments with Shetab auto-verification, unique amounts, receipt upload, and Telegram\/Bale bots.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/285839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=285839"}],"author":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rezahajrahimi"}],"wp:attachment":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=285839"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=285839"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=285839"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=285839"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=285839"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=285839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}