Geri

VibeFox CorvusPay for Adobe Commerce — Yardım

Requirements

Magento: Magento Open Source or Adobe Commerce 2.4.6 to 2.4.9, on your own server or hosting, on premises or on Adobe Commerce on cloud infrastructure. The module does not work with Adobe Commerce as a Cloud Service (the SaaS edition), which does not accept PHP modules.

PHP: 8.1 to 8.4, with the curl and json extensions.

Currency: AUD, BAM, BHD, CAD, CHF, CZK, DKK, EUR, GBP, HRK, HUF, ISK, MKD, NOK, PLN, RON, RSD, RUB, SEK or USD. In any other cart currency the payment method is hidden at checkout. Amounts are sent with 2 decimals; a total with more decimals (for example in a store with 3-decimal BHD prices) is refused instead of being rounded.

CorvusPay account: you need a CorvusPay merchant account. CorvusPay issues a Store ID and a Secret Key for each store, separately for the test and the production store; they are shown in the CorvusPay Merchant Center. The Success URL and Cancel URL of the module must be entered there (see Configuration).

VibeFox license key: bought on vibefox.net. One key works on one domain.

Installation

The module is one ZIP file. It is a Composer package and can also be copied into app/code. Run the commands in the Magento root folder as the user that owns the Magento files.

1. With Composer: put the ZIP file into a folder that your project uses as a Composer "artifact" repository and run composer require vibefox/module-corvuspay-payment. Without Composer: unpack the ZIP file into app/code/Vibefox/CorvuspayPayment/, so that registration.php is directly in that folder.

2. Run bin/magento module:enable Vibefox_CorvuspayPayment and bin/magento setup:upgrade. In production mode also run bin/magento setup:di:compile and bin/magento setup:static-content:deploy, then bin/magento cache:flush.

3. In the Admin go to Stores > Configuration > Sales > Payment Methods and open VibeFox CorvusPay Gateway. When the Magento PayPal module is enabled, the group is listed under Other Payment Methods. Paste your VibeFox license key into License key in the license block, the first row of the group, and click Activate (see License key).

4. Enter the Store ID and Secret Key of your CorvusPay test store (and of the production store for live payments). Copy the Success URL and Cancel URL shown on the settings page into the CorvusPay Merchant Center, for the test and the production store. Keep Test mode at Yes, set Enable to Yes, click Save Config and place a test order. When everything works, set Test mode to No and click Save Config.

The module adds the Credit/Debit Card (CorvusPay) payment method to the Magento checkout. It is off after installation (Enable = No). The module uses the standard Magento order states and creates no order statuses of its own. It creates its own table for the CorvusPay payment attempts.

Configuration

All settings are in Stores > Configuration > Sales > Payment Methods > VibeFox CorvusPay Gateway, in the standard Magento configuration form. Like other Magento settings, they can be changed for a website or a store view with the Scope switcher at the top of the page. Remove data on uninstall is read from the Default Config only, so set it there. Save Config saves the whole page. Amounts are entered with a dot, for example 9.99.

If a value is wrong, Magento shows an error and nothing on the page is saved: an empty Title or a title longer than 128 characters (Enter a title for the payment method (1 to 128 characters).); a Sort order that is not a whole number (Sort order must be a whole number.); a Minimum Order Total or Maximum Order Total that is not a number of 0 or greater (Order total must be a number, 0 or greater.).

A Store ID must contain digits only. If you enter anything else, the page shows CorvusPay: Test Store ID must contain digits only — the previous value was kept. (or Live Store ID) and the other fields are still saved. An empty Store ID is saved empty.

While Enable is Yes in the Default Config, saving the page also shows: CorvusPay: enter the Store ID and Secret Key of the active mode, otherwise the payment method is hidden at checkout. when the Store ID or Secret Key of the current mode is missing; CorvusPay: test mode is on; no real money is charged. while test mode is on; and CorvusPay does not support the store currency. when the currency of the default store view is not supported by CorvusPay.

General

Enable: shows or hides CorvusPay at checkout. It is shown only when the Store ID and Secret Key of the current mode are set. Default: No.

Title: the payment method name customers see at checkout. It is also the payment method name stored in the order. Default: Credit/Debit Card (CorvusPay). Required, at most 128 characters.

Description: shown in the payment method list at checkout, under the method when the customer selects it. Default: Pay securely with your credit or debit card via CorvusPay.

Sort order: the position among the payment methods at checkout. A whole number.

Connection

The Store ID and Secret Key are issued by CorvusPay for each store (test and production separately) and are shown in the CorvusPay Merchant Center.

