MONI Transfer API接口

  • 接口目标用户及相关说明

汇款接口目标用户为所有开通了Transfer功能的MONI注册商户。商户须在对应汇款币种的MONI账户中有足够余额才能进行汇款操作。

 

  • 接口支持货币

接口支持的汇款货币见下表:

货币代码 货币名称
AUD 澳元
收款货币见《FX Playbook》

 

  • 接口规则
    • 协议规则
名称 内容
访问方式 Web API
传输协议 HTTPS
提交方式 HTTP POST
数据格式 请求返回数据为Json格式
字符编码 UTF-8
Http Header ContentType=application/json
超时设定 请求超时时间为5分钟,即服务器请求接收时间与时间戳标识时间间隔需要小于5分钟。
签名算法 签名算法为MD5

 

  • 参数约定

1)金额

金额单位为对应币种的标准单位。

2)时间

系统中所有时间为澳洲东部时间AEST。

3)时间戳

UTC标准时间,自1970年1月1日0点0分0秒以来的毫秒数。

 

  • 安全验证

接口调用时需要进行签名。签名方法如下:

1) 参与签名字段

参与签名字段如下:

字段名 类型 说明
m_number String 商户编号。MONI商户的唯一编号
timestamp Long 时间戳,见参数规定中的时间戳
nonce_str String 随机字符串,10-32位随机码,允许使用a-z | A-Z | 0-9字符。用于保证签名的不可预测性。推荐使用随机数算法生成。
secret_key String 商户API密钥。可在商户后台中获取。

 

2) 生成签名

将以上字段按照m_number&timestamp&nonce_str&secret_key方式进行拼接(顺序一定要正确),之后用MD5算法对拼接后的字符串进行摘要,然后转成大写,得到签名字符串。

 

3) 将签名字符串以sign为key,包含在接口参数中进行请求。

 

  • 接口内容

Transfer商户汇款API包含如下接口:

接口名称 说明
1 Create Recipient 创建收款人
2 Query Recipients 查询收款人信息
3 Pre-Create Send 汇款预下单
4 Send 汇款下单
5 Cancel 取消汇款
6 Query Send 查询汇款状态及信息
7 Account List 获取账户列表
8 Account Balance 查询账户余额
9 Send List 查询交易记录列表

 

    • Create Recipient
接口说明 创建收款人
接口地址 https://api.moni.im/transfer/api/v1/create_recipient
测试接口地址 https://testapi.moni.im/transfer/api/v1/create_recipient
请求参数 参数名称 类型 属性
type String 必录,收款人类型。

BUSINESS 企业
PERSON 个人

 

currency String 必录,收款货币

传递ISO-4217规范中的货币代码

first_name String 当收款人类型为个人时,该字段传个人的名
middle_name String 非必录,该字段传个人的中间名
last_name String 当收款人类型为个人时,该字段传个人的姓
company_name String 公司名称为企业时必填
country String 必录,收款人所在国家

传递ISO-3166-1规范中的二位国家代码

bank_country String 必录,收款银行所在国家

传递ISO-3166-1规范中的二位国家代码

state String 必录,收款人所在州/省
city String 必录,收款人所在城市
street_address String 必录,收款人街道地址
street_address2 String 非必录,收款人街道地址补充信息
postal_code String 必录,收款人所在地邮编信息
email String 非必录,收款人邮箱
nickname String 非必录,收款人昵称
account_type String 收款人账户类型,具体参见FX Playbook
account_info Object 收款人账户信息,具体参见FX Playbook
返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
recipient_id Long 收款人ID
失败返回 is_success Bool 成功时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明
RISKCONTROL_DENIED 风控拒绝,不能创建收款人
ACCOUNT_TYPE_ERROR 收款人账户类型错误,可能原因是传递了错误的账户类型,或该账户类型不在对应币种的支持范围中
其他错误见FX Playbook中的定义

 

  • Query Recipients
接口说明 根据条件查询收款人信息,返回匹配的收款人列表。

根据所传的所有参数进行组合筛选,

接口地址 https://api.moni.im/transfer/api/v1/query_recipients
测试接口地址 https://testapi.moni.im/transfer/api/v1/query_recipients
请求参数

 

 

参数名称 类型 属性
recipient_id Long 收款人ID,精确匹配
type String 收款人类型,精确匹配
country String 收款人所在国家,精确匹配,
传递ISO-3166-1规范中的二位国家代码
currency String 收款人币种,精确匹配
first_name String 收款人名,模糊匹配
last_name String 收款人姓,模糊匹配
company_name String 收款人公司名称,模糊匹配
account_type String 收款人账户类型,精确匹配
返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
recipients List 收款人列表

