TiPay
  1. 开放文档
TiPay
  • 开放文档
    • Ti-Pay 支付通道快速接入
    • Q&A
    • 易宝钱包支付页面交互步骤图解
    • 交易下单
      • 交易下单
      • 查询订单
    • 数藏钱包
      • 钱包注册/登录接口
      • 钱包账户信息查询
  1. 开放文档

Ti-Pay 支付通道快速接入

1. API 调用规则#

1.1 API 鉴权签名#

签名算法: SHA256

1.1.1 Header参数值#

参数名称参数值是否必填示例备注
ti-appidstring是tichain000000天河链开放平台商户Id
ti-timestampstring是1647751123703时间戳,1970年1月1日0点0分0秒到现在的毫秒数
ti-signaturestring是644dbdb0137f1f3add30eca4c9e582da5c6e45d77fea51ab76fbd10ef3442f6bAPI 签名名:
SHA256(ParamsJson+Timestamp+AppKey)

1.1.2 示例#

Java 版本#
/**
 * 相关依赖
 * 重要提示:下载相应的依赖,请使用上方Java代码前的版本号
 * /
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.80</version>
</dependency>
         
Php 版本#
python 版本#

1.2 通知规则#

通知参数:response,sigin
通知策略:收到天河链回调通知需回写大写“SUCCESS”,如没有回写则最多通知 9次,重试延迟时间分别为:5,5,20,270,600,900,1800,3600,14400(秒),9次后没有拿到回写则停止通知
异步通知返回结构的验签,目前只提供java的示例:
第一步:在通知返回参数里,response是待验签的参数
第二步:将签名参数(sign)使用 base64 解码为字节码串。
第三步:使用 RSAEncryptor 的验签方法,通过response字符串、签名参数(经过 base64 解码)及天河链支付通道公钥(天河链支付通道公钥就是demo示例值)验证签名
第四步:需要严格按照如下描述校验通知数据的正确性,以支付通知为例:
1.
验证 merchantNo是否为该商家本身。
2.
商家需要验证该通知数据中的 orderId是否为商家系统中创建的订单号。
3.
判断 orderAmount是否确实为该订单的实际金额(即商家订单创建时的金额)。
上述 1、2、3 有任何一个验证不通过,则表明本次通知是异常通知,务必忽略。在上述验证通过后商家必须根据不同类型的业务通知,正确的进行不同的业务处理,并且过滤重复的通知结果数据。在支付成功通知中,只有交易通知状态(status)为 SUCCESS时,才会认定为买家付款成功

1.2.1 示例#

Java版本#
接收异步通知代码#
验签代码#
php版本#
验签代码#
<?php
//校验 sha1WithRSA 签名
function verifySign($data, $sign, $pubKey){
    $sign = base64_decode($sign);

    $pubKey = "-----BEGIN PUBLIC KEY-----\n" .
                wordwrap($pubKey, 64, "\n", true) .
                "\n-----END PUBLIC KEY-----";

    $key = openssl_pkey_get_public($pubKey);
    $result = openssl_verify($data, $sign, $key, OPENSSL_ALGO_SHA1) === 1;
    return $result;
}
//测试
//校验签名
$content = "{\"channelOrderId\":\"202211041051000000191911010012I61667543207319693\",\"orderId\":\"ON059000000100001667543143\",\"bankOrderId\":\"2022110410000002606165040201100\",\"paySuccessDate\":\"2022-11-04 14:26:47\",\"channel\":\"NCPAY\",\"payWay\":\"ONEKEYPAY\",\"uniqueOrderNo\":\"1013202211040000004686450855\",\"orderAmount\":\"0.01\",\"payAmount\":\"0.01\",\"payerInfo\":\"{\\\"accountName\\\":\\\"刘*民\\\",\\\"bankCardNo\\\":\\\"621700****6044\\\",\\\"bankId\\\":\\\"CCB\\\",\\\"cardType\\\":\\\"DEBIT\\\",\\\"mobilePhoneNo\\\":\\\"155****4060\\\"}\",\"realPayAmount\":\"0.01\",\"parentMerchantNo\":\"10088791221\",\"merchantNo\":\"10088837016\",\"status\":\"SUCCESS\"}";
$Tisigin  = "hUSA9DJ6zpDKiIRO7yBsxiiXhEh4MY0NVATGLJP9kR9iBBJLh/Qd9du9P627w4EmiINpC/CGfqUIw9cXIASQIOTOm08wdIkhU4K8Gx9WYKU/1GM0LkIXO575jttjtD+gFtZknJs5eS7UEHcV659SEMWlJczaetzj4go0C07SBYM=";
$publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3l1dVfC413bivYBiqnT2IFbxmljlQT5B9ghtMqZg7v3pFdud0KpAbYelj2oxqxTySSi5qkCmpQ/Hnr3rl4rl/UITnt8Oktr8TfrS/zv2SIB7zn275GHDWF5Euz6xHUXSvS/ErXMxVeS6eEd9JnmZhst0GCLu9rEsX2UwIXpY7WQIDAQAB";
$rs = verifySign($content,$Tisigin, $publicKey);
var_dump($rs);

2. 快速接入#

2.1 数藏钱包接入指引#

易宝数藏钱包接入指引

2.2 分账接入指引#

易宝分账接入指引
下一页
Q&A
Built with