本帖最后由 tryhi 于 2024-10-28 12:03 编辑
土豆API官网 https://potato.xudakj.com
这是一个土豆API的收款例子,仅仅是例子,土豆API的功能很多,建议有需求的自己看一下接口,因为是收款验证程序,只给有需要的人,所以做了一点门槛,需要扫码付款8.8元才能看到完整的源码(自动转为全部源码,带注释),也算是为这个例子做的实际应用。
全部代码没有使用自己的服务器,都是使用土豆API完成
注:
1、土豆API收费5%(无收款不收费)
2、收款接口需要申请,不可用于非法用途(无门槛)
3、目前仅支持支付宝,原来是支持微信的,但是现在停了
4、除了扫码直付验证,还有卡密验证,还提供卡网
5、正常每日收款限额1000,量大联系站长可以改额度
跟土豆的通讯,主要使用下面的函数即可,对照土豆API接口说明,有点基础的看完这段源码甚至不需要看附件的源码
- ;;提交接口_作者:tryhi-大海
- ;;参数1:api(土豆API接口,用lisp思维可以理解为函数)
- ;;参数2:json二维表(二维表的格式看'加密json'的说明,可以理解为这个API函数的各种参数)
- ;;参数3:post_get(只支持两个值,POST跟GET,具体用哪个看土豆API文档)
- ;;参数4:apiUserToken(登录令牌,作为用户登录标识token,用户登录后会得到这个值,部分接口不需要用nil)
- (defun 接口 (api data post_get apiUserToken / html ob timestr url)
- ;(setq 秘钥 "12345678");当APP内设置DEC加密时,返回的html需要解密,本例子不加密
- ;(setq _sin "ni_de_yan_qian_zi_fu_chuang");这个是APP里面的验签字符串,如果APP开了验签,这个注释需要打开
- ;(setq time(try-time2stamp (try-time-getbeijing)));;网络时间戳
- (setq timestr(rtos(try-timebeijing2stamp (mapcar 'atoi(try-timex nil)))2 0));;这里使用本机时间戳速度比较快
- (if _sin(setq _sin+time(syz-md5 (strcat _sin timestr))));验签字符串+时间戳进行MD5,这里的MD5用的是论坛《让MD5算法飞起来》的fas
- (setq url (strcat "https://potato.xudakj.xyz/api/"api))
- (setq ob (vlax-create-object "MSXML2.ServerXMLHTTP"))
- (vlax-invoke-method ob "open" post_get url "false")
- (vlax-invoke-method ob 'setRequestHeader "Content-Type" "application/json")
- (vlax-invoke-method ob 'setRequestHeader "askKey" askkey);askkey(APP里面你自己建立的唯一标识)
- (vlax-invoke-method ob 'setRequestHeader "time" timestr);时间戳
- (if _sin (vlax-invoke-method ob 'setRequestHeader "sin" _sin+time));(验签字符串+时间戳)的MD5值,本例没有打开验签功能
- (if apiUserToken (vlax-invoke-method ob 'setRequestHeader "apiUserToken" apiUserToken));apiUserToken登录令牌
- (vlax-invoke-method ob "send" (加密json data));这个加密json函数,当APP不启用加密的时候,是转为普通json
- (setq html (vlax-get-property ob "responseText"))
- (vlax-release-object ob)
- ;(setq html(Des_Decrypt html 秘钥 2));解密返回值,本例子不加密(如果你的实例要加密,这里要打开)
- html
- )
关于土豆API操作流程
1、打开https://potato.xudakj.com/#download 下载安卓版APP注册
2、点击管控,右下角+号,添加应用
3、该填的都填,本例子“不验签”“不加密”
4、创建后得到askKey,填到本例子源码里面
5、管控里面点击“APP系统设置”,除了登录验证码之外全部打开
6、管控里面的“会员配置”,添加价格以及时长
|