nativescript-mpesa
NativeScript 插件,用于通过 Mpesa 进行支付。
npm i --save nativescript-mpesa

NativeScript Mpesa

NativeScript-Mpesa 提供了一个包装器,可以将 Mpesa 支付集成到您的 {N} 应用程序中。集成是通过使用 Android M-Pesa Daraja SDK 库实现的。因此,完全支持 Android。

使用方法

设置

首先,将包导入到 main-page 的模型或 app.component 中,具体取决于 {N} Core 或 {N} w/ Angular

    import { Mpesa } from "nativescript-mpesa";

然后创建一个 Mpesa 实例。

     const mpesa = new Mpesa();

使用从 Safaricom 获取的 CustomerKey、CustomerSecret 和 Env 初始化实例

注意 Env 可以是 SANDBOXPRODUCTION

    mpesa.initialize(CONSUMER_KEY, CONSUMER_SECRET, Env)

进行支付

    const mpesa = new Mpesa();

const lnmExpress = {
BusinessShortCode: "174379",
PassKey: "bfb279f9aa9bdbcf158e97dd71a467cd2e0c893059b10f78e6b72ada1ed2c919",
Type: "CustomerPayBillOnline",
Amount: "100",
PartyA: "254708374149",
PartyB: "174379",
PhoneNumber: "254708374149",
CallBackURL: "http://mycallbackurl.com/checkout.php",
AccountReference: "001ABC",
TransactionDesc: "Goods Payment"
};
mpesa.initialize("dRSvS4nnTGU8vf1V8jUHfu9BW6AAxl83","WQFHurC4OsVBYJQt","SANDBOX").
then(res => {
console.log("access token", res);
this.mpesa.requestMPESAExpress(lnmExpress).then(
res => {
console.log("lnmResult", res);
},
err => {
console.log(err);
}
);
}, err => {
console.log("error", err);
});
}

Lipa na M-Pesa 在线支付 API

以下表格强调了 Daraja 所需的要求,如 Safaricom 开发者 API 页面所述 Safaricom Developer API 页面

名称 描述 参数类型 可能值
BusinessShortCode 用于接收交易的机构简码 数字 简码(6位数字)
Passkey Lipa Na Mpesa Online PassKey 字母数字
Amount 要交易的数量 数字 100
PartyA 发送资金的实体 数字 MSISDN(12位数字)
PartyB 接收资金的机构 数字 简码(6位数字)
PhoneNumber 发送资金的 MSISDN 数字 MSISDN(12位数字)
CallBackURL 回调 URL URL https://ip 或域名:端口/路径
AccountReference 账户参考 字母数字 字母和数字的任意组合
TransactionDesc 交易描述 字符串 少于20个字符的任何字符串

在此处获取 Pass Key: https://developer.safaricom.co.ke/test_credentials

响应签名

成功响应

   export interface LNMResult {
MerchantRequestID: string;
CheckoutRequestID: string;
ResponseCode: string;
ResponseDescription: string;
CustomerMessage: string;
}

许可证

Apache 许可证版本 2.0,2004 年 1 月