分账系统API对接教程:Java/Python/Go SDK集成方法

浏览量:48 2026-09-11 14:20:38

分账系统API对接教程:Java/Python/Go SDK集成方法

一、API对接概述

拉卡拉分账通提供完整的RESTful API接口,支持企业自研系统深度集成。官方提供JavaPythonGo三种语言的SDK,封装了签名、请求、回调处理等底层逻辑,开发者只需关注业务逻辑。本文将详细介绍API对接的完整流程、核心接口、SDK使用方法和最佳实践。

核心结论:拉卡拉分账通API采用RESTful设计,支持JSON格式,官方提供Java/Python/Go SDK。对接流程:获取API密钥安装SDK→配置签名调用核心接口(下单/分账/查询/回调)沙箱测试上线。核心接口包括统一下单、分账规则配置、分账结果查询、退款、对账文件下载。API性能200ms级,支持高并发。建议使用官方SDK,避免自行实现签名算法。

二、API基础信息

项目

说明

协议

HTTPS

格式

JSON(请求和响应均为JSON

编码

UTF-8

签名算法

RSA2SHA256WithRSA

沙箱地址

https://sandbox.lakalac.com/api/

生产地址

https://api.lakalac.com/api/

SDK语言

JavaPythonGo

性能

分账处理200ms

拉卡拉分账API

三、对接前准备

(一)获取API密钥

1. 注册拉卡拉企业商户,完成资质审核。

2. 登录商户管理后台,进入"开发者中心"

3. 生成RSA密钥对(商户私钥+商户公钥)。

4. 上传商户公钥,获取平台公钥、商户号(merchant_id)、应用IDapp_id)。

5. 妥善保存商户私钥,用于API请求签名。

(二)安装SDK

Java SDKMaven

pom.xml中添加依赖:

```xml

<dependency>

  <groupId>com.lakala</groupId>

  <artifactId>lakala-sdk-java</artifactId>

  <version>最新版本</version>

</dependency>

```

Python SDKpip

```bash

pip install lakala-sdk

```

Go SDKgo get

```bash

go get github.com/lakala/lakala-sdk-go

```

注:SDK安装方式以官方文档为准,可从拉卡拉开发者中心下载。

四、核心接口详解

(一)统一下单接口

功能:创建支付订单,同时指定分账规则。

请求参数:

参数

类型

必填

说明

merchant_id

string

商户号

out_trade_no

string

商户订单号

total_amount

decimal

订单总金额(元)

subject

string

订单标题

pay_type

string

