createTransfer

POST: /amsin/api/v1/business/fund/createTransfer

需要签名验签

集成商调用本接口进行资金的转账代发。资金会转入到另一个万里汇账户,即资金是在账户之间流通。

转账代发步骤为异步。调用接口后,万里汇返回给集成商API调用结果。集成商需调用 inquiryTransfer 接口查询转账代发结果,或等待万里汇使用 notifyTransfer 接口发送结果通知。

接口结构

万里汇接口报文结构包括:请求头,请求体。

请求头的参数

HTTP请求头主要包含了客户端、加验签、加解密相关的信息,请求头中的内容不区分大小写。

请求头参数

是否必填

范例

说明

Client-Id

Client-Id: *****

关于这些参数的解释说明,详见:请求头

Signature

Signature: algorithm=RSA256, keyVersion=2, signature=*****

Content-Type

Content-Type: application/json; charset=UTF-8

Request-Time

Request-Time: 2019-04-04T12:08:56+08:00

Connected-CustomerId

否(有条件)

Connected-CustomerId: ******

注意此header字段

当平台客户操作商户账户时需要传递。

请求体的参数

字段名

数据类型

是否必填

描述

transferRequestId

字符串

由集成商定义的唯一转账代发识别ID。

更多信息:

transferFromDetail

TransferFromDetail 对象

支付方需要支付的转账代发金额

transferToDetail

TransferToDetail 对象

转账代发细节,包括收款方可收到的金额等。

transferOrderAddition

TransferOrderAddition 对象

转账代发的更多信息,包括支付方和收款方的信息等。

响应体参数

字段名

数据类型

是否必填

描述

result

Result 对象

代表接口调用结果

说明:以下字段,只有当 result.resultStatus = S 时才会按需返回。

transferRequestId

字符串

由集成商定义的唯一转账代发识别ID

更多信息:

transferId

字符串

由万里汇定义的转账代发识别ID

更多信息:

  • 字段最大长度:64

transferFinishTime

字符串(DateTime)

本次转账代发请求的结束时间。万里汇只在用户发送重复请求的时候返回此传参,以表明实际上的结束时间。

更多信息:

  • 此字段采用ISO 8601 标准时间戳。如:2018-09-03T00:00:00+08:00,或2019-01-01T01:01:01Z(UTC时间)

transferFromDetail

TransferFromDetail 对象

支付方的转账代发请求细节

transferToDetail

TransferToDetail 对象

收款方的转账代发请求细节,包括收款方所收到的转账金额等。

transferOrderAddition

TransferOrderAddition 对象

转账代发的更多信息,包括支付方和收款方的信息等。

响应处理

集成商调用接口后,万里汇返回集成商API调用结果。result.resultStatus字段取值范围为:

result.resultStatus

描述

S

API请求成功。

  • 如果result.resultStatus 为 S,表示万里汇已接受本次API请求,转账代发请求正在处理中。调用 inquiryTransfer 以查询转账代发结果。
  • 如果万里汇在20分钟内没有使用 notifyTransfer 向集成商发送结果通知,集成商需调用inquiryTransfer接口查询本次转账代发结果。

F

API请求失败。

失败原因参见下文结果码(即result.resultCoderesult.resultMessage

U

API响应结果为UNKNOWN(未知)时,集成商需调用 inquiryTransfer 接口以检查转账代发请求状态。

结果码

result.resultCode

系统结果码

resultCode

resultStatus

resultMessage

处理建议

PROCESSING

S

The transfer is in process.

转账代发请求已创建,处理中。调用 inquiryTransfer 接口以查询转账代发结果。

PARAM_ILLEGAL

F

Illegal parameters exist. For example, a non-numeric input, or an invalid date.

参考API文档页面,确认请求头和传参是否正确

PROCESS_FAIL

F

A general business failure occurred. Do not retry.

需要人工介入,联系万里汇技术支持以解决此问题

UNKNOWN_EXCEPTION

U

API failed due to unknown reason.

服务器错误,若稍后重试问题依旧,联系万里汇技术支持以解决问题

REQUEST_TRAFFIC_EXCEED_LIMIT

U

The request traffic exceeds the limit.

重试,若问题依旧,联系万里汇技术支持

INVALID_API

F

The called API is invalid or not active.

确认是否调用正确的API

INVALID_CLIENT

F

The client is invalid.

Client ID不存在或无效

INVALID_SIGNATURE

F

The signature is invalid.

确认请求正确加签

METHOD_NOT_SUPPORTED

F

The server does not implement the requested HTTP method.

确认HTTP请求方法为POST

业务结果码

resultCode

resultStatus

resultMessage

处理建议

UN_SUPPORT_BUSINESS

F

Unsupported business.

使用正确的参数重试

ORDER_NOT_EXIST

F

The order does not exist.

订单不存在,使用其他订单重试。

USER_NO_PERMISSION

F

User does not have permission.

检查用户权限是否正确并重试

CURRENCY_NOT_SUPPORT

F

The currency is not supported.

确认币种信息正确后重

USER_NOT_EXIST

F

The user does not exist.

使用正确的用户信息重试

USER_ACCOUNT_ABNORMAL

F

The user account status is abnormal.

使用其他用户信息重试。如问题依旧,联系万里汇技术支持

REPEAT_REQ_INCONSISTENT

F

Repeated requests are inconsistent.

重试请求不一致。需保证所有请求参数均相同

USER_STATUS_ABNORMAL

F

The status of the user is abnormal. Retry with another card.

使用其他用户信息重新下单

BALANCE_NOT_ENOUGH

F

Balance is not enough.

确认余额充足后重试

AMOUNT_EXCEED_LIMIT

F

The amount exceeds the limit.

确认金额正确后重试

CONTRACT_CHECK_FAIL

F

The contract check has failed.

检查合约状态后重试

QUOTE_EXPIRED

F

The quote is expired.

调用  createQuote 接口来获取新汇率报价,并使用新汇率报价完成外汇请求

示例代码

请求

copy
{
    "transferRequestId": "*****",
    "transferFromDetail": {
        "transferFromAmount": {
            "currency": "USD",
            "value": 1000
        }
    },
    "transferToDetail": {
        "transferToAmount": {
            "currency": "EUR"
        },
        "feeAmount": {
            "currency": "USD",
            "value": 10
        },
        "transferToMethod": {
            "customerId": "*****",
            "paymentMethodType": "BALANCE"
        },
        "transferNotifyUrl": "www.notifyurl.com",
        "transferQuote": {
            "quoteId": "*****"
        },
        "transferMemo": "memo shows in worldfirst statement",
        "purposeCode": "GDS"
    },
    "transferOrderAddition": {
        "referenceOrderId": "*****"
    }
}

响应

copy
{
    "result": {
        "resultStatus": "S",
        "resultCode": "PROCESSING",
        "resultMessage": "Processing"
    },
    "transferRequestId": "*****",
    "transferId": "*****",
    "transferFromDetail": {
        "transferFromAmount": {
            "currency": "USD",
            "value": 1000
        }
    },
    "transferToDetail": {
        "purposeCode": "GDS",
        "transferToAmount": {
            "currency": "EUR",
            "value": 938
        },
        "feeAmount": {
            "currency": "USD",
            "value": 10
        },
        "transferToMethod": {
            "customerId": "*****",
            "paymentMethodType": "BALANCE"
        },
        "transferQuote": {
            "quoteId": "*****"
        },
        "transferMemo": "memo shows in worldfirst statement"
    },
    "transferOrderAddition": {
        "referenceOrderId": "*****"
    }
}

@2024 WorldFirst