diff --git a/platformapi/lakala/lakala_api.go b/platformapi/lakala/lakala_api.go index e7fc14ca..1bd8accb 100644 --- a/platformapi/lakala/lakala_api.go +++ b/platformapi/lakala/lakala_api.go @@ -56,7 +56,7 @@ func (a *API) AccessAPI(baseUrl, action, method string, pathParam string, bizPar func() *http.Request { var request *http.Request if http.MethodPost == method { - // 全路径请求参数 + // 全路径请求参数s fullURL := utils.GenerateGetURL(baseUrl, action, nil) request, _ = http.NewRequest(http.MethodPost, fullURL, strings.NewReader(utils.Map2URLValues(bizParams).Encode())) request.Header.Set("charset", "UTF-8") diff --git a/platformapi/lakala/lakala_pay_test.go b/platformapi/lakala/lakala_pay_test.go index 70bb7d81..ef7a3c1e 100644 --- a/platformapi/lakala/lakala_pay_test.go +++ b/platformapi/lakala/lakala_pay_test.go @@ -10,6 +10,7 @@ import ( "encoding/json" "encoding/pem" "fmt" + "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/globals" "testing" ) @@ -64,3 +65,9 @@ func TestPayStatusQuery(t *testing.T) { TradeNo: "", }) } + +func TestCardBin(t *testing.T) { + result, err := api.QueryCarBin(GetOrderNumber(8), "1", "4275711234554321") + globals.SugarLogger.Debugf("result := %s", utils.Format4Output(result, false)) + globals.SugarLogger.Debugf("result := %v", err) +} diff --git a/platformapi/lakala/lakala_separate_accounts.go b/platformapi/lakala/lakala_separate_accounts.go index ef892b52..b2933f3a 100644 --- a/platformapi/lakala/lakala_separate_accounts.go +++ b/platformapi/lakala/lakala_separate_accounts.go @@ -424,3 +424,50 @@ func (a *API) SeparateQueryAmt(merchantNo, logNo, logDate string) (*SeparateQuer return resp, err } + +// QueryCarBin 卡BIN查询 +func (a *API) QueryCarBin(orderNo, orgCode, cardNo string) (*BinInfo, error) { + reqData := map[string]string{ + "version": "1.0", + "orderNo": orderNo, + "orgCode": orgCode, + "cardNo": cardNo, + } + reqParameter := map[string]interface{}{ + "reqData": reqData, + "ver": Version, + "timestamp": utils.Int64ToStr(time.Now().Unix()), + "reqId": utils.GetUUID(), + } + result, err := a.AccessAPISign(SeparateAccountTestUrl, SeparateCardBinAction, http.MethodPost, "", reqParameter) + if err != nil { + return nil, err + } + + if result["retCode"].(string) != Success { + return nil, fmt.Errorf(result["retMsg"].(string)) + } + bodyResult, err := json.Marshal(result["respData"]) + if err != nil { + return nil, err + } + + resp := &BinInfo{} + if err = json.Unmarshal(bodyResult, resp); err != nil { + return nil, err + } + + return resp, err +} + +type BinInfo struct { + cardBin string `json:"cardBin"` // 卡bin + BankCode string `json:"bankCode"` // 开户行号 + OrderNo string `json:"orderNo"` // 订单号 + CardName string `json:"cardName"` // 卡种名称 + OrgCode string `json:"orgCode"` // 机构代码 + CardType string `json:"cardType"` // 银行卡类别 + BankName string `json:"bankName"` // 开户行名称 + ClearingBankCode string `json:"clearingBankCode"` // 清算行号 + CardNo string `json:"cardNo"` // 银行卡号 +} diff --git a/platformapi/lakala/lakala_separate_accounts_model.go b/platformapi/lakala/lakala_separate_accounts_model.go index b5d410fc..a78c6534 100644 --- a/platformapi/lakala/lakala_separate_accounts_model.go +++ b/platformapi/lakala/lakala_separate_accounts_model.go @@ -16,17 +16,18 @@ const ( // 分账前置 const ( - SeparateAccountTestUrl = "https://test.wsmsd.cn/sit/api/v2/mms/openApi/ledger" // 测试 - SeparateAccountProdUrl = "https://s2.lakala.com/api/v2/mms/openApi/ledger" // 生产 + SeparateAccountTestUrl = "https://test.wsmsd.cn/sit/api/v2/mms/openApi/" // 测试 + SeparateAccountProdUrl = "https://s2.lakala.com/api/v2/mms/openApi/" // 生产 - SeparateAccountApplyAction = "applyLedgerMer" // 商户申请开通分账 - SeparateAccountModifyAction = "modifyLedgerMer" // 商户变更申请开通分账 - SeparateAccountQueryAction = "queryLedgerMer" // 商户分账信息查询 - SeparateReceiverApplyAction = "applyLedgerReceiver" // 分账接受方创建 - SeparateReceiverModifyAction = "modifyLedgerReceiver" // 分账接受方变更 - SeparateReceiverQueryAction = "queryReceiverDetail" // 分账接受方查询 - SeparateBindAction = "applyBind" // 分账关系绑定 - SeparateUnBindAction = "applyUnBind" // 分账关系解除绑定 + SeparateAccountApplyAction = "ledger/applyLedgerMer" // 商户申请开通分账 + SeparateAccountModifyAction = "ledger/modifyLedgerMer" // 商户变更申请开通分账 + SeparateAccountQueryAction = "ledger/queryLedgerMer" // 商户分账信息查询 + SeparateReceiverApplyAction = "ledger/applyLedgerReceiver" // 分账接受方创建 + SeparateReceiverModifyAction = "ledger/modifyLedgerReceiver" // 分账接受方变更 + SeparateReceiverQueryAction = "ledger/queryReceiverDetail" // 分账接受方查询 + SeparateBindAction = "ledger/applyBind" // 分账关系绑定 + SeparateUnBindAction = "ledger/applyUnBind" // 分账关系解除绑定 + SeparateCardBinAction = "cardBin" // 卡BIN查询 ) // 分账 diff --git a/platformapi/mtwmapi/mtwmapi_test.go b/platformapi/mtwmapi/mtwmapi_test.go index d498de3f..eb5eeb22 100644 --- a/platformapi/mtwmapi/mtwmapi_test.go +++ b/platformapi/mtwmapi/mtwmapi_test.go @@ -20,13 +20,13 @@ func init() { baseapi.Init(sugarLogger) // 菜市 - api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "") + //api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "") // 果园 //api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "") //商超 - //api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_lfakvRM4GLSa_VLMUIZDHA") + api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_lfakvRM4GLSa_VLMUIZDHA") //cookieStr := ` // acctId=57396785; token=0bWbK5VbK50E2BmIhIH2zHB-am_y7mB37yXHm6RLZWx4*; wmPoiId=-1; //` diff --git a/platformapi/mtwmapi/order_test.go b/platformapi/mtwmapi/order_test.go index 026d36b6..7e6e42d6 100644 --- a/platformapi/mtwmapi/order_test.go +++ b/platformapi/mtwmapi/order_test.go @@ -144,7 +144,7 @@ func TestOrderGetRiderInfoPhoneNumber(t *testing.T) { } func TestGetOrderRefundDetail(t *testing.T) { - result, err := api.GetOrderRefundDetail(3901636712926079606, 0) + result, err := api.GetOrderRefundDetail(2801668233203841348, 0) if err != nil { t.Fatal(err) }