Foxtable(狐表)用户栏目专家坐堂 → API接口


  共有3065人关注过本帖树形打印复制链接

主题:API接口

帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1090 威望:0 精华:0 注册:2021/8/6 21:17:00
API接口  发帖心情 Post By:2021/8/12 15:07:00 [显示全部帖子]

老师,这个接口该怎么写啊,研究了好久也没有搞明白

域名:https://vsi-api.shouqianba.com

端口:443

请求示例

    {
        "total_amount": "1", 
        "subject": "收钱吧", 
        "payway": "1",  
        "sub_payway":"2", 
        "extended":  
        {
            "extend_params": 
            {
                "hb_fq_seller_percent": "0",
                "hb_fq_num": "3"
            }
        },
        "terminal_sn": "101234641234111234",
        "client_sn": "6918981703584786",
        "operator": "Roy"
    }

预下单返回示例

预下单成功

    {
        "result_code": "200",
        "biz_response": {
            "result_code": "PRECREATE_SUCCESS",
            "data": {
                "sn": "7894259244096169",
                "client_sn": "765432112",
                "status": "IN_PROG",
                "order_status": "CREATED",
                "total_amount": "1",
                "net_amount": "1",
                "operator ": "张三丰",
                "subject ": "coca cola",
                "qr_code": "https://qr.alipay.com/bax8z75ihyoqpgkv5f"
            }
        }
    }

https://doc.shouqianba.com/zh-cn/api/interface/precreate.html

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1090 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/12 17:15:00 [显示全部帖子]

蓝老师,这个全局代码没有看明白,能帮我解释一下吗?
全局代码:
Public Function MD5(ByVal value As String) As String
    Dim result As New StringBuilder()
    Dim cl1 As String = value
    Dim md5 As New System.Security.Cryptography.MD5CryptoServiceProvider()
    Dim s As Byte() = md5.ComputeHash(Encoding.GetEncoding("UTF-8").GetBytes(cl1))

    For i As Integer = 0 To s.Length - 1
        result.AppendFormat("{0:x2}", s(i))
    Next

    Return result.ToString()
End Function

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1090 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/12 23:29:00 [显示全部帖子]

Dim hc As New HttpClient("https://vsi-api.shouqianba.com:443/upay/v2/precreate")
hc.C
Dim jo As New JObject
jo("client_sn") = "2021081219250001"
jo("operator") = "qwew"
jo("payway") = "3"
jo("subject") = "peisongdan2021081219250001"
jo("terminal_sn") = "100023060017446706"
jo("total_amount") = "100"

Dim s1 As String = jo.tostring

Dim sn As String ="100023060017446706"
Dim tmkey As String = "c3a0446eef811f9b308acec1377f38a9"

Dim sign11 As String = MD5(s1 & "key=" & tmkey)

Dim sign As String = sign11.ToUpper()


Dim postdata As String = s1 & "sign=" & sign 


hc.Headers.Add("Authorization:", sn & " " & sign)
hc.Content = postdata 
msgbox(postdata)

Dim ret As String = hc.GetData()

msgbox(ret)

提交后显示签名错误,然后百度了一下,好像是MD5的结果不一样
[此贴子已经被作者于2021/8/12 23:49:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1090 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/13 13:00:00 [显示全部帖子]

MD5这段的加密出来的结果和正确的不太一致
{
"client_sn":"2021081219250001",
"operator":"qwew",
"payway":"3",
"subject":"peisongdan2021081219250001",
"total_amount":"100"
}c3a0446eef811f9b308acec1377f38a9
用狐表加密出来的字段是a41dacc0b2de5bcf4b2bcb3b5f3b5954
而正确的加密字段是F2ADA6FF266624511A14CE5EEC693F98
所以不知道为什么了


图片点击可在新窗口打开查看此主题相关图片如下:0739.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/8/13 13:08:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1090 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/13 16:39:00 [显示全部帖子]

我试了一下还是加密的问题,如果都是123,那么两边的加密结果都是一致的,但是一旦有了换行,结果就不一样了,这个该怎么办呢?
这样加回车符对吗?Dim s2 As String = MD5("12" & Chr(13) & "3")

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1090 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/13 16:56:00 [显示全部帖子]

Dim qwq As String = {"client_sn":"2021081219250001",}"operator":"qwew","payway":"3","subject":"peisongdan2021081219250001","total_amount":"100"}
老师这里该怎么写?我这样保存不了,提示加“”,但是加了也是提示应为语句结束

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1090 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/13 18:57:00 [显示全部帖子]

老师,怎么输出头部信息?
Dim hc As New HttpClient("https://vsi-api.shouqianba.com:443/upay/v2/precreate")
hc.C
Dim jo As New JObject
jo("client_sn") = "2021081219250001"
jo("operator") = "qwew"
jo("payway") = "3"
jo("subject") = "peisongdan2021081219250001"
jo("terminal_sn") = "100023060017446706"
jo("total_amount") = "100"

Dim s1 As String = jo.tostring

Dim sn As String ="100023060017446706"
Dim tmkey As String = "c3a0446eef811f9b308acec1377f38a9"

Dim sign11 As String = MD5(s1 & "key=" & tmkey)

Dim sign As String = sign11.ToUpper()


Dim postdata As String = s1 & "sign=" & sign 


hc.Headers.Add("Authorization:", sn & " " & sign)
hc.Content = postdata 
msgbox(postdata)

Dim ret As String = hc.GetData()

msgbox(ret)

 回到顶部
帅哥哟,离线,有人找我吗?
飘过的巨蟹座
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:140 积分:1090 威望:0 精华:0 注册:2021/8/6 21:17:00
  发帖心情 Post By:2021/8/18 3:12:00 [显示全部帖子]

蓝老师,我找到了C写的代码,转后得到下面的,该怎么使用呢?
Class SurroundingClass
    Public Shared api_domain As String = "https://vsi-api.shouqianba.com"

    Public Shared Function activate(ByVal vendor_sn As String, ByVal vendor_key As String, ByVal app_id As String, ByVal code As String) As JObject
        Dim url As String = api_domain & "/terminal/activate"
        Dim Jparams As JObject = New JObject()
        Jparams.Add(New JProperty("app_id", app_id))
        Jparams.Add(New JProperty("code", code))
        Jparams.Add(New JProperty("device_id", ""))
        Jparams.Add(New JProperty("client_sn", "POS01"))
        Jparams.Add(New JProperty("name", "1号款台"))
        Jparams.Add(New JProperty("os_info", ""))
        Jparams.Add(New JProperty("sdk_version", ""))
        Dim sign As String = getSign(Jparams.ToString() & vendor_key)
        Dim result As String = HttpUtil.httpPost(url, Jparams.ToString(), sign, vendor_sn)
        Dim retObj As JObject = JObject.Parse(result)
        Dim resCode As String = retObj("result_code").ToString()
        Console.WriteLine("返回码:" & resCode)

        If resCode.Equals("200") Then
            Dim responseStr As String = retObj("biz_response").ToString()
            Dim terminal As JObject = JObject.Parse(responseStr)
            Console.WriteLine("返回信息:" & terminal)
            Return terminal
        Else
            Dim errorMsg As String = retObj("error_message").ToString()
            Console.WriteLine("返回信息:" & errorMsg)
        End If

        Return Nothing
    End Function
End Class

 回到顶部