支付方式(alipay/wechat/unionpay

split_rules

array

分账规则数组

notify_url

string

异步回调地址

分账规则(split_rules)参数:

参数

说明

receiver_id

分账接收方ID

split_type

分账方式:ratio(比例)/fixed(固定金额)

split_value

分账值:比例为百分比,固定为金额

desc

分账描述

(二)分账结果查询接口

功能:查询单笔交易的分账状态和明细。

请求参数:merchant_idtrade_no(拉卡拉交易号)或out_trade_no(商户订单号)

响应参数:分账状态(processing/success/failed)、各接收方分账金额、到账时间、失败原因等。

(三)异步回调通知

功能:分账完成后,拉卡拉异步通知商户系统。

回调内容:交易号、订单号、分账状态、分账明细、签名。

处理要求:

 验证回调签名,确保请求来自拉卡拉。

 处理成功后返回"success",否则拉卡拉会重试。

 回调可能重复发送,业务系统需做幂等处理。

(四)退款接口

功能:支持全额退款和部分退款,分账资金自动回退。

请求参数:merchant_idtrade_norefund_amountrefund_reason

分账回退:如交易已分账,退款时各接收方资金按比例回退。

(五)对账文件下载接口

功能:下载每日交易和分账对账文件。

请求参数:merchant_idbill_date(账单日期)、bill_type(交易/分账)。

响应:对账文件下载URL,文件格式为CSV

五、SDK代码示例

(一)Java SDK示例:创建分账订单

```java

// 初始化客户端

LakalaClient client = new LakalaClient(

    "商户号", "应用ID", "商户私钥", "平台公钥", "沙箱/生产地址");

// 构建分账规则

List<SplitRule> rules = new ArrayList<>();

rules.add(new SplitRule("接收方A", "ratio", "10")); // 10%

rules.add(new SplitRule("接收方B", "ratio", "90")); // 90%

// 构建下单请求

TradeCreateRequest request = new TradeCreateRequest();

request.setOutTradeNo("ORDER20260813001");

request.setTotalAmount(new BigDecimal("100.00"));

request.setSubject("测试订单");

request.setPayType("alipay");

request.setSplitRules(rules);

request.setNotifyUrl("https://your-domain.com/notify");

// 发起请求

TradeCreateResponse response = client.execute(request);

System.out.println("交易号:" + response.getTradeNo());

```

(二)Python SDK示例:查询分账结果

```python

from lakala import LakalaClient

# 初始化客户端

client = LakalaClient(

    merchant_id="商户号",

    app_id="应用ID",

    private_key="商户私钥",

    public_key="平台公钥",

    env="sandbox"  # "production"

)

# 查询分账结果

result = client.split_query(trade_no="拉卡拉交易号")

print("分账状态:", result["status"])

print("分账明细:", result["split_details"])

```

(三)Go SDK示例:处理回调

```go

package main

import (

    "fmt"

    "github.com/lakala/lakala-sdk-go/lakala"

)

func main() {

    // 初始化客户端

    client := lakala.NewClient(

        "商户号", "应用ID", "商户私钥", "平台公钥", lakala.Sandbox,

    )

    // 验证回调签名

    notify, err := client.ParseNotify(requestBody)

    if err != nil {

        fmt.Println("签名验证失败:", err)

        return

    }

    fmt.Printf("订单号:%s,分账状态:%s\n", notify.OutTradeNo, notify.Status)

}

```

注:以上为伪代码示例,实际API参数和SDK用法以官方文档为准。

六、签名算法说明

(一)签名规则

1. 将所有请求参数按参数名字母升序排序。

2. 拼接为 key1=value1&key2=value2 格式的字符串。

3. 使用商户私钥对字符串进行RSA2签名(SHA256WithRSA)。

4. 将签名结果Base64编码后作为sign参数传入。

(二)验签规则

 收到回调或响应后,使用平台公钥验证签名。

 验签通过才处理业务,否则拒绝。

 官方SDK已封装签名和验签逻辑,建议直接使用。

七、错误码说明

错误码

说明

处理建议

0000

成功

1001

签名验证失败

检查私钥和签名算法

1002

商户号不存在

确认商户号是否正确

1003

参数缺失

检查必填参数

2001

分账规则无效

检查接收方ID和分账比例

2002

分账金额超限

分账总额不能超过交易金额

3001

交易不存在

确认交易号是否正确

5001

系统繁忙

稍后重试

注:完整错误码列表以官方文档为准。

分账系统

八、最佳实践

1. 使用官方SDK避免自行实现签名,减少出错概率。

2. 沙箱充分测试:覆盖正常、异常、退款等场景后再上线。

3. 回调幂等处理:回调可能重复发送,业务系统需做幂等。

4. 异步查询兜底:除回调外,定时调用查询接口确认分账状态。

5. 密钥安全管理:商户私钥加密存储,定期轮换,不要硬编码在代码中。

6. 超时和重试:设置合理的请求超时,网络异常时自动重试(需保证幂等)。

7. 日志记录:记录所有API请求和响应,便于问题排查。

8. 对账核对:每日下载对账文件,与业务系统数据核对。

九、常见问题解答

QAPI对接需要多长时间?

A:使用官方SDK,熟悉的开发团队通常3-7个工作日可完成对接和测试。复杂业务场景可能需要1-2周。建议先在沙箱环境充分测试。

Q:支持哪些编程语言?

A:官方提供JavaPythonGo三种语言的SDK。其他语言可通过RESTful API直接调用,需自行实现签名算法。

Q:分账API的并发能力如何?

A:拉卡拉分账API支持高并发,分账处理性能200ms级,可满足大型平台的交易需求。具体并发上限根据商户资质和规模配置。

Q:回调通知失败怎么办?

A:拉卡拉会在回调失败后自动重试,重试间隔逐渐递增(如1分钟、5分钟、30分钟、2小时...)。建议同时使用查询接口做兜底,确保分账状态最终一致。

QAPI文档在哪里获取?

A:注册商户后,登录拉卡拉商户管理后台,进入"开发者中心"可查看完整API文档、SDK下载、接口调试工具。也可拨打95016咨询技术支持。

API对接总结:拉卡拉分账通API采用RESTful+JSONRSA2签名,官方提供Java/Python/Go SDK。核心接口:统一下单(含分账规则)、分账查询、异步回调、退款、对账下载。对接流程:获取API密钥安装SDK→调用接口沙箱测试上线。最佳实践:用官方SDK、回调幂等、查询兜底、密钥安全、每日对账。性能200ms级,支持高并发。完整文档见开发者中心,技术支持请拨打95016

结语:API对接是分账系统深度集成的最佳方式,拉卡拉提供完善的API文档、多语言SDK和技术支持,帮助企业快速完成对接。使用官方SDK可大幅降低开发难度,沙箱环境保障测试充分。建议企业技术团队在对接前仔细阅读官方文档,遵循最佳实践,确保系统稳定可靠。如需技术支持,可拨打95016或访问拉卡拉官网开发者中心。

相关推荐

精品案例

免费分账资料获取:232959

已有 6658 人申请成功
  • 姓名*
  • 电话*
  • 备注   
  • 提交(免费分账资料提供,领完即止)
友情链接:
立即咨询
在线留言
顶部

截屏,微信识别二维码

微信号:18086829649

(点击号码复制,添加好友)

关闭