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


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

主题:API接口

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


加好友 发短信
等级:幼狐 帖子:139 积分:1073 威望: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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/12 15:54:00 [只看该作者]

到这里下载c#的源码使用:https://doc.shouqianba.com/zh-cn/api/sign.html。
方法1、可以直接编译源码为dll引用
2、自行转换为vb.net代码参考着做:https://converter.telerik.com/,

下面举例使用激活接口:

全局代码:
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

调用
Dim hc As New HttpClient("https://vsi-api.shouqianba.com/terminal/activate")
hc.ContentType = "application/json"
Dim jo As New JObject
jo("app_id") = "xxx"
jo("code") = "xxx"
……自行补全需要的接口数据
dim s1 as string = jo.tostring
dim sign as string = MD5(s1)
dim vendor_sn as string = "xxx签名序列号"
hc.Headers.Add("Authorization",vendor_sn & " " & sign )
hc.Content = s1
Dim ret As String = hc.GetData()
msgbox(ret)

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


加好友 发短信
等级:幼狐 帖子:139 积分:1073 威望: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/12 17:48:00 [只看该作者]

就是把json的内容进行MD5加密

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


加好友 发短信
等级:幼狐 帖子:139 积分:1073 威望: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/13 8:38:00 [只看该作者]

Dim sign11 As String = MD5(s1 & tmkey)

去掉这句:Dim sign As String = sign11.ToUpper(),开发文档没有说转大写,源码也没有这种用法

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


加好友 发短信
等级:幼狐 帖子:139 积分:1073 威望: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/13 13:48:00 [只看该作者]

这个您咨询他们客服了,加密是照搬他们源码的,有问题找他们。

如果调用激活接口没有问题,这个加密方法肯定也没有问题。注意其它接口是使用激活接口返回的cn和ley

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


加好友 发短信
等级:幼狐 帖子:139 积分:1073 威望: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")

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/13 16:51:00 [只看该作者]

Dim s2 As String = MD5("12" & vbcrlf & "3")

 回到顶部
总数 16 1 2 下一页