Test mode: uses the CorvusPay test environment (wallet.test.corvuspay.com) and the test Store ID and Secret Key. Default: Yes. Set it to No to take real payments on wallet.corvuspay.com. While it is on, customers see TEST MODE: no real money is charged. under the payment method.

Test Store ID: the numeric Store ID of your CorvusPay test store.

Test Secret Key: the Secret Key of your CorvusPay test store, used for the HMAC-SHA256 signatures.

Live Store ID: the numeric Store ID of your CorvusPay production store.

Live Secret Key: the Secret Key of your CorvusPay production store, used for the HMAC-SHA256 signatures.

Magento stores the Secret Keys encrypted and shows only a mask (******) after saving: Clear the field to remove the saved secret; asterisks keep it. Leave the mask unchanged to keep the saved key, type a new value to change it. To delete a saved key, clear the field and click Save Config. A payment is always verified with the Secret Key of the store it was started in, so keep the test key filled in while test payments may still return.

Payment

Transaction Type: how the card is charged.

Sale (capture immediately): the card is charged at once (default).
Authorize only (capture in Merchant Center): the amount is only reserved. The page says: Authorize only reserves funds. Capture in the Merchant Center, then unhold and record the invoice offline in Magento. Refunds and voids are managed in the Merchant Center.

Payment Page Language: the language of the CorvusPay payment page. Site language (default) uses the locale of the store view where the order was placed when CorvusPay supports it, otherwise English. You can also choose Hrvatski, English, Deutsch, Italiano, Srpski or Slovenščina.

Order Status After Payment: the order state after a successful Sale payment.

Processing (default): the standard Magento state for paid orders.
Complete: every paid order becomes Complete.
On Hold: every paid order is invoiced and then put on hold for your manual review.

Conditions

Payment from Applicable Countries: All Allowed Countries offers CorvusPay for every country your store allows, Specific Countries only for the countries below.

Payment from Specific Countries: offer CorvusPay only for billing addresses in these countries.

Minimum Order Total: offer CorvusPay only from this order total, in the base currency of your store. 0 or empty means no minimum. Default: 0.

Maximum Order Total: offer CorvusPay only up to this order total, in the base currency. 0 or empty means no maximum. Default: 0.

Advanced

Debug log: turns on the debug log var/log/corvuspay_p_debug.log.php in the Magento folder. The file cannot be opened from the web and is rotated at 5 MB. Errors (for example a rejected Success URL request or a failed confirmation) are always logged, even when this is off; Secret Keys, signatures and e-mail addresses are hidden. Default: No.

Remove data on uninstall: when Yes, uninstalling the module with its data removes the module settings of all scopes and the log (see Uninstall). The license key is always removed. Orders and the CorvusPay payment records are always kept. Default: No.

Success and Cancel URLs

This row at the end of the group says Enter these URLs in the CorvusPay Merchant Center. Refunds, capture and void are managed there. and shows the two addresses for the store view of the selected scope (the default store view in the Default Config). Copy them exactly as the page shows them into the CorvusPay Merchant Center, for the test and the production store. CorvusPay returns the customer to them after the payment.

Success URL: looks like https://your-store/wcpcorvuspaygateway/checkout/success. CorvusPay signs this request; the order is invoiced only after the signature is verified.
Cancel URL: looks like https://your-store/wcpcorvuspaygateway/checkout/cancel. CorvusPay does not sign it, so it can only cancel an unpaid payment attempt with a CorvusPay order number issued by this store.

Both addresses accept the form that CorvusPay posts back (POST); opened directly in a browser they answer Method not allowed.

Debug log

The last row shows the size and the latest entries of the log, or The log is empty. Click Clear log to empty it.

Checkout

At the payment step the customer chooses the payment method (by default Credit/Debit Card (CorvusPay)) and sees the description and the note You will be redirected to CorvusPay to complete the payment securely. After Place Order, Magento places the order in Pending Payment. No invoice is created and no order e-mail is sent yet. The next page shows You are being redirected to CorvusPay. and sends the signed form to the CorvusPay payment page; if the redirect does not start, the customer clicks Pay via CorvusPay. Card data never touches your site.

The form carries the order total in the order currency, a CorvusPay order number made from the Magento order (MG, the order ID, the time and a random part), the description Order with the Magento order number, the page language, and the billing address details and e-mail of the customer to pre-fill the payment page. The same CorvusPay order number is reused while the amount, currency, mode and transaction type do not change, and CorvusPay does not accept a second payment for it.