列表元素如下:

字段 类型 说明
id Long 收款人ID
currency String 收款币种
country String 收款人所在国家
first_name String 收款人名
last_name String 收款人姓
account_type String 收款账户类型
account_number String 收款账户编号

 

失败返回 is_success Bool 失败时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明

 

  • Pre-Create Send
接口说明 汇款预下单。正式提交汇款前,预先提交汇款相关信息,系统返回并锁定汇率。

汇款流程见《MONI Transfer API下单流程》

接口地址 https://api.moni.im/transfer/api/v1/precreate_send
测试接口地址 https://testapi.moni.im/transfer/api/v1/precreate_send
请求参数 参数名称 类型 属性
send_currency String 必录,汇款货币
send_amount

(暂不需要)

Decimal 汇款金额

若该字段不为空,则receive_amount字段不生效

该金额为汇款人包含手续费总共需要支付的金额;

receive_amount Decimal 收款金额

该金额为MONI会向收款人实际支付的金额,手续费及汇款金额会通过该金额反算得到。

recipient_id Long 必录,收款人ID
send_reason String 必录,汇款原因

具体原因见《汇款原因》

out_transaction_id String 非必录,外部交易编号

若该字段不为空,则商户需要保证其唯一性

返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
send_id Long 汇款订单ID
send_currency String 汇款币种
receive_currency String 收款币种
exchange_rate Decimal 汇率
send_amount Decimal 实际汇款金额
receive_amount Decimal 实际收款金额
fee_amount Decimal 手续费金额(以汇款币种为单位)

金额及手续费计算公式见《手续费计费方式》

失败返回 is_success Bool 失败时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明
RISKCONTROL_DENIED 风控拒绝,不能创建汇款单
SEND_REASON_ERROR 汇款原因错误,请参见汇款原因列表
SEND_AMOUNT_TOO_LITTLE 汇款金额太小
INSUFFICIENT_BALANCE 账户余额不足
CURRENCY_NOT_SUPPORT 不支持的汇款币种
DUPLICATE_OUT_TRANSACTION_ID 重复的外部交易编号

 

  • Send
接口说明 汇款预下单创建之后,在超时时间范围内,提交正式汇款。

若提交正式汇款时,实时汇率波动过大或超过超时时间范围,则该订单无效,需要重新通过预创建订单锁定汇率。

提交后,系统会锁定商户对应账户内的余额并正式执行汇款单。

汇款流程见《MONI-Transfer API下单流程》

接口地址 https://api.moni.im/transfer/api/v1/send
测试接口地址 https://testapi.moni.im/transfer/api/v1/send
请求参数 参数名称 类型 属性
send_id Long 必录,预创建的汇款订单ID
account_id

(暂不需要)

Long 必录,实际扣款的商户内部账户ID
返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
失败返回 is_success Bool 失败时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明
RISKCONTROL_DENIED 风控拒绝,不能创建汇款单
INSUFFICIENT_BALANCE 账户余额不足

 

  • Cancel
接口说明 汇款预下单创建之后,在正式提交之前 ,可以直接取消该汇款单

若15分钟之内没有进行确认提交,系统也会自动取消该汇款单

接口地址 https://api.moni.im/transfer/api/v1/cancel
测试接口地址 https://testapi.moni.im/transfer/api/v1/cancel
请求参数 参数名称 类型 属性
send_id Long 必录,预创建的汇款订单ID
返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
失败返回 is_success Bool 失败时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明
TRANSACTION_NOT_EXISTS 交易不存在,可能是汇款单号错误
TRANSACTION_SUBMITTED 交易已提交,不允许取消
TRANSACTION_CANCELLED 交易已取消,不允许重复取消

 

  • QuerySend
接口说明 汇款单创建后,可通过该接口获取汇款状态及订单信息。

汇款流程见《MONI-Transfer API下单流程》

接口地址 https://api.moni.im/transfer/api/v1/query_send
测试接口地址 https://testapi.moni.im/transfer/api/v1/query_send
请求参数 参数名称 类型 属性
send_id Long 汇款订单ID
out_transaction_id String 外部交易编号

l 外部交易编号和汇款订单ID其中必传一个;若汇款订单ID已传,则外部交易编号字段值不生效

