Integrate cryptocurrency payments seamlessly into your OpenCart store with the SpectroCoin Crypto Payment Plugin. This extension facilitates the acceptance of a variety of cryptocurrencies, enhancing payment options for your customers. Easily configure and implement secure transactions for a streamlined payment process on your OpenCart website.
- Download latest release from github.
- From OpenCart admin dashboard navigate to "Extensions" -> "Installer".
- Upload the plugin zip "spectrocoin.ocmod.zip" file (zip file name is strict).
- Go to "Extensions" -> "Extensions". Choose "Payments" from the dropdown. Find "SpectroCoin" and click "Install".
- Click "Edit" to configure the plugin settings.
- Move to Setting up section.
- Sign up for a SpectroCoin Account.
- Log in to your SpectroCoin account.
- On the dashboard, locate the Business tab and click on it.
- Click on New project.
- Fill in the project details and select desired settings (settings can be changed).
- Click "Submit".
- Copy and paste the "Project id".
- Click on the user icon in the top right and navigate to Settings. Then click on API and choose Create New API.
- Add "API name", in scope groups select "View merchant preorders", "Create merchant preorders", "View merchant orders", "Create merchant orders", "Cancel merchant orders" and click "Create API".
- Copy and store "Client id" and "Client secret". Save the settings.
Note: Keep in mind that if you want to use the business services of SpectroCoin, your account has to be verified.
We gently suggest trying out the plugin in a server environment, as it will not be capable of receiving callbacks from SpectroCoin if it will be hosted on localhost. To successfully create an order on localhost for testing purposes, change these 3 lines in CreateOrderRequest.php:
$this->callbackUrl = isset($data['callbackUrl']) ? Utils::sanitizeUrl($data['callbackUrl']) : null;
,
$this->successUrl = isset($data['successUrl']) ? Utils::sanitizeUrl($data['successUrl']) : null;
,
$this->failureUrl = isset($data['failureUrl']) ? Utils::sanitizeUrl($data['failureUrl']) : null;
To
$this->callbackUrl = "https://localhost.com/";
,
$this->successUrl = "https://localhost.com/";
,
$this->failureUrl = "https://localhost.com/";
Don't forget to change it back when migrating website to public.
Order callbacks in the SpectroCoin plugin allow your WordPress site to automatically process order status changes sent from SpectroCoin. These callbacks notify your server when an order’s status transitions to PAID, EXPIRED, or FAILED. Understanding and testing this functionality ensures your store handles payments accurately and updates order statuses accordingly.
- Go to your SpectroCoin project settings and enable Test Mode.
- Simulate a payment status:
- PAID: Sends a callback to mark the order as Completed in WordPress.
- EXPIRED: Sends a callback to mark the order as Failed in WordPress.
- Ensure your
callbackUrl
is publicly accessible (local servers likelocalhost
will not work). - Check the Order History in SpectroCoin for callback details. If a callback fails, use the Retry button to resend it.
- Verify that:
- The order status in WordPress has been updated accordingly.
- The callback status in the SpectroCoin dashboard is
200 OK
.
This major update introduces several improvements, including enhanced security, updated coding standards, and a streamlined integration process. Important: Users must generate new API credentials (Client ID and Client Secret) in their SpectroCoin account settings to continue using the extension. The previous private key and merchant ID functionality have been deprecated.
Updated: Order creation API endpoint has been updated for enhanced performance and security.
Removed: Private key functionality and merchant ID requirement have been removed to streamline integration.
Added: OAuth functionality introduced for authentication, requiring Client ID and Client Secret for secure API access.
Added: API error logging and message displaying in order creation process.
Migrated: Since HTTPful is no longer maintained, we migrated to GuzzleHttp. In this case /vendor directory was added which contains GuzzleHttp dependencies.
Reworked: SpectroCoin callback handling was reworked. Added appropriate callback routing for success, fail and callback.
Updated: Instead of using outdated addOrderHistory for changing the order status, we now use the new addHistory method.
Updated Class and some method names have been updated based on PSR-12 standards.
Updated Composer class autoloading has been implemented.
Added Config.php file has been added to store plugin configuration.
Added Utils.php file has been added to store utility functions.
Added GenericError.php file has been added to handle generic errors.
Added Strict types have been added to all classes.
Updated Order creation API endpoint has been updated for enhanced performance and security.
Removed Private key functionality and merchant ID requirement have been removed to streamline integration.
Added OAuth functionality introduced for authentication, requiring Client ID and Client Secret for secure API access.
Added Enhanced the style of the admin's payment settings window to match the design of SpectroCoin.com, providing a more cohesive user experience.
Migrated Since HTTPful is no longer maintained, we migrated to GuzzleHttp. In this case /vendor directory was added which contains GuzzleHttp dependencies.
Added Settings field sanitization.
Added Settings field validation. In this case we minimized possible error count during checkout, SpectroCoin won't appear in checkout until settings validation is passed.
Added "spectrocoin_" prefix to functiton names.
Added "SpectroCoin_" prefix to class names.
Added Validation and Sanitization when request payload is created.
Added Validation and Sanitization when callback is received.
Added Components class "SpectroCoin_FormattingUtil" changed to "SpectroCoin_Utilities".
Added Appropriate error logging to OpenCart admin.
Added API error form.
Optimised: Removed the The whole $_REQUEST stack processing. Now only needed callback keys is being processed.
This client has been developed by SpectroCoin.com If you need any further support regarding our services you can contact us via:
E-mail: [email protected]
Skype: spectrocoin_merchant
Web
X (formerly Twitter)
Facebook