| 开发者 | webhosting4ugr |
|---|---|
| 更新时间 | 2026年5月22日 02:08 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
$order->update_meta_data() / get_meta() API — never the legacy update_post_meta() / get_post_meta() calls that silently fail on HPOS-enabled stores (the WooCommerce default for new installs since 8.x). Your transaction IDs, support reference IDs, and approval codes are preserved whichever storage mode you run.CF-Ray / CF-Connecting-IP request headers) and surfaces the current Cloudflare IPv4 CIDR ranges right in the gateway settings page, ready to copy. You hand them to Euronet Merchant Services so the bank's callbacks are not blocked at their firewall when they arrive via Cloudflare edge IPs. Live list fetched from cloudflare.com/ips-v4 and cached for 12 hours.WAFTEST- merchant reference that cannot match any order in the database. Catches the class of "callbacks never arrive" problems before they cost you a sale..mo and WordPress 6.5+ performant .l10n.php payloads. The wp.org page itself ships with an English readme.txt that opens with a Greek summary, plus a parallel full Greek readme-el.txt companion file inside the plugin folder for Greek-speaking merchants.pay.aspx) — τα δεδομένα κάρτας δεν περνούν ποτέ από τον διακομιστή
του καταστήματος.AcquirerId, MerchantId, PosId, Username,
Password. Το πρόσθετο δεν παρέχει δικούς του δοκιμαστικούς
λογαριασμούς.
Η πλήρης ελληνική μετάφραση της σελίδας του προσθέτου στο WordPress.org
θα είναι διαθέσιμη μέσω του translate.wordpress.org
μόλις εγκριθεί από την κοινότητα. Δείτε επίσης το συνοδευτικό
readme-el.txt για την ολοκληρωμένη ελληνική τεκμηρίωση.
English:
This plugin integrates WooCommerce with the ePay Paycenter Redirection
service operated by Piraeus Bank / Euronet Merchant Services. It implements
the official Redirection v2.9 specification end to end:
IssueNewTicket) with UTF-8 payload.pay.aspx) so card data never touches your server.CardType=15, PaymentMethod=IRIS), surfaces IRIS-tailored decline
messages for the IRIS-only ResponseCodes (05 user-cancelled-in-bank-app,
06 service error, 09 pending, 68 5-minute QR timeout, 70 IRIS service
error) and records the channel on the order so card vs IRIS settlements
are distinguishable in your reports.AcquirerId, MerchantId, PosId,
Username and Password credentials before using this plugin. The
plugin does not provide test or sandbox accounts on its own; please
contact Euronet Merchant Services to request one.
Affiliation and trademark notice
This plugin is independent software published by WebHosting4U and is
not affiliated with, endorsed by, sponsored by, or otherwise officially
connected to Piraeus Bank S.A., Euronet Merchant Services, or
Automattic Inc. The third-party names "ePay", "Paycenter", "Piraeus Bank"
and "WooCommerce" are trademarks of their respective owners and are
used here in good faith, after the unaffiliation marker "for", solely
to describe the third-party service this plugin integrates with, in
line with the WordPress.org Detailed Plugin Guidelines on third-party
trademarks. The bundled accepted card brands image
(assets/img/wp-cards.png) is included with the rights-holder's
authorization for the merchant distribution scope of this plugin.
User tracking and consent
This plugin does not load any analytics, telemetry, advertising,
fingerprinting, profiling or behavioural tracking code, neither on the
storefront nor in the WordPress admin. It does not set cookies on
visitor browsers, does not contact any first-party or third-party
analytics endpoint, and does not collect aggregated or individual
usage statistics from the merchant's installation. The only outbound
network traffic the plugin generates is the strictly transactional
traffic documented in the External services section below, which
is required to complete a payment the merchant has explicitly
configured the plugin to perform. No user-tracking consent prompt is
therefore required by this plugin (Plugin Review Team Guidelines 7
and 9).
wp-content/plugins/wh4u-secure-card-gateway-for-epay-paycenter-piraeus-bank/.https://your-site.tld/wc-api/epay_paycenter/https://your-site.tld/wc-api/epay_paycenter/https://your-site.tld/wc-api/epay_paycenter/Visa, Mastercard, Maestro, and (subject to agreement with Euronet Merchant Services) Diners / Discover and American Express.
Yes. When IRIS is enabled on your merchant agreement by Euronet Merchant Services, customers can choose between card and IRIS directly on the bank's hosted payment page — the plugin does not need a separate setting to "turn IRIS on" because the choice is made server-side at the bank, not in your checkout. The plugin recognises IRIS responses (CardType=15 or PaymentMethod=IRIS in the bank's HMAC-verified callback), shows IRIS-tailored messages for the IRIS-only decline scenarios (user cancelled in their banking app, 5-minute QR timeout, IRIS service error, etc.) and records the payment channel on the order so card and IRIS transactions are distinguishable in your reports. Per Piraeus Bank policy, IRIS payments do not support installments (the full amount is charged) and refunds are not supported for IRIS transactions (ResponseCode 9167). These restrictions are enforced by the bank, not by the plugin.
No. Cardholder data is entered exclusively on the Paycenter secure
payment page and never transits your server. The plugin stores only
non-sensitive metadata such as approval code, response code and
SupportReferenceID for reconciliation.
The order is set to On hold and a notice is logged. Verification is mandatory before an order is marked paid; a mismatching HashKey is treated as a potentially forged callback.
The plugin transmits only the minimum data required for the transaction (order total, currency, merchant reference, and 3-D Secure auxiliary fields such as billing email and address). No analytics or telemetry is collected.
Shared-hosting firewalls sometimes flag Paycenter's decline-callback
payload because it contains patterns (dash-only TransactionDateTime,
empty HashKey on declined transactions, Greek ResponseDescription
text) that overlap with default attack signatures. Symptoms: callbacks
for failed transactions never arrive and orders get stuck in pending
payment.
The plugin's settings page includes a Test callback URL diagnostic
that POSTs a realistic declined-transaction payload to your own callback
URL via loopback and reports whether a host WAF intercepts it. Run it
once before going live. If a WAF is intercepting, ask your hosting
provider to whitelist the URL /?wc-api=epay_paycenter (callback-URL
scope only — never disable rules server-wide). CDN-level WAFs
(Cloudflare, Sucuri, Akamai) must be configured separately at the CDN —
the in-admin diagnostic only exercises the origin server's WAF.
The literal -1 comes from WooCommerce core's WC_API handler. For
this plugin it usually means one of three things:
https://<your-site>/?wc-api=epay_paycenter (no
trailing slash, no extra path). Copy it from the gateway settings
page where the plugin displays the canonical form.epay-paycenter-* entries
around the transaction timestamp. The Callback envelope INFO line is
written on every callback that reaches PHP, so its presence or absence
distinguishes WAF-level blocks from plugin-level rejects.
== WAF compatibility == section was rolled into two FAQ entries that cover the same operator scenarios (WAF blocking callbacks, "-1" troubleshooting) without per-vendor configuration snippets — those move to support docs. No code change; the in-admin "Test callback URL" diagnostic, callback envelope logging and URL normalisation features previously documented in that section all remain.CardType=15 / PaymentMethod=IRIS), stores the payment channel on the order, and surfaces IRIS-tailored messages for the IRIS-only ResponseCodes 05 (user cancelled in their bank app), 06 (service error), 09 (initiated but not confirmed), 68 (5-minute QR-code timeout) and 70 (IRIS service unexpected error). HMAC-SHA256 HashKey verification applies to IRIS callbacks identically (the empty AuthStatus / PackageNo / TraceID fields are concatenated as empty strings per the manual). No payment-flow or callback-handler change for existing card transactions._epay_installments order meta, and sent as the Installments parameter in the Ticketing request to Piraeus Bank.amount:max,amount:max,... (e.g. 50:3, 100:6, 200:12). Overrides the flat "Maximum installments" when set. Per Piraeus Bank policy all installments via this gateway are interest-free for the customer; the merchant absorbs the bank commission.process_payment() always re-clamps the picked value against the merchant's tier policy evaluated for the live order total, and the SOAP ticket request re-clamps a second time as defence-in-depth. Tier-string parsing uses a strict regex; malformed segments are silently dropped instead of throwing.installments checkbox + max_installments + min_amount_for_installments settings, previously cosmetic (the Ticketing request was hard-coded to Installments=0), are now wired up. _epay_installments order meta carries the value through the bank round-trip. Success order note now branches by payment channel — IRIS rows omit the empty PackageNo / TraceID columns that have no analogue in the DIAS instant-payment flow.readme-el.txt companion updated with IRIS coverage; new section "What sets this plugin apart" surfaces the technical differentiators (HPOS-native, Cloudflare detection, WAF self-test, WP 7.0 audit, bilingual readme).Installments=1, the bank's canonical "no installments" per Redirection Manual v2.9 §4); the Blocks picker is scheduled for a follow-up release.