Bank Transfer Gateway for Wise

Descrizione

Bank Transfer Gateway for Wise lets customers pay by bank transfer to your Wise account and can automatically reconcile incoming payments through the Wise REST API. It works in both the classic shortcode-based checkout and the modern React-based Cart & Checkout Blocks.

Not affiliated with or endorsed by Wise. “Wise” is a trademark of Wise Payments Limited.

Highlights

  • Geo-scoped multi-currency accounts — configure separate Wise account details per currency / per country / per continent (e.g., USD for US&CA, EUR for EU, GBP for GB)
  • Locale-aware labels — the field name adapts to the customer’s billing country: “Sort code” for the UK, “BSB” for Australia, “IFSC” for India, “Transit number” for Canada, etc.
  • Currency selector (optional) — let customers pick which currency they pay in; the matching Wise account is shown after checkout
  • Unique reference numbers — every order gets a reference like WISE-1042-A7F3
  • Wise REST API connection — use a Live or Sandbox API token and test profile, balance, and receiving-detail access
  • Automatic payment verification — match incoming CREDIT transactions by unique reference, exact amount, and currency
  • Wise SCA support — generate an RSA key pair and sign Wise one-time-token challenges for protected statement endpoints
  • Receiving-detail import — import active Wise receiving details into the account table
  • On-demand checks — run a full verification pass or check one order from the WooCommerce Orders screen
  • Automated email instructions — bank details + reference appended to on-hold/pending order emails (HTML + plain text)
  • Thank-you page — clear, copy-to-clipboard layout with your account details
  • HPOS compatible — works with WooCommerce custom order tables
  • Block checkout compatible — works in the new React-based checkout, not just the legacy shortcode

Security

This plugin handles money, so security is non-negotiable:

  • All admin actions enforce manage_woocommerce capability and use WordPress nonces
  • All customer-facing output is escaped with esc_html / esc_attr / esc_url / wp_kses_post
  • All admin input is sanitised with wc_clean / sanitize_text_field / sanitize_textarea_field
  • Singleton class is final and blocks cloning/unserialising
  • Optional “Wipe configuration” toggle controls whether settings survive an uninstall
  • API tokens and private keys remain server-side and are never returned by the plugin’s AJAX endpoints

How it works

  1. Customer chooses Pay by Bank (Wise) at checkout and places the order.
  2. The order is set to On hold with a unique reference like WISE-1042-A7F3.
  3. The customer sees the matching Wise bank details (locale-aware labels) on the order-received page.
  4. The same details are emailed to the customer (HTML + plain text).
  5. In API mode, the plugin checks Wise every 15 minutes and matches the incoming transfer by reference, exact amount, and currency.
  6. A verified order is marked Processing or Completed, according to your setting. Manual mode remains available.

Screenshot

Installazione

  1. Upload the mojibur-bank-transfer-gateway folder to /wp-content/plugins/ or install via Plugins Add New Upload Plugin.
  2. Activate the plugin from the Plugins menu.
  3. Go to WooCommerce Settings Payments Bank Transfer Gateway for Wise.
  4. Enable the gateway, set Title/Description/Instructions, fill in the Account holder, and add at least one row in the accounts table.
  5. For automatic verification, choose Manual + Wise API, select Sandbox or Live, save your Wise API token/profile ID, and click Test connection.
  6. If Wise requires SCA for statements, generate a key pair and upload the displayed public key in Wise under Settings API tokens Manage public keys.
  7. Enable Auto verify Wise payments and choose the status to apply after a match.

FAQ

Do I need a Wise business account?

No. This plugin works with any Wise or bank account — you simply enter the bank details your provider gave you.

How does the geo-scoped account selection work?

Each row has a Scope (comma-separated WC country/continent codes) and a Currency. When a customer’s order is placed, the plugin shows the row whose Currency matches the order currency, OR whose Scope matches the customer’s billing country/continent. If multiple match, all matches are shown. If nothing matches, rows with empty Scope are used as a global fallback.

Can the plugin confirm payments automatically?

Yes. Choose Manual + Wise API mode and enable automatic verification. The plugin scans Wise balance statements for an incoming CREDIT transaction whose reference contains the order’s unique reference and whose amount and currency exactly match. You can also keep the gateway in fully manual mode.

Does the Wise API token charge the customer?

No. Checkout remains a bank-transfer flow. The token reads your Wise profile, balances, receiving details, and statements; it does not pull money from the customer.

How does Strong Customer Authentication work?

Generate an SCA key pair in the gateway settings, then upload the public key to your Wise account. The private key stays in WordPress and signs Wise one-time-token challenges when a protected statement request requires it.

Is the plugin translation-ready?

Yes. All strings are internationalized. Text domain: mojibur-bank-transfer-gateway.

Recensioni

Non ci sono recensioni per questo plugin.

Contributi e sviluppo

“Bank Transfer Gateway for Wise” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.

Collaboratori

Changelog

2.0.0

  • Made every former Pro feature part of the WordPress.org plugin; the separate Pro add-on is no longer required.
  • Added Live/Sandbox Wise REST API connection testing and profile discovery.
  • Added automatic incoming-payment verification every 15 minutes.
  • Added exact reference, amount, and currency matching with configurable post-payment status and lookback window.
  • Added Wise SCA RSA key generation and signed one-time-token challenge support.
  • Added receiving-account detail import and live API detail fallback.
  • Added on-demand full verification and per-order verification for HPOS and legacy order screens.
  • Added a compatibility notice for stores that still have the former Pro add-on active.

1.0.0

  • Initial release.
  • Geo-scoped multi-currency Wise accounts (Country/Continent/Currency).
  • Locale-aware labels (Sort code, BSB, IFSC, Transit number, …).
  • Unique reference generation.
  • Customer-facing currency selector (optional).
  • HPOS + Cart/Checkout Blocks compatibility.
  • Brand SVG logo.
  • Optional “Wipe configuration” on uninstall.
  • Fully internationalized and translation-ready.