After paying, CorvusPay returns the customer to the Success URL. The order is marked paid only after CorvusPay confirms it: the CorvusPay order number must have been issued by this store, the signature must match the Secret Key of the store the payment was started in, and the amount and currency must match the order. The Success URL is handled even when Enable is No or the license is not active.

After a successful Sale payment Magento creates the invoice with the CorvusPay transaction ID (or, if CorvusPay does not send one, the CorvusPay order number) as the transaction ID, the order moves to the state set in Order Status After Payment and the order e-mail is sent. The customer sees the standard order success page. For Authorize only, or for a payment that needs review (amount mismatch or payment after cancellation), the success page shows Your CorvusPay payment is being reviewed by the store. A customer who comes back in another browser lands on the home page.

If the payment cannot be confirmed at that moment (for example, another request is confirming the same cart), the customer sees Your CorvusPay payment is being confirmed. Please do not pay again. with a Check again link. If the Success URL request cannot be verified, the customer sees Payment not confirmed and nothing is changed.

If the customer cancels on the CorvusPay page, the order is cancelled (the stock goes back), the cart is restored and the customer is back in the cart with Your CorvusPay payment was cancelled. You may try again or choose another payment method.

If the payment cannot be started (the module is disabled, the Store ID or Secret Key of the current mode is missing, the currency is not supported, or the total is zero or has more than 2 decimals), the order is cancelled, the cart is restored and the customer sees We could not start the CorvusPay payment. Please try again or choose another payment method. in the cart.

The order is confirmed only when CorvusPay returns the customer to the Success URL; there are no server-to-server notifications. If the customer closes the browser right after paying, the order stays in Pending Payment. Magento cancels orders that stay in Pending Payment longer than the Pending Payment Order Lifetime (Stores > Configuration > Sales > Sales > Orders Cron Settings); a cancellation in Magento also closes the open CorvusPay payment attempt of the order.

The module works with the standard Magento checkout. It has no refunds, captures or voids from Magento (the CorvusPay server API requires a client certificate), no saved cards, subscriptions, installments or on-site card form. CorvusPay is not offered for orders created in the Admin or for checkout with multiple addresses.

Orders

Order statuses

Pending Payment: the order was placed and the customer was sent to CorvusPay, but has not returned with a confirmed payment. There is no invoice. If the customer paid but did not return, check the payment in the CorvusPay Merchant Center and handle the order manually.

Processing, Complete or On Hold: the Sale payment was confirmed. The state follows Order Status After Payment. The invoice is created with the CorvusPay transaction ID or, if CorvusPay does not send one, the CorvusPay order number, by which the payment can be found in the Merchant Center. A note shows the CorvusPay order number, the approval code and the card type.

On Hold, authorized: Authorize only is selected. Magento records the authorization, but no invoice is created. Capture the payment in the CorvusPay Merchant Center, then click Unhold and create the invoice in Magento; it is recorded offline.

On Hold, amount or currency mismatch: the paid amount or currency does not match the order. No invoice is created. A note says Do NOT ship; verify the payment in the CorvusPay Merchant Center and refund it there if needed.

On Hold or Canceled, payment after cancellation: a successful payment arrived for a payment attempt that was cancelled, or for an order that was cancelled or changed manually. No invoice is created. A cancelled order is not reopened: it stays Canceled with a note; any other order is put On Hold with a note. Verify the payment in the Merchant Center, then fulfil the order or refund the payment there.

Canceled: the customer cancelled on the CorvusPay page, the payment could not be started, or the order was cancelled in Magento.

A repeated Success request for a payment that was already processed changes nothing. If another, different successful payment arrives for a cart that is already paid, the order is not changed and no second invoice is created. A note asks you to check the CorvusPay Merchant Center and refund the duplicate payment. The notes are order comments that the customer does not see.

CorvusPay payment information

On the admin order page (Sales > Orders > View) the payment information shows the payment method title and, when known, CorvusPay order number, CorvusPay status, CorvusPay transaction type, CorvusPay amount, CorvusPay approval code, CorvusPay transaction, CorvusPay card and CorvusPay mode (test or live). It is shown also when the module is disabled. The customer sees only the payment method title.

Refunds: refunds, captures and voids from Magento are not supported. Do them in the CorvusPay Merchant Center. To record a refund in Magento, create a credit memo with Refund Offline.

License key

