# @spreeloop/orange\_money 中文文档

规范地址：https://npmcn.com/package/%40spreeloop/orange_money/

版本：1\.1\.0
npm 元数据更新时间：2026-11-02T12:29:22.203Z
中文译文更新时间：2026-11-02T13:16:36.394Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40spreeloop/orange_money
原文对照：https://npmcn.com/package/%40spreeloop/orange_money/?lang=original
项目主页：https://github.com/spreeloop/core-ts/tree/master/orange_money
源码仓库：https://github.com/spreeloop/core-ts

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：281 kB，166 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2024-02-21T18:39:05.792Z
- 最新版本发布：2026-11-02T12:29:21.989Z
- 已发布版本数：22（近 12 个月 5 个）

## 中文简介

一个橙钱api集成包

## 安装

```sh
npm install @spreeloop/orange_money
```

也可以使用：`pnpm add @spreeloop/orange_money`、`yarn add @spreeloop/orange_money`、`bun add @spreeloop/orange_money`

## README

# 欢迎来到@spreeloop/orange\_money👋

 [![Version](https://img.shields.io/npm/v/@spreeloop/orange_money.svg)](https://www.npmjs.com/package/@spreeloop/orange_money)[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://npmcn.com/package/%40spreeloop/orange_money/#)

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

## 功能

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

## 安装

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

```bash
npm install @spreeloop/orange_money
```

## 配置

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

## 运行测试

```sh
npm run test
```

## 表内容

-   [商人支付](https://npmcn.com/package/%40spreeloop/orange_money/README.md#merchant-payment)
    
    1.  [生成访问令牌](https://npmcn.com/package/%40spreeloop/orange_money/README.md#generate-access-token)
    2.  [生成pay-token](https://npmcn.com/package/%40spreeloop/orange_money/README.md#generate-pay-token)
    3.  [发起付款](https://npmcn.com/package/%40spreeloop/orange_money/README.md#initiate-payment)
    4.  [获得橙钱支付状态](https://npmcn.com/package/%40spreeloop/orange_money/README.md#get-orange-money-payment-status)
-   ## 商人支付
    
    在调用任何支付函数之前，我们需要创建橙色货币 付款的实例。
    

```typescript
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：

```typescript
const disbursementConfig = {
  // Other required disbursement credentials and configuration...
  baseURL: 'https://omapi.ynote.africa',
  baseURLToken: 'https://omapi-token.ynote.africa/oauth2/token',
};
```

-   ### 生成访问令牌
    

```typescript
const accessTokenResponse = await payment.getAccessToken();
```

-   ### 生成pay-token
    

```typescript
const payTokenResponse = await payment.getPayToken('your_access_token');
```

-   ### 发起付款
    

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

```typescript
// 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 接收客户端验证。  
收到的回复如下：

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

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

[表达](https://expressjs.com/en/guide/routing.html) 是最流行的NPM之一吗 包来管理端点。

例子:

```typescript
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);
});
```

### 获得橙钱支付状态

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

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

* * *

有关更多信息和详细的API文档，请参考 官方 [商户支付文件](https://mega.nz/folder/83dCDKSK#LqI2j3Wgt6s9xJjtH5K9lA)

* * *

## 作者

👤 **Spreeloop**

-   网站:spreeloop.com
-   Github: [@spreeloop](https://github.com/spreeloop)

## 🤝贡献

欢迎对Orange Money Node.js集成模块做出贡献！ 请随意打开 [问题](https://github.com/spreeloop/core-ts/issues) 或者提交pull请求来贡献 本模块的开发。

## 表达你的支持

如果这个项目对你有帮助，给⭐️！

## 常见问题

### @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（1 天前）；至今共发布 22 个版本，其中过去 12 个月发布了 5 个；首次发布于 2024/02/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

