Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9fa888b05 | ||
|
|
ace91cc127 | ||
|
|
58068f06af | ||
|
|
9af7e32aff |
@@ -25,6 +25,7 @@ const (
|
||||
// LKL_ACCOUNT_WITHDRAW_URL 拉卡拉账户提现
|
||||
LKL_ACCOUNT_WITHDRAW_URL = "/v2/laep/industry/ewalletWithdrawD1"
|
||||
LKL_SPLIT_LEDGER_RESULT_QUERY_URL = "/v3/sacs/query_plus"
|
||||
LKL_SPLIT_LEDGER_FALLBACK_URL = "/v3/sacs/fallback"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -158,6 +158,11 @@ func (s *SDK[T]) OrderSplitLedgerResultQuery(req *model.OrderSplitLedgerResultQu
|
||||
return s.SplitLedger.OrderSplitLedgerResultQuery(req)
|
||||
}
|
||||
|
||||
// OrderSplitLedgerFallback 订单分账回退
|
||||
func (s *SDK[T]) OrderSplitLedgerFallback(req *model.OrderSplitLedgerFallbackReqData) (*T, error) {
|
||||
return s.SplitLedger.OrderSplitLedgerFallback(req)
|
||||
}
|
||||
|
||||
// TradeQuery 交易查询
|
||||
func (s *SDK[T]) TradeQuery(req *model.TradeQueryReqData) (*T, error) {
|
||||
return s.Trade.TradeQuery(req)
|
||||
|
||||
@@ -156,3 +156,22 @@ func (s *SplitLedgerService[T]) OrderSplitLedgerResultQuery(req *model.OrderSpli
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
|
||||
func (s *SplitLedgerService[T]) OrderSplitLedgerFallback(req *model.OrderSplitLedgerFallbackReqData) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_URL + consts.LKL_SPLIT_LEDGER_FALLBACK_URL
|
||||
|
||||
// 构建BaseModel请求
|
||||
baseReq := model.OrderSplitLedgerFallbackRequest{
|
||||
ReqTime: time.Now().Format("20060102150405"),
|
||||
Version: "3.0",
|
||||
ReqData: req,
|
||||
}
|
||||
|
||||
// 发送请求
|
||||
respBody, err := s.client.DoRequest(url, baseReq)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return respBody, nil
|
||||
}
|
||||
|
||||
+10
-10
@@ -35,30 +35,30 @@ type BalanceQueryReqData struct {
|
||||
// 包含响应状态码、消息和业务数据
|
||||
type BalanceQueryResponse struct {
|
||||
// 响应状态码,000000
|
||||
Code string `json:"code"`
|
||||
Code string `json:"retCode"`
|
||||
// 响应消息
|
||||
Msg string `json:"msg"`
|
||||
Msg string `json:"retMsg"`
|
||||
// 响应业务数据,当code为SACS0000时返回
|
||||
RespData *BalanceQueryRespData `json:"resp_data"`
|
||||
RespData *BalanceQueryRespData `json:"respData"`
|
||||
}
|
||||
|
||||
// BalanceQueryRespData 余额查询响应业务数据结构体
|
||||
// 包含余额查询返回的具体账户信息
|
||||
type BalanceQueryRespData struct {
|
||||
// 账号,必传
|
||||
PayNo string `json:"pay_no"`
|
||||
PayNo string `json:"payNo"`
|
||||
// 账户类型,必传
|
||||
PayType string `json:"pay_type"`
|
||||
PayType string `json:"payType"`
|
||||
// 账户状态,必传,取值说明:CLOSE销户,NORMAL正常,FREEZE冻结,STOPAY止付
|
||||
AcctSt string `json:"acct_st"`
|
||||
AcctSt string `json:"acctSt"`
|
||||
// 预付余额(单位元),必传
|
||||
ForceBalance string `json:"force_balance"`
|
||||
ForceBalance string `json:"forceBalance"`
|
||||
// 上日余额(单位元)-该字段已废弃使用,必传
|
||||
HisBalance string `json:"his_balance"`
|
||||
HisBalance string `json:"hisBalance"`
|
||||
// 实时余额(单位元),必传
|
||||
ReBalance string `json:"re_balance"`
|
||||
ReBalance string `json:"reBalance"`
|
||||
// 当前可用余额(单位元),必传
|
||||
CuBalance string `json:"cu_balance"`
|
||||
CuBalance string `json:"cuBalance"`
|
||||
}
|
||||
|
||||
// SuccessOrFail 判断余额查询请求是否成功
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package model
|
||||
|
||||
type OrderSplitLedgerFallbackRequest struct {
|
||||
ReqData *OrderSplitLedgerFallbackReqData `json:"req_data"` // 请求业务数据
|
||||
Version string `json:"version"` // 接口版本号
|
||||
ReqTime string `json:"req_time"` // 请求时间,格式为yyyyMMddHHmmss
|
||||
}
|
||||
|
||||
type OrderSplitLedgerFallbackReqData struct {
|
||||
MerchantNo string `json:"merchant_no"` // 商户号,必传,长度32
|
||||
OriginSeparateNo string `json:"origin_separate_no"` // 原分账单号,必传,长度32
|
||||
OutSeparateNo string `json:"out_separate_no"` // 外部分账单号,必传,长度32
|
||||
OriginOutSeparateNo string `json:"origin_out_separate_no"` // 原外部分账单号,必传,长度32
|
||||
FallbackReason string `json:"fallback_reason"` // 回退原因,必传,长度255
|
||||
TotalAmt string `json:"total_amt"` // 总金额,必传,长度15
|
||||
OriginRecvDatas []*OrderSplitLedgerOriginRecvDatas `json:"origin_recv_datas"` // 原分账接收数据,必传,数组长度1-100
|
||||
}
|
||||
|
||||
type OrderSplitLedgerOriginRecvDatas struct {
|
||||
RecvNo string `json:"recv_no"` // 原分账接收号,必传,长度32
|
||||
Amt string `json:"amt"` // 原分账接收金额,必传,长度15
|
||||
}
|
||||
|
||||
type OrderSplitLedgerFallbackResponse struct {
|
||||
Msg string `json:"msg"` // 消息
|
||||
RespTime string `json:"resp_time"` // 响应时间
|
||||
Code string `json:"code"` // 响应码 SACS0000表示成功
|
||||
RespData struct {
|
||||
OutSeparateNo string `json:"out_separate_no"` // 外部分账单号,必传,长度32
|
||||
TotalAmt string `json:"total_amt"` // 总金额,必传,长度15
|
||||
OriginOutSeparateNo string `json:"origin_out_separate_no"` // 原外部分账单号,必传,长度32
|
||||
OriginSeparateNo string `json:"origin_separate_no"` // 原分账单号,必传,长度32
|
||||
Status string `json:"status"` // 状态,必传,长度1
|
||||
SeparateNo string `json:"separate_no"` // 分账单号,必传,长度32
|
||||
}
|
||||
}
|
||||
|
||||
func (s *OrderSplitLedgerFallbackResponse) SuccessOrFail() bool {
|
||||
return s.Code == "SACS0000"
|
||||
}
|
||||
@@ -27,6 +27,7 @@ type PreorderReqData struct {
|
||||
Location string `json:"location"` // 纬度,经度,商户终端的地理位置,银联二维码交易必填,整体格式:纬度,经度,+表示北纬、东经,-表示南纬、西经。经度格式:1位正负号+3位整数+1位小数点+5位小数;纬度格式:1位正负号+2位整数+1位小数点+6位小数;举例:+31.221345,+121.12345,String(32)
|
||||
} `json:"location_info"` // 地址位置信息,Object
|
||||
Subject string `json:"subject"` // 订单标题,用于简单描述订单或商品主题,传输给账户端(账户端控制,实际最多42个字节),微信支付必送,String(42)
|
||||
AccBusiFields *AccBusiFields `json:"acc_busi_fields"` // 账户业务字段,Object
|
||||
}
|
||||
|
||||
func NewPreorder(param *PreorderReqData) *Preorder {
|
||||
|
||||
+1
-1
@@ -70,5 +70,5 @@ type RefundRespData struct {
|
||||
|
||||
// SuccessOrFail 判断退款交易是否成功
|
||||
func (r *RefundResponse) SuccessOrFail() bool {
|
||||
return r.Code == "000000"
|
||||
return r.Code == "BBS00000"
|
||||
}
|
||||
|
||||
+1
-1
@@ -69,5 +69,5 @@ type TradeQueryResponse struct {
|
||||
}
|
||||
|
||||
func (t *TradeQueryResponse) SuccessOrFail() bool {
|
||||
return t.Code == "000000"
|
||||
return t.Code == "BBS00000"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user