外掛說明
This add-on connects Gravity Forms to Opayo Form (formerly Sage Pay Form), Elavon’s hosted payment integration. Shoppers are sent to Opayo to enter card details; card data never touches your WordPress site, which keeps your PCI scope lower than with on-page card fields.
You need
- WordPress 4.5 or higher and a supported PHP version (7.0+ recommended).
- Gravity Forms with a license that includes payment add-ons (this plugin extends the Gravity Forms payment framework).
- An Opayo account with Form integration enabled, plus your vendor name and Form encryption password from MyOpayo.
What it supports
- Product and donation feeds, billing field mapping, and delayed notifications or post creation until payment completes (where you configure it in the feed).
- Opayo VPS Protocol 4.00, test and live modes, and current Elavon gateway hosts (
sandbox.opayo.eu.elavon.com/live.opayo.eu.elavon.com), with a filter to override URLs if your integration pack specifies different endpoints. - Reliable handoff to Opayo using a short on-site URL plus a transient (avoids oversized query strings that can cause registration errors).
- After payment, customers can be returned to the form’s page so Gravity Forms can run the normal confirmation (message or redirect), using the entry’s source URL when available.
Support and feedback
Questions or ideas: contact PatSaTECH.
安裝方式
-
Install Gravity Forms (if it is not already installed) and ensure your license supports payment add-ons.
-
Install this plugin
- In WordPress: Plugins Add New Upload Plugin, choose the ZIP, then Install Now, Activate; or
- Upload the plugin folder to
wp-content/plugins/via FTP/SFTP, then activate under Plugins.
-
Configure Opayo (global)
Go to Forms Settings Opayo Form (or the Opayo Form item under Gravity Forms settings). Enter Vendor name, Encryption password, Vendor email, choose Test or Live, set Transaction type (e.g. PAYMENT), and save. Use the credentials from MyOpayo for the same environment (test vs live). -
Add a payment feed to a form
Open your form Settings Opayo Form add a feed. Map billing fields, choose products or donations, and adjust notifications/posts options as needed. There is no separate “Cancel URL” or “Success URL” field: cancel uses the entry source URL (the page where the form was submitted), and success returns through Gravity Forms’ normal confirmation flow. -
Test
Use Opayo test/sandbox mode and a test card until you are satisfied, then switch to Live and verify with a small real transaction.
For gateway-specific rules, limits, and 3D Secure behaviour, refer to Opayo / Elavon documentation and your MyOpayo account.
使用者評論
這個外掛目前沒有任何使用者評論。
參與者及開發者
變更記錄
1.0.0
- Initial Release
1.1.0
- Completely rewritten to work with latest version of GravityForms plugin.
- Conditional Logic Issues resolved.
1.1.1
- Have resolved the issue related to “Uncaught SecurityError” during redirecting to Opayo.
1.1.2
- Minor code changes
1.1.3
- Updated the tested upto for WordPress.
1.1.4
- Updated to support the PHP version 7.0 and above.
1.1.5
- Updated to resolve issue with Apply3DSecure flag.
1.1.6
- Edited to send 2 character ISO 3166 country code.
1.1.7
- Edited to check if the entry is already paid or processing. And resolve 5080 issue due to state being empty.
1.1.8
- Edited to support the latest version of the Opayo protocol (v4.00).
1.1.9
- Updated to change branding from Sagepaay to Opayo.
1.2.0
- Hardened IPN/callback handling (validate crypt, decode before logging, safer VendorTxCode parsing, correct error when entry is missing).
- Fixed duplicate-payment guard when redirecting to Opayo (avoid blocking legitimate submissions).
- Restored Apply 3D Secure global setting and send Apply3DSecure in the Crypt payload.
- Fixed mislabeled transaction type setting; use version_compare for OpenSSL vs mcrypt.
- Added filter gform_sagepay_form_gateway_register_url to override test/live registration URLs if Opayo changes endpoints.
- Synced plugin version constant with readme; trimmed noisy debug logging on redirect.
- Default Form registration URLs now use Elavon Opayo hosts (sandbox.opayo.eu.elavon.com / live.opayo.eu.elavon.com) instead of legacy test.sagepay.com / live.sagepay.com. Same path: /gateway/service/vspform-register.vsp. Use filter gform_sagepay_form_gateway_register_url to point at legacy or alternate URLs if required.
- Fixed Opayo Form Crypt encryption for PHP OpenSSL: removed double padding (manual PKCS5 plus OpenSSL PKCS7), which commonly caused error 5080 “Form transaction registration failed”. Encryption now matches Opayo’s documented approach (16-byte key/IV from password, uppercase hex).
- Amount sent as formatted decimal (e.g. 10.00). Sanitize Crypt field values (control characters). Safer VendorData mapping; optional ReferrerID via filter gform_sagepay_form_referrer_id.
- Resolve Opayo Vendor from add-on settings, legacy gf_sagepay_form_configured option, or wrongly nested upgrade data; filter gform_sagepay_form_vendor_name.
- Block checkout if vendor name is still missing (clear error instead of posting blank Vendor to Opayo).
- On the bridge page, reinject Vendor from saved settings when the query string omits it; restore hidden fields and auto-submit (removed debug text inputs / disabled submit).
- Upgrade copy_settings now merges legacy settings flat instead of nesting them under gf_sagepay_form_configured.
- Default payment handoff uses a short URL + server-side transient, then POSTs to Opayo (avoids huge Crypt in the query string, which is often truncated by servers/proxies and causes 5080).
- Strip & and = from values inside the encrypted Crypt payload (they break Opayo’s name=value parsing).
- Filters: gform_sagepay_form_use_transient_bridge (default true), gform_sagepay_form_bridge_params.
1.2.1
- Fixed Send E-Mail (“No One” =
0) and Apply 3D Secure (“No” =0) not being applied when saving settings: Gravity Formsrgar()/ PHP treat string"0"as empty, so the add-on fell back to defaults (SendEMail= 2 vendor-only, 3DS = Yes). Settings are now read with a helper that usesarray_key_exists()so0is preserved in the Opayo Crypt payload. - Readme: expanded Description and Installation; aligned Requires at least with the plugin header; Tested up to WordPress 6.9.4.
1.2.2
- Feed settings: optional Cancel / failure return URL and Success return URL; when empty, behavior matches previous versions (entry source URL / home for cancel). Filters
gform_sagepay_form_cancel_return_urlandgform_sagepay_form_success_return_urlaccept an optional fourth argument ($feed).
