@spreeloop/orange_money

中文文档
1.1.0发布于 2026/11/02MITTypeScriptCommonJS

一个橙钱api集成包

中文使用文档
文档目录13 节
  1. 功能
  2. 安装
  3. 配置
  4. 运行测试
  5. 表内容
  6. 商人支付
  7. 生成访问令牌
  8. 生成pay-token
  9. 发起付款
  10. 获得橙钱支付状态
  11. 作者
  12. 🤝贡献
  13. 表达你的支持

欢迎来到@spreeloop/orange_money👋

Version License: MIT

Y-note Orange Money Node.js集成模块是一个强大的工具包 旨在简化Orange Money支付功能的整合 到Node.js应用中。该模块为开发人员提供了方便的 接口与Orange Money api交互,实现无缝支付 处理和事务管理。

功能

  • 轻松集成:简化了Orange Money支付的整合 功能到Node.js应用程序中。
  • 灵活的配置允许开发者自定义支付方式 根据具体需求进行配置。
  • 全面的文档:提供全面的文档和 易于集成和使用的示例。
  • 支持多种环境:支持多个目标环境; 包括生产和测试环境。

安装

要安装Orange Money Node.js集成模块,只需将其添加到 你的Node.js项目使用npm:

npm install @spreeloop/orange_money

配置

在配置对象中提供端点url。对于付款,请设置 baseURL 到没有API路径的Orange Money API基础URL;包裹增加了付款 自动路径。对于支付,设置 baseURL 到支付API 基础URL和 baseURLToken 完整的访问令牌端点URL。你的 应用程序可以从自己的配置中获取这些值并对其进行更改 不更新此包。

运行测试

npm run test

表内容

import {OrangeMoneyPayment} from  @spreeloop/orange_money;

// Creates payment configuration
const config = {
  /** In test mode use the TargetEnvironment.fake that return static data since
    the y-note payment don't have the sandbox environment.
  */
  targetEnvironment: TargetEnvironment.prod,
  baseURL: 'https://api-s1.orange.cm',
  apiUserName: 'your_api_username',
  apiPassword: 'your_api_password',
  xAuthToken: 'your_x_auth_token',

// By default we use the 'console' to display the log but you can decide to 
// use your own custom log.
  logger: console,
};

const payment = OrangeMoneyPayment.createPayment(config);

对于支付,也包括可配置的API url:

const disbursementConfig = {
  // Other required disbursement credentials and configuration...
  baseURL: 'https://omapi.ynote.africa',
  baseURLToken: 'https://omapi-token.ynote.africa/oauth2/token',
};
  • 生成访问令牌

const accessTokenResponse = await payment.getAccessToken();
  • 生成pay-token

const payTokenResponse = await payment.getPayToken('your_access_token');
  • 发起付款

支付初始化取决于应用程序所依赖的平台 运行。此包只支持美元支付。

// Initialize Orange Money Payment
const initializationResponse = await payment.initializeOrangeMoneyPayment({
  description: 'Payment for goods',
  subscriberNumber: '696600011',
  channelUserNumber: '696600011',
  transactionId: '1234567890',
  amount: '1000',
  pinCode: '1234',
  notifUrl: 'https://yourdomain.com/payment/notify',
  payToken: 'your_pay_token',
  accessToken: 'your_access_token',
});

如果你想马上得到答案,总是设定一个正确的 notifUrl 端点链接。服务立即或1分钟后通知该url 接收客户端验证。
收到的回复如下:

{
    "payToken": "payToken",
    "status" : "status",
    "message" : "message"
}

注意:发起支付后,请求进入状态 EXPIRED 如果用户未在7分钟内验证或取消支付。

表达 是最流行的NPM之一吗 包来管理端点。

例子:

import * as express from 'express';

const app = express();
const expressRouter = express.Router;
const router = expressRouter();

appV1.use('/', router);

router.post('/orange_money/payment/:paymentId', (req, res) => {
  const body = req.body;
  ...
  /** 
   * Your code.......
    Before updating the payment in your system, retrieve the payment status
    by using getOrangeMoneyPaymentStatus function and compare the status 
    received with that sent to your endpoint. This is to ensure the consistency
    of your system.
  */
  ...

  return res.sendStatus(HttpStatusCode.Ok);
});

获得橙钱支付状态

// Get Orange Money Payment Status
const paymentStatusResponse = await payment.getOrangeMoneyPaymentStatus({
  payToken: 'your_pay_token',
  accessToken: 'your_access_token',
});

有时橙钱API不会通知你的端点url,所以我们建议 建立一个可以运行的系统 getOrangeMoneyPaymentStatus 每隔2分钟 取决于你的选择。


有关更多信息和详细的API文档,请参考 官方 商户支付文件


作者

👤 Spreeloop

🤝贡献

欢迎对Orange Money Node.js集成模块做出贡献! 请随意打开 问题 或者提交pull请求来贡献 本模块的开发。

表达你的支持

如果这个项目对你有帮助,给⭐️!

版本与发布记录

@spreeloop/orange_money 共发布 22 个版本,首次发布于 2024/02/22;过去 12 个月发布了 5 个版本。

版本发布日期距今
1.1.0latest2026/11/02今天
1.0.212026/10/286 天前
1.0.202026/04/166 个月前
1.0.192026/04/096 个月前
1.0.182025/12/2510 个月前
1.0.172025/09/251.1 年前

关于 @spreeloop/orange_money 的常见问题

@spreeloop/orange_money 是什么?

一个橙钱api集成包

如何安装 @spreeloop/orange_money?

在项目目录运行 npm install @spreeloop/orange_money,或使用 pnpm add / yarn add / bun add。

@spreeloop/orange_money 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@spreeloop/orange_money 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@spreeloop/orange_money 可以商用吗?

@spreeloop/orange_money 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@spreeloop/orange_money 还在维护吗?

最新版本 1.1.0 发布于 2026/11/02(今天);至今共发布 22 个版本,其中过去 12 个月发布了 5 个;首次发布于 2024/02/22。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。