The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox CorvusPay Gateway is the first row of the VibeFox CorvusPay Gateway group in Stores > Configuration > Sales > Payment Methods (Default Config scope), above the settings. Paste the key into License key and click Activate. After that the block shows the key masked, the status (for example the date the license is active until and your domain) and the buttons Check now to check the status again, Change key to enter another key and Remove key to remove the key from this store. Below them are the line Product: magento-payment-corvuspay and the link Manage licenses and domains in your account, which opens your vibefox.net account. Only Admin users whose role allows the Payment Methods configuration section can change the key. The texts of the block follow the Admin interface locale (English and Russian are included).

If the key is not accepted, the block says why, for example Key not found, This key belongs to another product, Domain limit reached or License expired on a date. After the store address changes, or after you free a domain slot in your account, click Check now. If the license server cannot be reached, the module keeps working on the last known status.

One key works on one domain: the domain of the default store view, also when the installation has several websites or stores. Removing the key from the store does not free its domain slot. Free the slot in your vibefox.net account.

Without an active key, CorvusPay is not shown to customers at checkout. If a payment is started anyway, the order is cancelled, the cart is restored and the customer sees We could not start the CorvusPay payment. Please try again or choose another payment method. The Magento storefront does not know that you are logged in to the Admin, so the payment method is hidden for you too: you can set up the module before you buy a key, but not test it at checkout. A reminder appears in the System Messages of the Admin, with the links Enter the license key and Dismiss, which hides it for 7 days. Existing orders are not affected: payments already started are still confirmed when the customer returns from CorvusPay.

When a license expires, the module keeps working, but updates and support need a renewal. The status is checked again automatically: once a day for the first 14 days after the key is entered, then once a week, by the Magento cron and while you work in the Admin. Uninstalling the module with its data always removes the license key and license status.

Troubleshooting

CorvusPay does not appear at checkout: check that the license is active and Enable is Yes for the website of the store, and that the Store ID and Secret Key of the current mode are filled in (Test Store ID and Test Secret Key in test mode, Live Store ID and Live Secret Key in live mode). Check that the cart currency is supported by CorvusPay and the total is greater than zero. Check Payment from Applicable Countries and Payment from Specific Countries against the customer's billing address, and Minimum Order Total and Maximum Order Total.

The payment went through, but the order stays Pending Payment: the Success URL is probably not entered in the CorvusPay Merchant Center, or the Secret Key in Magento does not match the store. Look for CorvusPay Success URL rejected in the Debug log row on the settings page (errors are always logged). The order also stays in Pending Payment if the customer closed the browser before returning; then check the payment in the Merchant Center.

The customer sees Payment not confirmed: the Success URL request was rejected: required fields were missing, the CorvusPay order number was not issued by this store, the Secret Key of that store is empty or the signature did not match. Nothing is changed. The log shows the reason.

The customer sees Your CorvusPay payment is being confirmed for a long time: the payment could not be confirmed, for example because another request held the same cart or an error occurred while the order was updated. The log shows CorvusPay confirmation failed; check the payment in the Merchant Center.

The customer is back in the cart with We could not start the CorvusPay payment: the module is disabled, the Store ID or Secret Key of the current mode is missing, the license is not active, the order currency is not supported or the total is zero or has more than 2 decimals. The order of that attempt is cancelled.

Success URL or Cancel URL fails while the store is in maintenance mode: Magento maintenance mode closes the whole site, these URLs too. The order stays in Pending Payment; check the payment in the Merchant Center.

The order is On Hold: read the notes of the order. Authorize only is selected, the paid amount or currency did not match the order, the payment arrived after a cancellation, or Order Status After Payment is set to On Hold.

The settings page or the checkout looks unchanged after installing or updating: run bin/magento setup:upgrade and bin/magento cache:flush; in production mode also setup:di:compile and setup:static-content:deploy.

Uninstall

Deleting the module code alone removes nothing from the database: the license key and the settings stay. To remove the data, uninstall the module with the Magento command:

Installed with Composer: run bin/magento module:uninstall --remove-data Vibefox_CorvuspayPayment. It removes the data and the code.

Installed in app/code: run bin/magento module:uninstall --non-composer Vibefox_CorvuspayPayment to remove the data, then bin/magento module:disable Vibefox_CorvuspayPayment, delete the folder app/code/Vibefox/CorvuspayPayment and run bin/magento setup:upgrade.

The license key and license status are always removed. If Remove data on uninstall is Yes, the module settings of all scopes and the log are removed too. If it is No, the settings are kept for a re-install. The table with the CorvusPay payment attempts is always kept, so the CorvusPay details of old orders come back after a re-install. Existing orders keep their invoices, payment notes and transaction IDs.

CorvusPay is a trademark of its respective owner. This module is not affiliated with or endorsed by CorvusPay.