{"id":352190,"date":"2026-08-20T14:20:18","date_gmt":"2026-08-20T14:20:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/amsites-payment-gateway\/"},"modified":"2026-08-20T14:20:04","modified_gmt":"2026-08-20T14:20:04","slug":"amsites-payment-gateway","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/amsites-payment-gateway\/","author":23502406,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.4","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"AMSites Payment Gateway","header_author":"AM-Sites Web Experts","header_description":"A complete WooCommerce payment gateway plugin for Pakistan, supporting JazzCash, Easypaisa, Raast, Bank Transfer, and other local payment methods.","assets_banners_color":"333333","last_updated":"2026-08-20 14:20:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/amsiteswebexperts.com\/plugins\/amsites-payment-gateway","header_author_uri":"https:\/\/amsiteswebexperts.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"amsiteswebexperts","date":"2026-08-20 14:20:04"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3657072,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3657062,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3657072,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"Screenshot-1.png":{"filename":"Screenshot-1.png","revision":3657062,"resolution":"1","location":"assets","locale":"","width":1442,"height":736},"Screenshot-2.png":{"filename":"Screenshot-2.png","revision":3657062,"resolution":"2","location":"assets","locale":"","width":1442,"height":731},"Screenshot-3.png":{"filename":"Screenshot-3.png","revision":3657062,"resolution":"3","location":"assets","locale":"","width":1447,"height":738}},"screenshots":{"1":"Payments settings screen listing all AMSites Payment Gateway methods.","2":"JazzCash gateway settings with Sandbox Mode toggle.","3":"Checkout with JazzCash Card, Mobile Account, Voucher, and Direct Bank Transfer options.","4":"Order screen showing the recorded JazzCash transaction details."}},"plugin_section":[],"plugin_tags":[209175,142023,62922,6593,286],"plugin_category":[45],"plugin_contributors":[265324],"plugin_business_model":[],"class_list":["post-352190","plugin","type-plugin","status-publish","hentry","plugin_tags-easypaisa","plugin_tags-jazzcash","plugin_tags-pakistan","plugin_tags-payment-gateway","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-amsiteswebexperts","plugin_committers-amsiteswebexperts"],"banners":{"banner":"https:\/\/ps.w.org\/amsites-payment-gateway\/assets\/banner-772x250.png?rev=3657072","banner_2x":"https:\/\/ps.w.org\/amsites-payment-gateway\/assets\/banner-1544x500.png?rev=3657062","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/amsites-payment-gateway\/assets\/icon-256x256.png?rev=3657072","icon_2x":"https:\/\/ps.w.org\/amsites-payment-gateway\/assets\/icon-256x256.png?rev=3657072","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/amsites-payment-gateway\/assets\/Screenshot-1.png?rev=3657062","caption":"Payments settings screen listing all AMSites Payment Gateway methods."},{"src":"https:\/\/ps.w.org\/amsites-payment-gateway\/assets\/Screenshot-2.png?rev=3657062","caption":"JazzCash gateway settings with Sandbox Mode toggle."},{"src":"https:\/\/ps.w.org\/amsites-payment-gateway\/assets\/Screenshot-3.png?rev=3657062","caption":"Checkout with JazzCash Card, Mobile Account, Voucher, and Direct Bank Transfer options."}],"raw_content":"<!--section=description-->\n<p><strong>AMSites Payment Gateway<\/strong> is a modern WooCommerce payment solution designed for businesses in Pakistan. Accept payments through multiple local payment gateways \u2014 including JazzCash, Easypaisa, Direct Bank Transfer, and future payment providers such as Raast \u2014 from a single, easy-to-use interface.<\/p>\n\n<p>The plugin is lightweight, secure, developer-friendly, and built following WordPress coding standards.<\/p>\n\n<h4>Payment methods included in this release<\/h4>\n\n<p>On <strong>WooCommerce &gt; Settings &gt; Payments<\/strong> this plugin adds exactly <strong>one row: \"AMSites Payment Gateway\"<\/strong> (Enable\/Manage\/Disable, exactly like any other WooCommerce gateway). Clicking <strong>Manage<\/strong> opens one settings screen with a dropdown to select and configure each payment method \u2014 add more methods later and they simply appear as additional dropdown options:<\/p>\n\n<ul>\n<li><strong>JazzCash<\/strong> \u2014 shared Merchant ID, Password, Integrity Salt and Sandbox\/Live mode, entered once and used by all three JazzCash API methods below, plus a master Enable\/Disable for JazzCash as a whole.<\/li>\n<li><strong>JazzCash Mobile Account<\/strong> (mobile wallet balance)<\/li>\n<li><strong>JazzCash Credit\/Debit Card<\/strong> (Visa, Mastercard, via JazzCash's hosted payment page, including 3-D Secure)<\/li>\n<li><strong>JazzCash Over-the-Counter Voucher<\/strong> (cash payment at any JazzCash outlet)<\/li>\n<li><strong>JazzCash QR Payment<\/strong> (manual \u2014 customer scans your JazzCash QR code, pays, and enters a Transaction ID for you to confirm; no merchant API account needed)<\/li>\n<li><strong>Easypaisa QR Payment<\/strong> (manual \u2014 same flow as above, for Easypaisa)<\/li>\n<li><strong>Direct Bank Transfer<\/strong> (manual\/offline bank deposit, with support for listing multiple bank accounts)<\/li>\n<\/ul>\n\n<p>Every method has its own Enable\/Disable switch and its own <strong>Checkout Icon<\/strong> setting: pick an image from your WordPress Media Library, or choose and recolour one of 35+ bundled preset payment icons (card\/wallet\/bank\/general) \u2014 shown before or after the payment method title, your choice.<\/p>\n\n<h4>Coming in future updates<\/h4>\n\n<ul>\n<li>Easypaisa live API integration (Mobile Account\/Card, beyond today's manual QR option)<\/li>\n<li>Raast (State Bank of Pakistan's instant payment system)<\/li>\n<\/ul>\n\n<h4>Why this plugin<\/h4>\n\n<ul>\n<li><strong>PCI-DSS friendly by design.<\/strong> JazzCash card and mobile account credentials are entered on JazzCash's own hosted payment page \u2014 your server never receives, stores, or transmits cardholder data.<\/li>\n<li><strong>Secure Hash on every request and response.<\/strong> Every outgoing JazzCash request and every inbound callback is signed and verified with HMAC-SHA256, exactly as specified in the JazzCash integration guide. Responses that fail verification are rejected and never applied to an order.<\/li>\n<li><strong>Sandbox Mode built in.<\/strong> Flip a single checkbox per JazzCash gateway to test end-to-end against the JazzCash Sandbox before going live \u2014 no code changes required.<\/li>\n<li><strong>Clean, modern codebase.<\/strong> 100% object-oriented, PSR-4 autoloaded, namespaced, and built strictly against the WordPress Plugin\/WooCommerce Payment Gateway APIs. No inline CSS\/JS, no direct file access, all output escaped, all input sanitized and validated.<\/li>\n<li><strong>HPOS ready.<\/strong> Declares compatibility with WooCommerce's High-Performance Order Storage. Uses the classic (shortcode) checkout \u2014 the block-based Cart\/Checkout is not yet supported, so gateways will not appear there until a dedicated Blocks integration ships in a future release.<\/li>\n<li><strong>One plugin, one settings area.<\/strong> All local payment methods for your store live under WooCommerce &gt; Settings &gt; Payments, instead of juggling several separate plugins.<\/li>\n<\/ul>\n\n<h4>How it works (JazzCash)<\/h4>\n\n<ol>\n<li>The customer chooses Card, Mobile Account, or Voucher at WooCommerce checkout.<\/li>\n<li>They're redirected to JazzCash's secure hosted page to authorize payment (or, for vouchers, to receive a 12-digit voucher number by SMS).<\/li>\n<li>JazzCash posts the signed result back to your store, the Secure Hash is verified, and the order is updated automatically \u2014 no manual reconciliation.<\/li>\n<li>For vouchers paid later at a JazzCash outlet, an Instant Payment Notification (IPN) webhook updates the order the moment JazzCash confirms settlement.<\/li>\n<\/ol>\n\n<h4>How it works (Direct Bank Transfer)<\/h4>\n\n<ol>\n<li>The customer chooses Direct Bank Transfer at checkout and places the order.<\/li>\n<li>The order is placed <strong>on-hold<\/strong> and the customer sees your configured bank account details on the order confirmation page and in their confirmation email.<\/li>\n<li>Once you confirm the funds have arrived in your account, you manually mark the order as Processing\/Completed from the WooCommerce Orders screen.<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WooCommerce 7.0+<\/li>\n<li>For JazzCash: a JazzCash Merchant account (Sandbox account is free \u2014 see <a href=\"https:\/\/sandbox.jazzcash.com.pk\/sandbox\/Home\/GettingStarted\">Getting Started<\/a>) and store currency set to PKR<\/li>\n<li>The classic (shortcode) checkout. If your theme\/setup uses the WooCommerce Cart &amp; Checkout Blocks, switch that page back to the classic <code>[woocommerce_checkout]<\/code> shortcode \u2014 block-based checkout support is not yet included in this release.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to JazzCash's hosted payment page (Sandbox: <code>https:\/\/sandbox.jazzcash.com.pk\/CustomerPortal\/transactionmanagement\/merchantform\/<\/code>, Live: <code>https:\/\/payments.jazzcash.com.pk\/CustomerPortal\/transactionmanagement\/merchantform\/<\/code>) to process JazzCash Card, Mobile Account, and Over-the-Counter Voucher transactions \u2014 this is required for the plugin's core purpose, as WooCommerce cannot process JazzCash payments without it. It sends the order amount, currency (PKR), a merchant-generated transaction reference number, the WooCommerce order number, a fixed order-description string, a request timestamp\/expiry, your store's configured Merchant ID and Return URL, and (for Mobile Account\/Voucher only) your configured Bank ID and Product ID, each time a customer submits checkout using a JazzCash payment method. No customer name, email, phone number, or billing address is sent. The customer's browser is then redirected to JazzCash's own hosted page to enter card or mobile account credentials directly with JazzCash; those credentials never pass through this plugin or your server. JazzCash sends a signed result back to your store's Return URL and IPN endpoint to confirm or reject the payment. This service is provided by JazzCash (Private) Limited \/ Mobilink Microfinance Bank: <a href=\"https:\/\/www.jazzcash.com.pk\/tc\">Terms &amp; Conditions<\/a>, <a href=\"https:\/\/www.jazzcash.com.pk\/assets\/documents\/JCP-Customer-Privacy-Notice-30.01.26.pdf\">Privacy Notice<\/a>.<\/p>\n\n<p>The Direct Bank Transfer method is a manual\/offline payment method and does not connect to any external service.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/amsites-payment-gateway<\/code>, or install the zip via <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>WooCommerce &gt; Settings &gt; Payments<\/strong>, make sure <strong>AMSites Payment Gateway<\/strong> is enabled, then click <strong>Manage<\/strong>.<\/li>\n<li>From the dropdown, select <strong>JazzCash<\/strong>: enter your <strong>Sandbox<\/strong> credentials (Merchant ID, Password, Integrity Salt) from the JazzCash Sandbox Portal, keeping <strong>Sandbox Mode<\/strong> enabled while testing. Add the Return URL \/ IPN URL shown here to your JazzCash Merchant\/Sandbox Portal configuration.<\/li>\n<li>Select <strong>JazzCash Mobile Account<\/strong>, <strong>JazzCash Credit\/Debit Card<\/strong>, and <strong>JazzCash Over-the-Counter Voucher<\/strong> from the dropdown and enable whichever methods you want to offer (they all use the credentials entered on the JazzCash option).<\/li>\n<li>Select <strong>JazzCash QR Payment<\/strong> \/ <strong>Easypaisa QR Payment<\/strong> (optional, no API account needed): enable, then upload a screenshot of your JazzCash\/Easypaisa QR code.<\/li>\n<li>Select <strong>Direct Bank Transfer<\/strong>: enable it and enter your bank account details (Bank Name, Account Title, Account Number, IBAN).<\/li>\n<li>Place a test order to confirm each enabled method works end-to-end.<\/li>\n<li>When ready to accept real JazzCash payments, go back to the <strong>JazzCash<\/strong> option in the dropdown, enter your <strong>Live<\/strong> credentials, and disable <strong>Sandbox Mode<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20store%20customer%20card%20numbers%3F\"><h3>Does this plugin store customer card numbers?<\/h3><\/dt>\n<dd><p>No. Card and mobile-account entry happens entirely on JazzCash's hosted payment page. This plugin only ever handles the order total, a transaction reference number, and the signed pass\/fail result \u2014 never a PAN, CVV, or MPIN.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20my%20jazzcash%20merchant%20id%2C%20password%2C%20and%20integrity%20salt%3F\"><h3>Where do I find my JazzCash Merchant ID, Password, and Integrity Salt?<\/h3><\/dt>\n<dd><p>Register for a free account at the <a href=\"https:\/\/sandbox.jazzcash.com.pk\/sandbox\/Home\/GettingStarted\">JazzCash Sandbox Portal<\/a> to get Sandbox credentials, and complete merchant verification on the live JazzCash Merchant Portal to get Live credentials.<\/p><\/dd>\n<dt id=\"what%20url%20do%20i%20give%20jazzcash%20for%20the%20return%20url%20%2F%20ipn%20url%3F\"><h3>What URL do I give JazzCash for the Return URL \/ IPN URL?<\/h3><\/dt>\n<dd><p>The <strong>JazzCash<\/strong> option (under AMSites Payment Gateway &gt; Manage) displays the exact URLs to configure. They follow the pattern <code>https:\/\/yourstore.com\/?wc-api=amspg_jazzcash_return<\/code> and <code>https:\/\/yourstore.com\/?wc-api=amspg_jazzcash_ipn<\/code>.<\/p><\/dd>\n<dt id=\"my%20jazzcash%20orders%20aren%27t%20updating%20after%20payment%20%E2%80%94%20what%20should%20i%20check%3F\"><h3>My JazzCash orders aren't updating after payment \u2014 what should I check?<\/h3><\/dt>\n<dd><p>Enable <strong>Debug Log<\/strong> on the gateway and review <strong>WooCommerce &gt; Status &gt; Logs<\/strong> (source: <code>jazzcash<\/code>). Most issues trace back to a mismatched Integrity Salt, an incorrect Merchant ID for the selected mode (Sandbox vs Live), or a firewall\/security plugin blocking the inbound callback.<\/p><\/dd>\n<dt id=\"does%20bank%20transfer%20confirm%20payments%20automatically%3F\"><h3>Does Bank Transfer confirm payments automatically?<\/h3><\/dt>\n<dd><p>No. Since Pakistani banks do not currently offer a public online payment API, Bank Transfer works like a standard offline\/manual payment method: the order is placed on-hold and you confirm receipt of funds yourself before marking the order Processing or Completed.<\/p><\/dd>\n<dt id=\"how%20do%20jazzcash%20qr%20payment%20and%20easypaisa%20qr%20payment%20work%3F\"><h3>How do JazzCash QR Payment and Easypaisa QR Payment work?<\/h3><\/dt>\n<dd><p>They're manual methods, like Bank Transfer \u2014 no merchant API account, Merchant ID, or credentials required. You upload a screenshot of your own JazzCash or Easypaisa QR code; the customer scans it with their app, pays, and enters the Transaction ID (and optionally the last 4 digits of the phone number they paid from) at checkout. The order is placed on-hold with that Transaction ID saved to the order for you to verify in your JazzCash\/Easypaisa app before marking it Processing or Completed.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20affiliated%20with%20jazzcash%2C%20easypaisa%2C%20or%20any%20bank%3F\"><h3>Is this plugin affiliated with JazzCash, Easypaisa, or any bank?<\/h3><\/dt>\n<dd><p>No. This is an independent, third-party integration built against publicly published API documentation.<\/p><\/dd>\n<dt id=\"why%20don%27t%20the%20payment%20options%20appear%20at%20checkout%20even%20though%20everything%20is%20configured%20correctly%3F\"><h3>Why don't the payment options appear at checkout even though everything is configured correctly?<\/h3><\/dt>\n<dd><p>Check whether your Checkout page is using the WooCommerce Cart &amp; Checkout Blocks. This plugin currently supports the classic (shortcode) checkout only; block-based checkout support is not yet included. Edit the Checkout page and confirm it uses the classic <code>[woocommerce_checkout]<\/code> shortcode rather than the Checkout block.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>One combined \"AMSites Payment Gateway\" row on WooCommerce &gt; Settings &gt; Payments \u2014 Enable\/Manage\/Disable like any other gateway. \"Manage\" opens a dropdown-based settings screen covering every payment method below, so the list never gets cluttered as more methods are added.<\/li>\n<li>JazzCash Mobile Account, Credit\/Debit Card, and Over-the-Counter Voucher \u2014 hosted-page redirection with HMAC-SHA256 Secure Hash generation and verification on every request\/response, Sandbox\/Live mode, and automatic order updates via Return URL and IPN webhooks.<\/li>\n<li>Shared JazzCash Merchant ID, Password, and Integrity Salt entered once and used by all three JazzCash API methods, alongside a master Enable\/Disable for JazzCash as a whole.<\/li>\n<li>JazzCash QR Payment and Easypaisa QR Payment \u2014 manual\/offline methods, no merchant API account needed. Upload your QR code image; customers scan, pay, and enter a Transaction ID at checkout for you to confirm.<\/li>\n<li>Direct Bank Transfer \u2014 manual\/offline, supports multiple bank accounts.<\/li>\n<li>Checkout Icon picker on every method: choose an image from the WordPress Media Library, or pick and recolour one of 35+ bundled preset icons (card\/wallet\/bank\/payment), shown before or after the payment method title.<\/li>\n<li>High-Performance Order Storage (HPOS) compatible. Classic (shortcode) checkout only in this release \u2014 block-based Cart\/Checkout is not yet supported.<\/li>\n<\/ul>","raw_excerpt":"The Complete WooCommerce Payment Solution for Pakistan by AM-Sites. Accept JazzCash, Easypaisa, and Direct Bank Transfer from a single plugin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/352190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=352190"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/amsiteswebexperts"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=352190"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=352190"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=352190"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=352190"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=352190"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=352190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}