spectrocoin/drupal-merchant 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

spectrocoin/drupal-merchant

Composer 安装命令:

composer require spectrocoin/drupal-merchant

包简介

SpectroCoin cryptocurrency payment gateway for Drupal

README 文档

README

Drupal 9 supported Drupal 10 supported Drupal 11 supported

Integrate cryptocurrency payments seamlessly into your Drupal Commerce store with the SpectroCoin Crypto Payment Module. This module 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 Drupal website. Visit SpectroCoin Crypto Payment Module for Drupal to get started.

Installation

Drupal Commerce module has to be installed and enabled. If not yet installed follow this guide.

Via composer (recommended)

  1. Access your server or local terminal and navigate to Drupal project root directory (where composer.json is located).
  2. Run command:
composer require spectrocoin/drupal-merchant

By uploading module files via FTP

  1. Download latest release from github.
  2. Using FTP or file editor from Drupal root directory navigate to_/modules/contrib_ and extract modules files. Ensure that the module directory name is "commerce_spectrocoin".
  3. Unzip and place SpectroCoin module files.

Via drupal dashboard (Applicable only for Drupal versions 10 and lower)

  1. Download latest release from github.
  2. From Drupal admin dashboard navigate to Extend->Add new module -> upload module zip file.

Enabling module

  1. After the installation, from Drupal admin dashboard navigate to Commerce -> Configuration -> Payment gateways -> Add payment gateway.
  2. In Plugin section select SpectroCoin(Redirect to SpectroCoin).

Setting up

  1. Sign up for a SpectroCoin Account.
  2. Log in to your SpectroCoin account.
  3. On the dashboard, locate the Business tab and click on it.
  4. Click on New project.
  5. Fill in the project details and select desired settings (settings can be changed).
  6. Click "Submit".
  7. Copy and paste the "Project id".
  8. Click on the user icon in the top right and navigate to Settings. Then click on API and choose Create New API.
  9. 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".
  10. Copy and store "Client id" and "Client secret". Save the settings.

Test order creation on localhost

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.

Testing Callbacks

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.

  1. Go to your SpectroCoin project settings and enable Test Mode.
  2. 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.
  3. Ensure your callbackUrl is publicly accessible (local servers like localhost will not work).
  4. Check the Order History in SpectroCoin for callback details. If a callback fails, use the Retry button to resend it.
  5. Verify that:
    • The order status in WordPress has been updated accordingly.
    • The callback status in the SpectroCoin dashboard is 200 OK.

Changelog

1.1.0 (16/07/2025):

Added support for new JSON and old URL-encoded form data callbacks format. New callbacks will be automatically enabled with new SpectroCoin merchant projects created. With old projects, old callback format will be used. In the future versions old callback format will be removed.

1.0.0 (27/02/2025):

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 plugin. The previous private key and merchant ID functionality have been deprecated.

Updated Order callback and payment setting logic. Fixed routing to success page.

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 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.

Information

This client has been developed by SpectroCoin.com If you need any further support regarding our services you can contact us via:

E-mail: merchant@spectrocoin.com
Skype: spectrocoin_merchant
Web
X (formerly Twitter)
Facebook

spectrocoin/drupal-merchant 适用场景与选型建议

spectrocoin/drupal-merchant 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11 次下载、GitHub Stars 达 5, 最近一次更新时间为 2021 年 05 月 27 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「payment」 「gateway」 「drupal」 「merchant」 「bitcoin」 「btc」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 spectrocoin/drupal-merchant 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 spectrocoin/drupal-merchant 我们能提供哪些服务?
定制开发 / 二次开发

基于 spectrocoin/drupal-merchant 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 11
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 10
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 5
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2021-05-27