外部系统接入Intepay开发文档 V2.0

2019-07-31 21:02:48
Summary: 接入Intepay开发文档

Intepay开发文档

                                            

客户端—Intepay—三方支付时序图

 

上图是【客户端—Intepay—三方支付】的支付时序图。

图中所标数字,即为支付流程中对应的步骤。

一、步骤详解

  1. 客户端调用Intepay接口,将签名(加密)后的入金订单数据传入Intepay。签名(加密)方法和接口信息在下文【接口信息】中可以找到。
  2. Intepay向支付三方发送支付请求。
  3. 支付三方调用Intepay的回调接口,将支付结果传递到Intepay
  4. Intepay向三方支付发送应答消息。
  5. Intepay调用客户端的回调接口,将签名(加密)后的数据发送至客户端
  6. 客户端向Intepay发送应答消息。

其中,客户端对接Intepay,主要完成156这三个步骤。

 

二、接口信息

1.步骤一中调用的Intepay接口

方法:post

接口地址:【解析到Intepay的域名】+ /gateway/index/

说明:客户端应该对数据进行签名(加密),再传入Intepaysign参数即是加密后的密文。

传入参数:

参数名

类型

必填

值【示例】

说明

timestamp

long

1606388400

时间戳,每次计算签名取计算时间戳,以秒计算

nonce

String

FwDz60iV0nyVmaCUPkFDM8Yhn2VhPooc

随机字符串,每次计算随机生成(不少于32)

msg_signature

String

3aa84fef6768fb939d4913069d92cf95

消息体签名msg_signature

= sha256(key+timestamp

+nonce+msg_body)

msg_body

String

加密字符串,加密使用的 key

为支付秘钥,加密方法 AE

S-256-CBC, iv = IB9N75V

82Q0KJ3BK。(新算法用

固定32位密钥进行签名,

旧密钥使用特殊符号 $

位,超过32位的进行截断)

sign_version

String

v2

签名版本号(小写v)

msg_body参数说明

参数名

类型

必填

值【示例】

说明

orderNo

string

201712290802291683

客户端 生成订单号

name

string

张三

姓名

phone

string

91361245

电话

email

string

example@email.com

邮箱

certificateNo

string

44053819801130457x

证件号码

pay_amount

float

0.07

入金金额【人民币】单位元

usd_amount

float

0.07

入金金额【美元】单位元

rate

float

6.59683

汇率 最多 5 位小数

rtime

string

2017-12-29 08:02:29

订单时间

uid

string

266498

客户端 账户 ID

returl

string

https://xxx.com

noturl

string

https://xxx.com

回调地址

lang

string

cn

当前的语言

country_code

string

86

国际电话区号

extra_data

text

Json 格式。包含 客户端 中的所有汇率

msg_signature = sha256(key+timestamp+nonce+msg_body)

key 为加密密钥。 

签名验证方式:比较msg_signature和回调接口中推送的字段msg_signature是否相等,相等则表示验证通过

 

2.步骤五和六中,Intepay向客户端传入的回调参数

方法:POST传入json数据

Intepay调用的回调地址,即是步骤一中,从客户端传入Intepaynoturl参数的值。客户端接收到数据后,应该要进行验签。sign参数加密后的密文。

参数名

类型

必填

值【示例】

说明

timestamp

long

1606388400

时间戳,每次计算签名是获取计算时间戳

nonce

string

FwDz60iV0nyVmaCUPkFDM8Yhn2VhPooc

随机字符串,每次计算随机生成

msg_signature

string

3aa84fef6768fb939d4913069d92cf95

消息体签名

msg_body

string

加密的回调参数

加密使用的 key 为支付秘钥,加密方法 AES-256-CBC,   iv = IB9N75V82Q0KJ3BK。(新算法用固定32位密钥进行签名,旧密钥使用特殊符号 $ 补位,超过32位的进行截断)

msg_body参数说明:

sign_version

string

v2

签名版本号(小写v)

order_no

string

201712290802291683

客户端 生成订单号

msg_body参数说明:

参数名

类型

必填

值【示例】

说明

orderNo

string

201712290802291683

客户端 生成订单号

pay_amount

string

0.01

支付金额

trade_no

string

91361245

第三方交易流水号

state

int

1

标识已支付 0 成功   -1 失败


三、签名方式

申请Intepay的账号通过后,会生成一个通讯密钥,在下文中简称key。客户可以在Intepay的后台查看该密钥。

msg_signature = sha256(key+timestamp+nonce+msg_body)