欢迎使用拉卡拉开放平台.NET SDK
为了帮助开发者快速接入拉卡拉开放平台,拉卡拉提供了DotNet SDK, 为各个合作伙伴的技术人员封装了请求的签名和响应的验签,简化了系统的开发工作。
获取 SDK
开发语言 | 资源下载 | 目标框架 |
dotNet | .NET SDK | net6.0 |
流程说明
Lakala DotSDK与拉卡拉开放平台交互处理流程如下:
针对以上处理流程,
1. 左侧为客户主动发起的Request-Response的流程:拉卡拉DotNet SDK封装请求加密(若需要)、加签,返回解签、解密。
2. 右侧为拉卡拉开放平台发起的通知的流程:拉卡拉DotNet SDK也封装了解析处理通知报文的类以及标准返回内容。
重点类以及方法说明
类名 | 说明 |
LakalaOpenConfig
| 全局配置类,其关键信息 AppId,//客户在拉卡拉开放平台侧的开立的AppId SerialNo,//客户的私钥的证书序列号 Sm4Key,//客户在拉卡拉开放平台侧生成的国密4的key PriPem,//客户的私钥证书String,与PriPemPath二选一 PriPemPath,//客户的私钥的文件地址,与PriPem二选一 PubCert,//拉卡拉的公钥证书String,与PubCertPath二选一 PubCertPath,//拉卡拉的公钥证书文件地址,与PubCert二选一 其中 1.客户的私钥的作用请求报文签名 2.拉卡拉的公钥证书返回报文验签 |
RequestConfig | 适用于单个请求的 ReqEncrpt:是否要对请求进行加密(SM4算法,密钥为LakalaOpenConfig的Sm4Key) RespDeccrpt:是否要对返回进行解密(SM4算法,密钥为LakalaOpenConfig的Sm4Key) |
LakalaOpenAPIPoster
| 调用拉卡拉开放平台的入口类,其中只有一个方PostRawAuthedAsync
该方法的请求入参分别为: body:请求json格式 url:具体的拉卡拉开放平台的接口。 requestConfig:单个请求的Config,参见RequestConfig说明
返回参数 Task<ILakalaResponse> 其中ILakalaResponse方法为 1. GRawText,返回的原始文本,正常情况使用该方法就可以获得返回json内容。 2. GetOriginHttpResonse,返回的原始HttpReponse。 |
LakalaNotifyParser
| 通知回调的验证类,客户处理流程 1. 客户接到拉卡拉通知回调之后使用该类对内容进行验证签名; 2. 签名验证通过之后,在进行业务处理; 3. 处理完成之后使用LakalaNotifyResponse封装数据返回给拉卡拉的平台 |
示例代码
public async void TestLakalaOpenAPIPosterAsync()
{
ServiceCollection services = new ServiceCollection();
services.AddHttpClient();
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddFilter("Microsoft", LogLevel.Warning)
.AddFilter("System", LogLevel.Warning)
.AddFilter("SampleApp.Program", LogLevel.Debug);
});
IHttpClientFactory factory = services
.BuildServiceProvider()
.GetRequiredService<IHttpClientFactory>();
LakalaOpenAPIPoster lakalaOpenAPIPoster=new LakalaOpenAPIPoster(loggerFactory,factory,config);
//这里的config就是LakalaOpenConfig,可按照测试环境要求配置。
string body=@"{""out_org_code"":""OP00000003"",""req_time"":""20250227222500"",""version"":""3.0"",""req_data"":{""merchant_no"":""822290059430BBW"",""term_no"":""D9257968"",""out_trade_no"":""25022713010000000000000000415033""}}";
string url="https://test.wsmsd.cn/sit"+"/api/v3/labs/query/tradequery";
ILakalaResponse response= await lakalaOpenAPIPoster.PostRawAuthedAsync(body,url,new RequestConfig());
Assert.True(response.GetOriginHttpResonse().StatusCode==HttpStatusCode.OK);
Console.WriteLine("------test---");
loggerFactory.CreateLogger("Test").LogInformation(response.GetRawText());
Console.WriteLine(response.GetRawText());
}复制FAQ&Tips(常见问题以及建议)
Q1:如何支持多个AppId
A1:可以创建多个LakalaOpenConfig,然后创建多个LakalaOpenAPIPoster实例
Q2:若需要反馈问题或者提供建议,是否有渠道。
A2:
2. 与具体的销售同学联系。

