Token导航 LogoToken导航TokenDH.com
Satim Payment Gateway MCP logo
金融服务stdio官方级别未说明来源级核验

Satim Payment Gateway MCP

MCP Server

tsx

一个用于与阿尔及利亚SATIM支付网关系统集成的MCP服务器,提供处理CIB/Edhahabia卡支付的结构化接口,适用于电子商务平台和AI助手。

工具数

0

提示词数

0

GitHub Stars

15

资源数

0
支付处理JavaScriptClaude电子商务Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

zakblacki

提供方

zakblacki

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx tsx satim-mcp-server.ts

详细介绍

显然,您应该已经创建了一个帐户,并正在从这里获取凭据:https://cibweb.dz/fr/login

Satim支付网关集成

用于与阿尔及利亚SATIM支付网关系统集成的模型上下文协议(MCP)服务器。该服务器提供了一个结构化接口,用于通过SATIM ePAY平台处理CIB/Edhahabia卡支付。该软件包使Cursor、Claude和Copilot等AI助手能够通过标准化的界面直接访问您的帐户数据。

更多详情: https://code2tutorial.com/tutorial/6b3a062c-3a34-4716-830e-8793a5378bcc/index.md

快速开始

# Clone the repository
git clone https://github.com/zakblacki/Satim-Payment-Gateway-Integration.git
cd satim-payment-gateway-integration

# Install dependencies
npm install

# Run the server
npx tsx satim-mcp-server.ts
or
npm run dev

# Demo 
Launch index.html

image

目录

  1. 安装
  2. 配置
  3. 付款流程
  4. 工具
  5. 测试
  6. 集成要求
  7. 错误处理
  8. 例子
  9. 安全考虑

安装

先决条件

  • Node.js 18+
  • npm或纱线

逐步设置

  1. 克隆并输入项目目录:
git clone https://github.com/zakblacki/Satim-Payment-Gateway-Integration.git
cd satim-payment-gateway-integration
  1. 初始化项目(如果package.json不存在):
npm init -y
  1. 为ES模块配置package.json:
npm pkg set type=module
  1. 安装依赖项:
# Core dependencies
npm install @modelcontextprotocol/sdk axios

# Development dependencies
npm install --save-dev typescript @types/node tsx

运行服务器

选项1:使用tsx直接执行(建议用于开发)

npx tsx satim-mcp-server.ts

选项2:编译并运行

# Compile TypeScript
npm run build

# Run compiled JavaScript
npm start

选项3:自动重新加载的开发模式

npm run dev

配置

MCP客户端配置

要将此服务器与MCP客户端(如Claude Desktop)一起使用,请添加到您的配置中:

{
  "mcpServers": {
      "satim-payment": {
       "command": "npx",
       "args": ["@devqxi/satim-payment-gateway-mcp"],
       "env": {
        "SATIM_USERNAME": "your_test_username",
        "SATIM_PASSWORD": "your_test_password",
        "NODE_ENV": "development"
      }
    }
  }
}

初始设置

在使用任何支付工具之前,请配置您的SATIM凭据:

// Configure credentials
await mcp.callTool("configure_credentials", {
  userName: "your_merchant_username",
  password: "your_merchant_password"
});

环境变量

对于生产,考虑使用环境变量:

SATIM_USERNAME=your_merchant_username
SATIM_PASSWORD=your_merchant_password
SATIM_TERMINAL_ID=your_terminal_id
SATIM_BASE_URL=https://test.satim.dz/payment/rest  # or https://satim.dz/payment/rest for production

付款流程

完整的付款流程遵循以下步骤:

1.订单登记

const registrationResult = await mcp.callTool("register_order", {
  orderNumber: "ORDER_001_2024",
  amountInDA: 1500.50,  // Amount in Algerian Dinars
  returnUrl: "https://yoursite.com/payment/success",
  failUrl: "https://yoursite.com/payment/failure",
  force_terminal_id: "E005005097",
  udf1: "merchant_ref_123",
  language: "FR"
});

// Response includes orderId and formUrl
// Redirect customer to formUrl for payment

2.客户付款

  • 客户在SATIM表格上填写CIB/Edhahabia卡详细信息
  • 客户被重定向回您的returnUrl/failUrl

3.订单确认

const confirmResult = await mcp.callTool("confirm_order", {
  orderId: "received_order_id",
  language: "FR"
});

// Validate the response
const validation = await mcp.callTool("validate_payment_response", {
  response: confirmResult
});

4.显示结果

根据验证结果,向客户显示适当的消息。

工具

配置证书

配置SATIM网关凭据。

参数:

  • userName (字符串,必填):商户登录
  • password (字符串,必填):商户密码

注册_订购

注册新的付款订单。

参数:

  • orderNumber (字符串,必填):唯一订单标识符
  • amountInDA (数字,必填):金额以阿尔及利亚第纳尔计(最低:50 DA)
  • returnUrl (字符串,必填):成功重定向URL
  • failUrl (字符串,可选):重定向URL失败
  • force_terminal_id (字符串,必填):银行分配的终端ID
  • udf1 (字符串,必填):SATIM特定参数
  • currency (字符串,可选):货币代码(DZD默认为“012”)
  • language (字符串,可选):接口语言(“AR”、“FR”、“EN”)
  • description (字符串,可选):订单描述
  • udf2-udf5 (字符串,可选):其他参数

