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. 因通道方可能会收取额外的费用,所以收款人实际到账金额可能会少于实际付款金额





发表评论

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