本项目聚焦于提供一个基于Anthropic MCP框架的Daraja接口实现,可与Safaricom的M - Pesa API开展交互。借助调用特定工具或使用提供的提示,用户能够轻松完成各类支付操作,满足多样化的支付需求。
该项目主要功能包括生成访问令牌,同时还有一些待实现的未来功能,如stk_push、查询交易状态等。用户可通过调用特定工具或使用提供的提示来完成各种支付操作。
文档未提及安装步骤,暂不提供。
# 生成访问令牌示例
token = get_access_token()
print(f"Generated access token: {token}")
# 使用工作流处理文档示例
workflow_id = "your_workflow_id"
doc_content = "待处理的文档内容"
result = process_document(workflow_id, doc_content)
print(f"Document processing result: {result}")
文档未提及高级用法相关代码,暂不提供。
发起M - Pesa STK推送请求,要求客户在手机上授权付款。
输入参数:
amount (int): 需要支付的金额phone_number (int): 客户的电话号码返回值: JSON格式的M - PESA API响应结果
生成用于支付请求的QR码,客户可以扫描该二维码完成付款。
输入参数:
merchant_name (str): 商家名称/ M - Pesa商家名称transaction_reference_no (str): 交易参考号amount (int): 销售/交易总金额transaction_type (Literal["BG", "WA", "PB", "SM", "SB"]): 交易类型credit_party_identifier (str): 付款方标识(移动电话号码、企业电话号码、代理收银机、Paybill、或商家购买商品)返回值: JSON格式的M - PESA API响应结果,包含二维码数据
生成用于发起M - Pesa STK推送付款请求的提示信息。
输入参数:
phone_number (str): 客户的电话号码amount (int): 需要支付的金额purpose (str): 支付目的返回值: 格式化的STK推送请求提示字符串
生成用于创建M - Pesa QR码付款请求的提示信息。
输入参数:
merchant_name (str): 商家名称amount (int): 需要支付的金额transaction_type (str): 交易类型(BG表示购买商品,WA表示钱包,PB表示Paybill,SM表示发送到个人,SB表示发送到企业)identifier (str): 收款人标识(电话号码、企业号码、代理收银机、Paybill、或商家BuyGoods)reference (str, optional): 交易参考号。如果未提供,默认生成。返回值: 格式化的QR码生成提示字符串
创建一个从数据源到无结构服务器的连接器,用于数据处理。
输入参数:
connector_name (str): 要创建的数据源连接器名称返回值: 包含名称和ID的源连接器详细信息
创建一个从无结构服务器到目标存储位置的连接器。
输入参数:
connector_name (str): 要创建的目的地连接器名称返回值: 包含名称和ID的目标连接器详细信息
创建一个处理数据从源连接器流向目的连接器的工作流。
输入参数:
workflow_name (str): 工作流的名称source_connector_id (str): 源连接器的唯一标识符destination_connector_id (str): 目标连接器的唯一标识符返回值: 包含工作流ID和状态(成功或失败)的结果
删除指定ID的工作流。
输入参数:
workflow_id (str): 要删除的工作流的唯一标识符返回值: 删除操作的状态信息
使用工作流处理文档。
输入参数:
workflow_id (str): 用于处理文档的工作流IDdocument_content (str): 待处理的文档内容返回值: 包含处理结果的状态信息
所有API调用均返回JSON对象,如下所示:
{
"status": "success", // 状态:成功或失败
"message": "操作完成。", // 操作提示信息
"data": {} // 存储具体数据的字段
}
如果发生错误,API将返回包含错误详细信息的状态码和消息。
本项目采用MIT License协议。
通过该项目,用户可以方便地与Safaricom的M - Pesa服务进行集成,并实现多种支付功能。