返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
send_id Long 订单ID
send_currency String 汇款币种
receive_currency String 收款币种
exchange_rate Decimal 汇率
send_amount Decimal 实际汇款金额
receive_amount Decimal 实际收款金额
fee_amount Decimal 手续费金额(以汇款币种为单位)
recipient_id Long 收款人ID
create_date_time DateTime 订单创建时间,yyyyMMddHHmmss
out_transaction_id String 外部交易编号
status String 汇款单状态

汇款单状态如下:

状态 说明
Created 已创建,等待确认
Pending 汇款单已确认,正在处理中
Paid OMIPAY已向收款人付款,汇款单已完成
Cancelled 已取消OMIPAY实际付款金额
Failed 汇款失败

 

失败返回 is_success Bool 失败时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明

 

  • Account List
接口说明 查询商户的账户列表
接口地址 https://api.moni.im/transfer/api/v1/account_list
测试接口地址 https://testapi.moni.im/transfer/api/v1/account_list
请求参数 参数名称 类型 属性
currency String 非必录。若该字段不为空,则返回该币种对应的账户列表;否则返回所有账户列表
返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
accounts List 账户列表

列表元素如下:

字段 类型 说明
id Long 账户ID
currency String 账户币种
name String 账户名称
status String 账户状态

状态如下:

Normal 正常
Closed 关闭

 

 

失败返回 is_success Bool 失败时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明

 

  • Account Balance
接口说明 查询商户的账户余额
接口地址 https://www.api.moni.im/transfer/api/v1/account_balance
测试接口地址 https://testapi.moni.im/transfer/api/v1/account_balance
请求参数 参数名称 类型 属性
account_id Long 必录,账户ID
返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
currency String 账户币种
total_amount Decimal 账户总余额
available_fund Decimal 账户可用余额
失败返回 is_success Bool 失败时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明
ACCOUNT_NOT_EXISTS 账户不存在,可能是账户ID错误

 

  • SendList
接口说明 根据条件返回分页汇款列表
接口地址 https://api.moni.im/transfer/api/v1/send_list
测试接口地址 https://testapi.moni.im/transfer/api/v1/send_list
请求参数 参数名称 类型 属性
create_datetime_from DateTime 非必录,汇款单创建起始时间
create_datetime_end DateTime 非必录,汇款单创建结束时间
status String 非必录,汇款单状态
send_currency String 非必录,汇款币种
receive_currency String 非必录,收款币种
page_size Int 必录,页大小
page_number Int 必录,页码
返回值 名称 类型 说明
成功返回 is_success Bool 成功时返回true
sends List 汇款单列表

列表元素为Send交易对象

total_count Int 总记录数
page_number Decimal 账户可用余额
失败返回 is_success Bool 失败时返回false
error_code String 错误码
error_msg String 错误信息
错误说明 错误码 说明

 

 

  • Send交易对象定义
字段名称 类型 说明
send_id Long 订单ID
send_currency String 汇款币种
receive_currency String 收款币种
exchange_rate Decimal 汇率
send_amount Decimal 实际汇款金额
receive_amount Decimal 实际收款金额
fee_amount Decimal 手续费金额(以汇款币种为单位)
recipient_id Long 收款人ID
create_date_time DateTime 订单创建时间,yyyyMMddHHmmss
out_transaction_id String 外部交易订单
status String 汇款单状态

汇款单状态如下:

状态 说明
Created 已创建,等待确认
Pending 汇款单已确认,正在处理中
Paid MONI已向收款人付款,汇款单已完成
Cancelled 已取消
Failed 汇款失败

 

 

 

 

  • MONI-Transfer API下单流程

 

  • 汇款原因
名称 说明 可用收款人类型
PERSON BUSINESS
Advertising Fees 广告费
Expense Reimbursement 经营成本支出
Financial Services 金融服务费
Legal Services 法务服务费
Medical Reimbursement 医药费
Payroll 工资
Processing 处理费
Trade Related Services 贸易服务费
Transaction between Banks 银行转账
Transportation Costs 交通出行费用
Travel Related Services 旅游服务费
Personal 个人消费
Other 其他费用,若实际汇款原因不在上述原因中,请使用英文填写原因

 

  • 手续费计费方式

手续费按照如下流程进行计算:

  1. 待汇款金额(汇款币种)= 实际汇款金额(汇款币种) – 手续费(汇款币种)
  2. OMIPAY实际付款金额(收款币种)=待汇款金额(汇款币种)*汇率(收款币种/汇款币种)
  3. 因通道方可能会收取额外的费用,所以收款人实际到账金额可能会少于实际付款金额

发表评论

邮箱地址不会被公开。 必填项已用*标注