答复:

{
  "orderId": "123456789AZERTYUIOPL",
  "formUrl": "https://test.satim.dz/payment/merchants/merchant1/payment_fr.html?mdOrder=123456789AZERTYUIOPL"
}

确认订单

尝试付款后确认订单状态。

参数:

  • orderId (字符串,必填):注册时的订单ID
  • language (字符串,可选):响应语言

答复:

{
  "orderNumber": "ORDER_001_2024",
  "actionCode": 0,
  "actionCodeDescription": "Votre paiement a été accepté",
  "amount": 150050,
  "errorCode": "0",
  "orderStatus": 2,
  "approvalCode": "303004",
  "params": {
    "respCode": "00",
    "respCode_desc": "Votre paiement a été accepté"
  }
}

退款订单

处理已完成订单的退款。

参数:

  • orderId (字符串,必填):要退款的订单ID
  • amountInDA (数字,必填):DA中的退款金额
  • currency (字符串,可选):货币代码
  • language (字符串,可选):响应语言

答复:

{
  "errorCode": 0
}

validate_payment_response

验证和解释付款响应。

参数:

  • response (对象,必填):订单确认响应

答复:

{
  "status": "ACCEPTED",
  "displayMessage": "Votre paiement a été accepté",
  "shouldShowContactInfo": false,
  "contactNumber": "3020 3020"
}

测试

方法1:快速测试

创建一个简单的测试文件 test-simple.js:

import { spawn } from 'child_process';

// Start the MCP server
const server = spawn('npx', ['tsx', 'satim-mcp-server.ts'], {
  stdio: ['pipe', 'pipe', 'inherit']
});

console.log('SATIM MCP Server started for testing');

// Let it run for a few seconds then exit
setTimeout(() => {
  server.kill();
  console.log('Test completed');
}, 5000);

运行方式:

node test-simple.js

方法2:完全集成测试

创建 test-client.ts 按照文档中的示例,然后运行:

npm run test

方法3:用于API测试的HTTP包装器

使用文档中提供的HTTP包装示例来创建RESTneneneba API端点,以便使用Postman或curl等工具进行更轻松的测试。

故障排除

常见问题及解决方法

  1. “不能在模块外使用import语句”
   # Make sure package.json has "type": "module"
   npm pkg set type=module
  1. “找不到模块”错误
   # Reinstall dependencies
   rm -rf node_modules package-lock.json
   npm install
  1. TypeScript编译错误
   # Check tsconfig.json configuration
   # Make sure all dependencies are installed
   npm install --save-dev @types/node
  1. 服务器连接问题
   # Check if server is running
   ps aux | grep tsx

   # Check for port conflicts
   lsof -i :3000  # if using HTTP wrapper

调试模式

启用调试日志记录:

DEBUG=true npx tsx satim-mcp-server.ts

集成要求

SSL安全

  • 强制性的:您的网站必须具有SSL证书
  • 所有API调用都必须使用HTTPS

用户界面要求

付款页面

  • 突出显示最终金额(粗体,大字体)
  • 包含验证码以防止自动提交
  • 在付款按钮上显示CIB徽标
  • 显示带有客户确认的条款和条件
  • 在独立浏览器窗口中重定向到SATIM页面

成功页面显示

对于已接受的付款,请显示:

  • 交易信息(respCode_desc)
  • 交易ID(orderId)
  • 订单号(orderNumber)
  • 授权码(approvalCode)
  • 交易日期/时间
  • 付款金额(币种)
  • 付款方式(CIB/Edhahabia)
  • SATIM联系人:3020 3020

成功页面操作

  • 打印收据选项
  • 下载PDF收据
  • 将PDF回执通过电子邮件发送给第三方

拒绝页面

  • 以三种语言显示拒绝消息
  • 显示SATIM联系信息

金额处理

发送给SATIM时,金额必须乘以100:

  • 50.00天→ 发送5000
  • 806.50天→ 发送80650

MCP服务器自动处理此转换。

错误处理

订单注册错误

  • 无效凭证
  • 重复的订单号
  • 无效金额(\ {

try { // Test connection to SATIM const response = await axios.get(${SATIM_BASE_URL}/health); res.json({ status: 'healthy', satim: 'connected' }); } catch (error) { res.status(503).json({ status: 'unhealthy', error: error.message }); } });


## 支持和联系

- **SATIM支持**:3020 3020(免费电话)
- **技术问题**:联系您的集成专家
- **文档**:请参阅官方SATIM集成指南

______________________________________________________________________

*此MCP服务器实现遵循SATIM的官方API规范,并包括阿尔及利亚电子商务平台所需的所有集成点。*

目录标签

目录标签

支付处理JavaScriptClaude电子商务本地部署网关集成金融科技阿尔及利亚支付

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

tsx

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP