createInvoice
POST
: /amsin/api/v1/business/fund/createInvoice
集成商可使用此接口请求万里汇创建单据,包括账单和交易订单。
接口结构
万里汇接口的报文结构包括:请求头、请求体、响应头和响应体。该章节主要介绍请求体和响应体的结构。关于请求头和响应头的更多信息,参见:
请求参数
字段名 | 数据类型 | 是否必填 | 描述 |
requestId | 字符串 | 是 | 由集成商定义的唯一单据号,用于标识每笔单据。 更多信息:
|
productCode | 字符串 | 是 | 指用于完成账单支付的产品类型。可取值如下:
|
invoice | Invoice 对象 | 是 | 单据相关信息,包括单据类型。 |
payToDetail | PayToDetail 对象 | 是 | 支付相关信息,包括支付金额、手续费金额等。 |
响应参数
字段名 | 数据类型 | 是否必填 | 描述 |
requestId | 字符串 | 是 | 由集成商定义的唯一单据号,用于标识每笔单据。 更多信息:
|
result | Result 对象 | 是 | API 调用结果。 |
bizOrderId | 字符串 | 否 | 由万里汇定义的唯一单据号,用于标识每笔单据。 更多信息:
|
actionForm | ActionForm 对象 | 否 | 下一步动作。 |
extendInfo | 字符串 | 否 | 其他信息。 更多信息:
|
响应处理
集成商调用接口后,万里汇通过 result.resultStatus 字段返回集成商 API 调用结果。此字段的取值范围如下:
result.resultStatus | 描述 |
| API请求成功。 |
| API请求失败。具体失败原因,参见结果码(即 result.resultCode 和 result.resultMessage)。 |
| API响应结果为 重试策略:
如果问题依旧,请联系万里汇技术支持。 |
结果码
resultCode | resultStatus | resultMessage | resultMessage 中文含义 | 处理建议 |
SUCCESS | S | Success | 成功 | |
REQUEST_TRAFFIC_EXCEED_LIMIT | U | The request traffic exceeds the limit. | 请求量超出限制 | 重新调用此接口,如果问题依旧存在,请联系万里汇技术支持。 |
UNKNOWN_EXCEPTION | U | The API call is failed, which is caused by unknown reasons. | 未知错误 | 无需更换requestId,发起重试 |
INVALID_API | F | The called API is invalid or not active. | 调用的接口已失效或停用 | 检查调用的接口是否正确 |
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 方式 | 确保 HTTP 方式为 POST,发起重试 |
PARAM_ILLEGAL | F | Illegal parameters exist. For example, a non-numeric input, or an invalid date. | 参数异常 | 修改订单信息、更换requestId,发起重试 |
PROCESS_FAIL | F | A general business failure occurred. Do Not retry. | 请求处理失败,请勿重试。 | 需要人工介入,联系万里汇技术支持以解决此问题 |
UN_SUPPORT_BUSINESS | F | Unsupported business. | 业务不支持 | 使用正确的参数重试 |
代码示例
请求体
{
"requestId": "*****",
"productCode": "CASHIER_PAYMENT",
"invoice": {
"invoiceType": "BILL",
"bill": {
"billType": "VATMASTER_PAY_VAT",
"billNumber": "xxxxxxx",
"billAmount": {
"currency": "USD",
"value": 10
},
"remark": "xxxxxxx",
"billCreateTime": "2020-01-01T23:59:59+08:00",
"billDueTime": "2020-01-01T23:59:59+08:00",
"billSender": {
"userName": {
"fullName": "出账单方"
}
},
"billReceiver": {
"userName": {
"fullName": "账单接收人"
}
},
"billTerm": "NONE"
}
},
"payToDetail": {
"payToAmount": {
"currency": "USD",
"value": 10
},
"beneficiaryInfo": {
"paymentMethodType": "BANK_ACCOUNT_DETAIL",
"paymentMethodMetaData": {
"bankCountryCode": "GB",
"bankAccountName": "beneficiary bank account name",
"bankAccountIBAN": "*****",
"bankBIC": "*****"
}
}
}
}
响应体
{
"requestId": "*****",
"bizOrderId": "*****",
"result": {
"resultCode": "PROCESSING",
"resultMessage": "Processing",
"resultStatus": "S"
},
"actionForm": {
"actionFormType": "RedirectActionForm",
"method": "POST",
"redirectUrl": "xxxx"
}
}