前言

独家数卡作者自己开发了Epusdt的支付网关,但是只完整对接了独家数卡

然后看到LOC网友的 https://iusdt.me 便想自己也弄个对接的玩意

设计思路

  • 使用最简单的代码、请求方式发起支付请求
  • 无需无意义的历史记录、后台管理等设计
  • 符合类似支付宝转账的个人P2P场景设计
  • 学习PHP与HTTPAPI、JSON的交互数据

项目地址

https://github.com/BlueSkyXN/PHPAPI-for-epusdt

体验地址 https://pay.skyit.uk/upay.php?n=50

风险披露与警告

法律风险披露与警告

仅供学习PHP对JSON的处理和PHP对接HTTP API的应用,请在24小时内删除。

不得用于中国大陆或其他限制加密货币的地区,不得用于企业、商业用途。

不得违反PRC、USA的相关法律法规。

请阅读《关于进一步防范和处置虚拟货币交易炒作风险的通知》 https://www.spp.gov.cn/spp/zdgz/202109/t20210924_530777.shtml

加密货币不具有与法定货币等同的法律地位、不具有法偿性、不应且不能作为货币在市场上流通使用

加密货币没有FDIC保险、无银行担保、可能贬值、可能归零、可能跑路、可能无法使用、可能被限制

使用或学习本代码的相关网站应主动阻止中国大陆IP访问、阻止中国大陆用户访问,直到清除相关代码

因为作者即本人,仅完成代码的开发和开源活动(开源即任何人都可以下载使用或修改分发),从未参与用户的任何运营和盈利活动。

且不知晓用户后续将程序源代码用于何种用途,故用户使用过程中所带来的任何法律责任即由用户自己承担。

信息和其他安全风险披露与警告

未参与Epusdt、NGINX、MySQL等软件的核心代码开发

无法保证相关软件的安全性、可靠性、稳定性,请自行抉择

可能存在信息和其他安全相关信息泄露的风险

造成的任何损失由使用者自负

代码解析

https://github.com/BlueSkyXN/PHPAPI-for-epusdt/blob/main/upay.php

代码1-32行,使用HTML、JS、CSS基础套皮,修饰一下页面

代码34-58行,函数curl_request,通用的PHP-Curl整合函数,方便调用

代码59-62行,函数token,通用的随机数生成函数,方便调用

代码65行,从URL参数中的n=*获取amount数据,是最经典的获取URL传参方法之一,我最早使用这个设计是在Stripe支付PHP那用于定位商品ID

代码67-70行,是Epusdt的接口需要的几个参数,请根据实际情况填写。注意点是amount是纯数字,其他的都是字符串,数字不需要加单引号。

代码71-72行,是我自己的字符串拼接后md5计算写法,如有雷同纯属巧合,相当于官方API文档的示例,应该说是简化很多了

代码73-77行,卡了我很久,涉及到传输数据的格式问题,常见的数据格式是json和数组,对此需要函数 json_encode 和json_decode 进行转换,当然array也是数组要用的。该段代码是把参数导入数组,再把数组转为json。如果不做转换必然遇到麻烦的签名验证失败。

代码78行,发起Curl请求并获取返回数据到变量并存储下来,注意上面的函数配置(第38行)要只获取页面内容,但不输出(True)

代码83-84行和代码88-89行,是对返回数据进行解析,套娃提取其中的字段。注意EpusdtHTTPAPI的返回json中,data部分存在嵌套,直接读报错

代码92-103行,就是简单的文本和数据输出了

SSH Curl测试API接口

在PHP编程之前,学会在SSH进行Curl Post测试接口也是必不可少的,尤其是验证md5签名计算问题时

curl -H "Content-Type: application/json" -X POST -d '{"order_id": "orderid","amount": 100,"notify_url": "https://your.domain","redirect_url": "https://your.domain","signature": "*************"}'  https://your.domain/api/v1/order/create-transaction

格式如上文所式,如果返回401 签名认证错误 ,那要么签名没算对,要么传输数据格式不对

Epusdt使用备注

由于Epusdt已经能完成对收款方的信息通知,所以我前端对接完全不需要浪费这个力气