GP WebPay
YuiCraftGpWebpay adds Global Payments (GP WebPay) as an online payment gateway for stores running YuiCraftPlugin.
When enabled and correctly configured, it registers one payment method in checkout:
gpwebpay(standard payment)
If subscriptions are enabled, it also registers:
gpwebpay-subscription(recurring/subscription flow)
Use case
Use this plugin when a store needs to accept card payments through GP WebPay (Global Payments), the PSP commonly contracted by merchants in Slovakia/Central Europe. It covers two scenarios:
- One-off card payment: customer pays once at checkout and is redirected to GP WebPay's hosted payment page, then returned to the store.
- Recurring/subscription payment: customer authorizes a first charge, and the store's cron-driven console command charges subsequent installments automatically. GP WebPay confirms each charge asynchronously through a signed webhook, and the customer can self-manage (view/cancel/keep) their subscription from the storefront.
If a store only needs one-off payments, subscriptions can stay disabled — the plugin behaves as a plain payment gateway with no recurring infrastructure exposed.
For the underlying services, events, console command, and webhook contract, see Developer.
Where admins work with this plugin
In Craft CP, open:
Yui -> Payment methodsYui -> Payment pluginsGP WebPay
The plugin settings screen is available at gpwebpay/settings.
What this plugin does in checkout
During order placement:
- Store checkout selects GP WebPay method.
- Plugin prepares payment request data from order + items.
- Customer is redirected to GP WebPay hosted payment page.
- Store processes payment callback and updates payment result.
For pending payments, admins can run a manual status check from plugin settings (Check Payments button).
Customer/storefront perspective
One-off payment:
- Customer selects the GP WebPay method at checkout (label and button text come from the
Generalsettings tab). - On confirming the order, the customer is redirected to GP WebPay's hosted payment page — card details are entered there, never on the store.
- GP WebPay redirects the customer back to the store's success or failure page depending on the result.
Subscription payment (only when Enable Subscriptions is ON):
- Customer selects the
gpwebpay-subscriptionmethod, authorizes the first charge on GP WebPay's page the same way as a one-off payment. - Subsequent charges happen automatically; the customer is not redirected again unless a retry requires re-authorization.
- Logged-in customers can view their subscriptions at
gpwebpay/subscriptions(JSON endpoint consumed by the storefront), and can cancel (gpwebpay/subscription/cancel) or keep/reactivate (gpwebpay/subscription/keep) a subscription that is pending cancellation. Both actions require the customer to be logged in and to own the subscription.
A canceled subscription still honors payments already due before the cancellation takes effect; the store surfaces this via the subscription status (active, past_due, retrying, paused, canceling, canceled, expired).
Dependencies and integration notes
- This plugin is an extension of the main store plugin and depends on store payment/order infrastructure.
- The payment method is registered only when plugin setting
enabledis turned on. - Currency mapping uses store helpers (ISO 4217 conversion) from the main store plugin.
Before going live
Complete this checklist:
- Enable sandbox mode.
- Save merchant number and key file paths/password.
- Run
Test Credentialsin plugin settings. - Place one successful test order.
- Place one declined test order.
- Confirm order/payment status behavior in admin Orders.
- Switch to live credentials and disable sandbox mode.
Quick setup example (sandbox)
Use this as a baseline configuration for first test run:
Enable GP WebPay: ONEnable Sandbox Mode: ONMerchant number: value from GP WebPay test accountPublic key file path:/web/gpwebpay/gpe.signing_test.cerPrivate key file path:/web/gpwebpay/gpwebpay-pvk.keyPrivate key password: test key password from GP WebPayDefault currency:EUR(or your contracted currency)Default language:sk-SK(or your checkout language)
Then:
- Click
Save. - Click
Test Credentials. - Place a checkout order using GP WebPay.
- Verify order payment transaction data and final order status.
Checkout examples for admins
Example customer-facing values in checkout:
- Display name:
Card payment (GP WebPay) - Button name:
Pay now - Instructions:
After clicking Pay now, you will be redirected to secure GP WebPay page.
Subscription mode example:
- Subscription display name:
Card payment - recurring - Subscription button name:
Start subscription - Subscription instructions:
You will authorize recurring card payment on GP WebPay page.
Operational checks after deployment
After enabling live mode, verify:
- GP WebPay appears in checkout only where expected (country/time restrictions).
- Successful payment returns customer to success page and order is not stuck in
pending_payment. - Failed payment returns to failed flow and order is not auto-fulfilled.
Check Paymentscan be used by admin for delayed state recovery.
Known operational limits
Check Paymentscurrently focuses on orders inpending_paymentstatus.- Internal payment-status verification logic exists but parts are still marked as TODO in plugin code.
- Always verify final payment state in order/payment transaction records before manual fulfillment.
See also
- Settings — every configuration field and admin action.
- Release Notes — what changed in each version.
- Developer — services, webhook contract, console command, and MCP tools.