NAV
java python shell json

接口版本 v3.0.0.0

For English

欢迎选择 NextPls! 我们会最大程度地保障您的资金和数据安全。

我们拥有一支优秀的开发团队。

如果想获取更多信息,可以访问我们的官方网站 NextPls 更多地了解我们。

本文档介绍了 API 开发者平台的 第2版,主要新增了对接流程所需的枚举等内容;

我们建议首先使用 SDK 开始:

  <dependency>
      <groupId>com.nextpls</groupId>
      <artifactId>sdk</artifactId>
      <version>1.3.20/version>
  </dependency>

  <dependency>
      <groupId>com.nextpls</groupId>
      <artifactId>sdk</artifactId>
      <version>1.3.20</version>
  </dependency>

/**
  <dependency>
      <groupId>com.nextpls</groupId>
      <artifactId>sdk</artifactId>
      <version>1.3.20</version>
  </dependency>
*/
  我们可以提供pyhton的sdk代码

接入指引

在启动开发Nextpls产品和解决方案前,请先阅读我们的最新文档,包括接入指南,API接口,代码示例Demo等;

2.1.接入流程

接入流程大概介绍整套对接过程步骤,请按如下引导步骤完成对接;

1.准备工作

1)完成并提交《商户开通国家申请表》

2)NextPls会以邮件形式提供对接相关文件、商户站账号信息以及线下联调商户信息;

2.线下环境联调和验收

1)根据NextPls的api文档进行接口的开发和调试;

2)完成NextPls提供的测试用例,并将结果以邮件形式发送给我们 payout_support@wotransfer.com;

3.上线和试点交易

1)NextPls确认测试用例完成,并提供生产账号相关信息;

2)可以使用生产账号向NextPls发起试点交易并观察结果;

3)向NextPls发起上线确认邮件(提早三天)发送至 payout_support@wotransfer.com;

4.产品上线开量

1)双方在正式上线开量之前,核对线上配置;

2)正式上线开量;

2.2.系统交互

下图展示了我们推荐的商户和NextPls接口交互的流程和方式

avatar

下图展示了NextPls订单状态的流转

avatar

2.3.安全规则

2.3.1.准备工作

2.3.1.1.生成一个CEK

消息在发送到NextPls之前,所有的请求体都应该使用加密算法对请求体进行加密。因此,我们需要一个CEK(内容加密密钥),该密钥将被加密后放在请求头的Content-Code的字段中发送到NextPls服务器。

我们希望一个CEK由两个16位字符串拼接而成(16位的初始向量ivParameter和16位的AES密钥sKey)

示例

item ASCII_string
sKey cek_tester_remit
ivParameter initial_tester01
CEK initial_tester01cek_tester_remit

2.3.1.2.生成一对公私钥

使用RSA加密算法生成公钥和私钥,NextPls这边也会有一对公钥和私钥,双方互相交换公钥,各自保留私钥隐私,保证信息安全;

RSA算法生成一对公私钥示例:

import java.security.KeyPairGenerator;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.KeyPair;

    public static RsaKeypair getRsaKeypair() throws Exception {
        KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
        keyPairGen.initialize(1024);
        KeyPair keyPair = keyPairGen.generateKeyPair();
        RSAPublicKey publicKey = (RSAPublicKey)keyPair.getPublic();
        RSAPrivateKey privateKey = (RSAPrivateKey)keyPair.getPrivate();
        return new RsaKeypair(publicKey, privateKey);
}

2.3.2.处理请求

avatar

2.3.2.1.加密请求体

将请求发送到NextPls之前,应使用CEK加密消息体部分 对消息体进行加密时,应使用AES/CBC/PKCS5Padding算法,之后再使用BASE64对结果进行转码。

加密体加密示例:

  {
    "Example":"Please move to java"
  }
    Please find the example in java
/**
 *
 * @param body:加密前的body
 * @param encodingFormat: 编码格式
 * @param sKey:CEK密钥的sKey部分
 * @param ivParameter:CEK密钥的iParameter部分
 * @return 加密后的body
 * @throws Exception
 */
    public String encrypt(String body, String encodingFormat, String sKey, String ivParameter) throws Exception {
         Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
         byte[] raw = sKey.getBytes();
         SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
         IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());
         cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
         byte[] encrypted = cipher.doFinal(body.getBytes(encodingFormat));
         return Base64.getEncoder().encodeToString(encrypted);//此处使用BASE64做转码。
  }

2.3.2.2.加密CEK

在调用API前,必须将加密后的CEK放在请求头的"Content-Code"参数中。应使用RSA算法以及NextPls的公钥对CEK进行加密,所有的客户都会获得由NextPls提供的一个用于CEK加密的专有公钥。

加密CEK示例:

/**
 *
 * @param originalCEK:原始CEK
 * @param publicKey:公钥
 * @return 加密后的CEK
 * @throws Exception
 */
    public String rsaEncrypt(String originalCEK, PublicKey publicKey) throws Exception {
         Cipher cipher = Cipher.getInstance(ALGORITHM);
         cipher.init(Cipher.ENCRYPT_MODE, publicKey);
         byte[] sbt = originalCEK.getBytes(ENCODING);
         byte[] epByte = cipher.doFinal(sbt);
         return Base64.getEncoder().encodeToString(epByte);
  }

2.3.2.3.签名

在调用API前,还必须在请求头中附加签名值。签名值用于认证请求是否来自于客户方。 签名为对“消息体加密后的结果”进行再签名,使用的密钥是商户的私钥,签名算法为SHA256withRSA,之后仍需使用BASE64对结果进行转码。结果放在请求头的Signature的字段中。

签名示例:

/**
 *
 * @param plainText:需要签名的内容
 * @param privateKey:私钥
 * @return 加密后的签名
 */
    public String sign(String plainText, PrivateKey privateKey) throws Exception {
         Signature sign = Signature.getInstance("SHA256withRSA", DEFAULT_PROVIDER);
         sign.initSign(privateKey);
         sign.update(plainText.getBytes(ENCODING));
         byte[] signed = sign.sign();
         String signBase64 = Base64.getEncoder().encodeToString(signed);
         return StringUtils.deleteWhitespace(signBase64);
  }

2.3.2.4.请求示例

使用加密的CEK、加密的方法体和签名便可组成一个完整的请求

示例

Header
Accept : application/base64
Authorization : AU1234567
Content-Code : dpcnD2YnJpCr0EIUNkz5so9rsBloBJRk/ie/awlgOV8ECoob3yB9QoAtP7LQNtOmziQOrFXueD0B62gc2f+AqCOs5D66sWQjlCWnjyqOkFjfow93CtYvGwpuoiqNArk39qvbe3lTo2g3qalg5YEe0Reohf2yHFbsYrwtgvBWQUI=
Signature : CiELHoMm9ab9FduNLWQZ15OI4O+ms8xGjJBEMyRsLRvi9cQI0QctIajwnejCrri7q0ep2zf6Fqn9DIWpF2vgsAHK3SWr2SkykxY2Sheisv1hjpxOVYgnLDcI/0KXTFSjHQWQ+JG6d8VvwrAErqY0jk9pafUj1SfxrHpUzEUWDGQ=
Body
Deo7f9su8hdo0PCCKxyjuCRVCKAotP01jgfDJd82jrLQAvEyXK+hwNMF2mLKidCERaS604yzdQ2REQ0Rja/2H87VLLmsQx7Bkbe0yah8ALIaCabwY30aG/FPsjY4Y7OhujaEAzOVRUrV21iYDL5nUg=

2.3.3.处理返回

avatar

2.3.3.1.验证签名

为了验证NextPls服务器的真实性,客户方需要将签名进行SHA256withRSA算法解密,这里用到的是NextPls的公钥,并与加密请求体进行校验,如果结果不是true,这意味着无效的签名,响应主体的真实性得不到保证,客户不应该进行进一步的处理。

签名验证示例:

/**
 * @param data 待验证数据体
 * @param sign 签名
 * @param publicKey 公钥
 * @return 验证签名是否正确
 */
    public boolean verify(String data, String sign, PublicKey publicKey) {
        if (data == null || sign == null) {
             return false;
         }
         try {
             Signature signetcheck = Signature.getInstance("SHA256withRSA");
             signetcheck.initVerify(publicKey);
             signetcheck.update(data.getBytes(ENCODING));
             return signetcheck.verify(Base64.getDecoder().decode(sign));
        } catch (Exception e) {
            return false;
         }
  }

2.3.3.2.CEK解码获取

所有的响应体在从NextPls服务器发送之前都使用AES/CBC/PKCS5Padding算法进行加密。因此,它需要首先从http报头中的Content-Code字段中解析CEK(通过内容加密密钥) CEK由32字节的随机字符(初始向量为16字节,AES密钥为16字节)组成。它是用客户提供的公钥(RSA)进行加密的。所以客户需要准备好相应的私钥进行解密。

私钥解密示例:

/**
 * 私钥解密
 *
 * @param encryptText 已加密CEK
 * @param privateKey 私钥
 * @return 原CEK
 * @throws Exception
 */
    public String decryptByPrivateKey(String encryptText, PrivateKey privateKey) throws Exception {
         byte[] encryptedData = Base64.getDecoder().decode(encryptText);
         KeyFactory keyFactory = KeyFactory.getInstance(ALGORITHM);
         Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
         cipher.init(Cipher.DECRYPT_MODE, getPrivateKey());
         int inputLen = encryptedData.length;
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         int offSet = 0;
        byte[] cache;
        int i = 0;
        // 对数据分段解密
        while (inputLen - offSet > 0) {
            if (inputLen - offSet > MAX_DECRYPT_BLOCK) {
                cache = cipher.doFinal(encryptedData, offSet, MAX_DECRYPT_BLOCK);
            } else {
                cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet);
            }
            out.write(cache, 0, cache.length);
            i++;
            offSet = i * MAX_DECRYPT_BLOCK;
        }
        byte[] decryptedData = out.toByteArray();
        out.close();
        return new String(decryptedData);
    }

2.3.3.3.返回体解码

根据上一步获取的CEK的真实密钥,解码加密后的响应体,以获取响应的json对象。

CEK解密示例:

    /**
 *
 * @param sSrc 加密报文
 * @param encodingFormat 编码方式
 * @param sKey CEK中的sKey
 * @param ivParameter CEK中的ivParameter
 * @return 解密后报文
 */
    private String decrypt(String sSrc, String encodingFormat, String sKey, String ivParameter) {
         try {
             byte[] raw = sKey.getBytes("ASCII");
             SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
             Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
             IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());
             cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);

             byte[] encrypted1 = Base64.getDecoder().decode(sSrc);//先用base64解密
             byte[] original = cipher.doFinal(encrypted1);
             String originalString = new String(original, encodingFormat);
             return originalString;
        } catch (Exception ex) {
             return null;
         }
    }

交易接口

3.1.GetBalance

获取账户可用余额

3.1.1.HTTP Request

POST GET_BALANCE

{
    "apiName": "GET_BALANCE",
    "entity": {
        "currency": "HKD"
    }
}
curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
         "apiName": "GET_BALANCE",
         "entity": {
             "currency": "HKD"
         }
     }'
public class example{
    public static void main(String[] args){

        NextPlsClient client = 
            new DefaultNextPlsClient(
                "http://staging.nextpls.com/v1/remittance", 
                "test_client", "cek_tester_remit", "initial_tester01", 
                publicKey, secretKey);
        NextPlsBalanceRequestDto balanceDto = new NextPlsBalanceRequestDto();
        balanceDto.setCurrency("HKD");
        NextPlsGetBalanceRequest balanceRequest = 
                NextPlsGetBalanceRequest.build(balanceDto);
        client.execute(balanceRequest);             

    }
}

3.1.2.Request Body

参数 类型 描述 O/M
apiName String GET_BALANCE M
entity Object 客户方请求参数 M
currency String(3) 存款币种 M

Response Body:

{
  "apiName": "GET_BALANCE_R",
  "code": "200",
  "msg": "success",
  "entity": {
    "partnerCode": "",
    "cashAcc": [
      {
        "balance": "",
        "currency": ""
      }
    ],
    "creditAcc": [
      {
        "balance": "",
        "currency": ""
      }
    ],
    "cashFreezeAcc": [
      {
        "balance": "",
        "currency": ""
      }
    ]
  }
}

3.1.3.Response Body

参数 类型 描述
apiName String GET_BALANCE_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
partnerCode String 客户编号
cashAcc array 现金账户
balance 余额
currency 币种
creditAcc array 授信账户
balance 余额
currency 币种
cashFreezeAcc array 现金冻结账户
balance 余额
currency 币种
creditFreezeAcc array 授信冻结账户
balance 余额
currency 币种

3.2.GetAccountFlowRecord

获取账户变动流水记录

3.2.1.HTTP Request

POST GET_ACCOUNT_FLOW_RECORD

{
  "apiName":"GET_ACCOUNT_FLOW_RECORD",
  "entity":{
    "currency":"HKD",
    "type":"TRANSACTION",
    "dateFrom":"2024-01-11",
    "dateTo":"2024-01-12"
  }
}
curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
        "apiName":"GET_ACCOUNT_FLOW_RECORD",
        "entity":{
        "currency":"HKD",
        "type":"TRANSACTION",
        "dateFrom":"2024-01-11",
        "dateTo":"2024-01-12"
        }
    }'
public class example{
    public static void main(String[] args){

        NextPlsClient client = 
            new DefaultNextPlsClient(
                "http://staging.nextpls.com/v1/remittance", 
                "test_client", "cek_tester_remit", "initial_tester01", 
                publicKey, secretKey);
      NextPlsGetAccountFlowRecordRequestDto flow = new NextPlsGetAccountFlowRecordRequestDto();
      flow.setDateFrom("2024-01-11");
      flow.setDateTo("2024-01-12");
      NextPlsGetAccountFlowRecordRequest build = NextPlsGetAccountFlowRecordRequest.build(flow);
      NextPlsGetAccountFlowRecordResponse entity = client.execute(build).getEntity();           

    }
}

3.2.2.Request Body

参数 类型 描述 O/M
apiName String GET_ACCOUNT_FLOW_RECORD M
entity Object 客户方请求参数 M
currency String(3) 存款币种 O
type String(24) 交易类型 O
dateFrom String(10) 开始时间 M
dateTo String(10) 结束时间 M

Response Body:

{
  "apiName":"GET_ACCOUNT_FLOW_RECORD_R",
  "code":"200",
  "msg":"111",
  "entity":{
    "cash":[
      {
        "currency":"",
        "type":"",
        "changeAmount":"",
        "balance":"",
        "createTime":""
      }
    ],
    "credit":[
      {
        "currency":"",
        "type":"",
        "changeAmount":"",
        "balance":"",
        "createTime":""
      }
    ]
  }
}

3.2.3.Response Body

参数 类型 描述
apiName String GET_ACCOUNT_FLOW_RECORD_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
cash array 现金流水
balance 变动后余额
currency 币种
changeAmount 本次变动金额
type 账户变动类型
createTime 发生时间
credit array 授信流水
balance 变动后余额

3.3.GetExRate

获取汇率

3.3.1.HTTP Request

POST GET_EX_RATE

{
  "apiName": "GET_EX_RATE",
  "entity": {
    "payInCountry": "HKG",
    "payInCurrency": "HKD",
    "payOutCountry": "PHL",
    "payOutCurrency": "PHP",
    "transactionType": "C2C",
    "paymentMode":"Bank"
  }
}
curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
         "apiName": "GET_EX_RATE",
         "entity": {
             "payInCountry": "HKG",
             "payInCurrency": "HKD",
             "payOutCountry": "PHL",
             "payOutCurrency": "PHP",
             "transactionType": "C2C",
             "paymentMode":"Bank"
         }
     }'
public class example{
  public static void main(String[] args){

    NextPlsClient client =
      new DefaultNextPlsClient(
        "http://staging.nextpls.com/v1/remittance",
        "test_client", "cek_tester_remit", "initial_tester01",
        publicKey, secretKey);
    NextPlsExRateRequestDto exRateDto = new NextPlsExRateRequestDto();
    exRateDto.setPayInCountry("HKG");
    exRateDto.setPayInCurrency("HKD");
    exRateDto.setPayOutCountry("PHL");
    exRateDto.setPayOutCurrency("PHP");
    exRateDto.setTransacationType("C2C");
    exRateDto.setPaymentMode("Bank");
    NextPlsGetExRateRequest exRateRequest = NextPlsGetExRateRequest.build(exRateDto);
    client.execute(exRateRequest);

  }
}
print("=====> 1. 获取报价...")
exRateDto = {
      "payInCountry":"SGP",
    "payInCurrency":"HKD",
    "payOutCountry":"HKG",
    "payOutCurrency":"HKD",
    "transactionType": "C2C",
    "paymentMode":"Bank"
}

rate_res = json.loads(sdk.post({
    "apiName": "GET_EX_RATE",
    "entity": exRateDto
    },url))

print("报价结果:" + str(rate_res))

3.3.2.Request Body

参数 类型 描述 O/M
apiName String GET_EX_RATE M
entity Object 客户方请求参数 M
payInCountry String(3) 汇入国家 M
payInCurrency String(3) 存入币种 M
payOutCountry String(3) 到账国家 M
payOutCurrency String(3) 到账币种 M
transactionType String(3) 交易类型 M
paymentMode String(20) 到账方式 M

Response Body:

{
  "apiName": "GET_REMITTER_R",
  "code": "200",
  "msg": "success",
  "entity": {
    "payInCountry": "HKG",
    "payInCurrency": "HKD",
    "payOutCountry": "PHL",
    "payOutCurrency": "PHP",
    "exRate": "7.369781",
    "transactionType": "C2C",
    "paymentMode":"Bank"
  }
}

3.3.3.Response Body

参数 类型 描述
apiName String GET_REMITTER_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
payInCountry String 存入国家
payInCurrency String 存入币种
payOutCountry String 到账国家
payOutCurrency String 到账币种
exRate String 汇率
transactionType String 交易类型
paymentMode String 到账方式

3.4.DoTransactionPre

预创建订单

3.4.1.HTTP Request

POST DO_TRANSACTION_PRE

Request Body:

{
  "apiName": "DO_TRANSACTION_PRE",
  "entity": {
    "clientTxnNo": "1000",
    "transactionType": "C2C",
    "payInCountry": "HKG",
    "payInCurrency": "HKD",
    "payInAmount": "13.57",
    "payOutCountry": "PHL",
    "payOutCurrency": "PHP",
    "payOutAmount": "100",
    "transferCurrency": "PHP",
    "paymentMode": "Bank"
  }
}
curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
         "apiName": "DO_TRANSACTION_PRE",
         "entity": {
             "clientTxnNo": "1000",
             "transactionType": "C2C",
             "payInCountry": "HKG",
             "payInCurrency": "HKD",
             "payInAmount": "13.57",
             "payOutCountry": "PHL",
             "payOutCurrency": "PHP",
             "payOutAmount": "100",
             "transferCurrency": "PHP",
             "paymentMode": "Bank"
         }
     }'
public class example{
  public static void main(String[] args){

    NextPlsClient client =
      new DefaultNextPlsClient(
        "http://staging.nextpls.com/v1/remittance",
        "test_client", "cek_tester_remit", "initial_tester01",
        publicKey, secretKey);
    NextPlsTransactionRequestDto preRequestDto = new NextPlsTransactionRequestDto();
    preRequestDto.setClientTxnNo("1000");
    preRequestDto.setTransactionType("C2C");
    preRequestDto.setPayInCountry("HKG");
    preRequestDto.setPayInCurrency("HKD");
    preRequestDto.setPayInAmount("13.57");
    preRequestDto.setPayOutCountry("PHL");
    preRequestDto.setPayOutCurrency("PHP");
    preRequestDto.setPayOutAmount("100");
    preRequestDto.setTransferCurrency("PHP");
    preRequestDto.setPaymentMode("Bank");
    NextPlsDoTransactionPreRequest preRequest =
      NextPlsDoTransactionPreRequest.build(preRequestDto);
    client.execute(preRequest);

  }
}
print("=====> 2. 开始预下单...")
    txnPreDto = {
        "clientTxnNo":"1651854777757204546",
        "payInAmount":"0.36",
        "payInCountry":"SGP",
        "payInCurrency":"HKD",
        "payOutCountry":"HKG",
        "payOutCurrency":"HKD",
        "paymentMode":"Bank",
        "transactionType":"B2C",
        "transferCurrency":"HKD"
    }

    pre_res = json.loads(sdk.post({
        "apiName": "DO_TRANSACTION_PRE",
        "entity": txnPreDto
        },url))

print("预下单结果:" + str(pre_res))

3.4.2.Request Body

参数 类型 描述 O/M
apiName String DO_TRANSACTION_PRE M
entity Object 客户方请求参数 M
clientTxnNo String(20) 客户方唯一编号 M
transactionType String(3) 交易类型 O
payInCountry String(3) 汇款(源)国家-ISO-3位国家编码 示例Singapore传 SGP M
payInCurrency String(3) 汇款(源)币种,ISO 4217格式 M
payInAmount String(18) 汇款(源)金额 C
payOutCountry String(3) 到账(目标)国家-ISO-3位国家编码 示例Philippine传 PHL M
payOutCurrency String(3) 到账(目标)币种,ISO 4217格式 M
payOutAmount String(18) 到账(目标)金额 C
transferCurrency String(3) 交易币种(固定侧, 必须是汇款或到账币种) M
paymentMode String(20) 到账方式 M

参考 国家/地区&币种代码

Response Body:

{
  "apiName": "DO_TRANSACTION_PRE_R",
  "code": "200",
  "msg": "success",
  "entity": {
    "txnNo": "IU201G0279816077",
    "clientTxnNo": "1000",
    "transactionType": "C2C",
    "payInAmount": "13.57",
    "payInCurrency": "HKD",
    "payOutCurrency": "PHP",
    "payOutAmount": "100",
    "transferCurrency": "HKD",
    "paymentMode": "Bank",
    "exchangeRate": "7.369781",
    "commission": "0.1000",
    "commissionCurrency": "HKD",
    "totalAmount": "13.67"
  }
}

3.4.3.Response Body

参数 类型 描述
apiName String DO_TRANSACTION_PRE_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
txnNo String 交易编号
clientTxnNo String 客户方交易编号
transactionType String 交易类型
payInAmount String 汇款(源)金额
payInCurrency String 汇款(源)币种
payOutCurrency String 到账(目标)币种
payOutAmount String 到账(目标)金额
transferCurrency String 交易币种
paymentMode String 支付方式
exchangeRate String 汇率
commission String 手续费
commissionCurrency String 手续费币种
totalAmount String 支付总额

3.5.DoTransaction

创建订单

3.5.1.HTTP Request

POST DO_TRANSACTION

Request Body:

{
    "apiName": "DO_TRANSACTION",
    "entity": {
        "txnNo": "IU201G0279816077",
        "clientTxnNo": "1000",
        "remitterNo": "",
        "beneficiaryNo": "",
        "purposeCode": "EDUCATION",

        "remitterFirstName": "Remitter_First_Name",
        "remitterMiddleName": "",
        "remitterLastName": "Remitter_Last_Name",
        "remitterFirstLocalName": "Remitter_First_Local_Name",
        "remitterMiddleLocalName": "",
        "remitterLastLocalName": "Remitter_Middle_Last_Name",
        "remitterMobile": "12345678910",
        "remitterGender": "M",
        "remitterBirthdate": "01/01/1994",
        "remitterEmail": "nextPls@nextPls.com",
        "remitterAddress1": "Italy",
        "remitterAddress2": "",
        "remitterAddress3": "",
        "remitterPostalCode": "",
        "remitterOccupation": "",
        "remitterIdType": "PASSPORT",
        "remitterIdNumber": "PS256454165",
        "remitterIdDesc": "",
        "remitterIdIssueDate": "01/01/1994",
        "remitterIdExpDate": "01/01/1994",
        "remitterNationality": "HKG",
        "remitterAccountNumber": "",
        "remitterCompanyName": "",
        "remitterCompanyRegistrationNumber": "",
        "remitterDateOfIncorporation": "01/01/1994",
        "remitterCompanyRegistrationCountry": "",
        "sourceOfIncome": "SALARY",

        "beneficiaryFirstName": "Beneficiary_First_Name",
        "beneficiaryMiddleName": "",
        "beneficiaryLastName": "Beneficiary_Last_Name",
        "beneficiaryFirstLocalName": "Beneficiary_First_Local_Name",
        "beneficiaryMiddleLocalName": "",
        "beneficiaryLastLocalName": "Beneficiary_Last_Local_Name",
        "beneficiaryMobile": "12345678910",
        "beneficiaryGender": "",
        "beneficiaryBirthdate": "",
        "beneficiaryEmail": "",
        "beneficiaryAddress1": "Philippines",
        "beneficiaryAddress2": "",
        "beneficiaryAddress3": "",
        "beneficiaryPostalCode": "",
        "beneficiaryOccupation": "",
        "beneficiaryIdType": "PASSPORT",
        "beneficiaryIdNumber": "",
        "beneficiaryIdDesc": "",
        "beneficiaryIdIssueDate": "",
        "beneficiaryIdExpDate": "",
        "beneficiaryNationality": "HKG",
        "beneficiaryRelationship": "BROTHER",
        "beneficiaryBankCode": "11003544",
        "beneficiaryBankAccountNumber": "4555556564564",
        "beneficiaryBankAccountName": "Benificiary_BankAccountName",
        "beneficiaryAccount": "",
        "beneficiaryBankAddress": "",
        "beneficiaryMsg": "",
        "beneficiaryCompanyName": "",
        "beneficiaryCompanyRegistrationNumber": "",
        "beneficiaryDateOfIncorporation": "01/01/1994",
        "beneficiaryCompanyRegistrationCountry": ""
    }
}

curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
         "apiName": "DO_TRANSACTION",
         "entity": {
                       "txnNo": "IU201G0279816077",
                       "clientTxnNo": "1000",
                       "remitterNo": "JJ201A1131599873",
                       "beneficiaryNo": "RP122141",
                       "purposeCode": "EDUCATION"
                   }
     }'
public class example{
  public static void main(String[] args){

    NextPlsClient client =
      new DefaultNextPlsClient(
        "http://staging.nextpls.com/v1/remittance",
        "test_client", "cek_tester_remit", "initial_tester01",
        publicKey, secretKey);
    NextPlsTransactionRequestDto txnRequestDto = new NextPlsTransactionRequestDto();
    txnRequestDto.setTxnNo("IU201G0279816077");
    txnRequestDto.setClientTxnNo("1000");
    txnRequestDto.setBeneficiaryNo("XD201G0589941750");
    txnRequestDto.setRemitterNo("JJ201A1131599873");
    txnRequestDto.setPurposeCode("EDUCATION");
    NextPlsDoTransactionRequest transactionAddRequest =
      NextPlsDoTransactionRequest.build(txnRequestDto);
    client.execute(transactionAddRequest);

  }
}
        txnRequestDto = {
            "txnNo": pre_res['entity']['txnNo'],
            "clientTxnNo": pre_res['entity']['clientTxnNo'],
                    "remitterLastName":"Pan",
                "beneficiaryLastName":"Pan",
                "remitterEmail":"weipei.pan@yeepay.com",
                "beneficiaryIdNumber":"XD201G0589941750",
                "beneficiaryRoutingCode":"018",
                "remitterNationality":"HKG",
                "beneficiaryRelationship":"SELF",
                "beneficiaryBankCode":"19910004",
                "remitterFirstName":"Wilson",
                "beneficiaryFirstName":"Wilson",
                "remitterAddress1":"guangzhou",
                "beneficiaryAddress1":"guangzhou",
                "beneficiaryBankAccountNumber":"123456",
                "beneficiaryEmail":"weipei.pan@yeepay.com",
                "sourceOfIncome":"SALARY"
        }
        # print(str(txnRequestDto))
        txn_res = json.loads(sdk.post({
        "apiName": "DO_TRANSACTION",
        "entity": txnRequestDto
        },url))
        print("返回结果:" + str(txn_res))

3.5.2.Request Body

参数 类型 描述 O/M
apiName String DO_TRANSACTION M
entity Object 客户方请求参数 M
txnNo String(20) 订单编号 M
clientTxnNo String(20) 客户方订单编号 M
purposeCode String(16) 汇款目的 C
remitterFirstName String(50) 汇款人名-英:当交易类型是C2B/C2C必填 M
remitterMiddleName String(50) 汇款人中间名-英 O
remitterLastName String(50) 汇款人姓-英:当交易类型是C2B/C2C需要必填 C
remitterFirstLocalName String(50) 汇款人名-母语:如个人证件签发地/所在国家/地区是中国大陆时传送包括中文字符 C
remitterMiddleLocalName String(50) 汇款人中间名-母语 O
remitterLastLocalName String(50) 汇款人姓-母语:如个人证件签发地/所在国家/地区是中国大陆时传送包括中文字符 C
remitterMobile String(20) 汇款人手机号 M
remitterEmail String(50) 汇款人邮箱 O
remitterAddress1 String(35) 汇款人地址(详细地址) -英/拼音 M
remitterAddress2 String(35) 汇款人地址(城市) -英/拼音 O
remitterAddress3 String(50) 汇款人地址(省/州) -英/拼音;当Payoutcountry是MXN/BRA时必填,需按 Source_State Code List 传值; O
remitterPostalCode String(16) 汇款人邮编 C
remitterOccupation String(64) 汇款人职业 C
remitterIdType String(16) 汇款人证件类型 C
remitterIdNumber String(20) 汇款人证件号 C
remitterIdDesc String(30) 汇款人证件描述 C
remitterIdIssueDate String(10) 汇款人证件签发日期 (MM/DD/YYYY):适用于交易类型是C2B/C2C O
remitterIdExpDate String(10) 汇款人证件有效期 (MM/DD/YYYY):汇入中国时为平台注册日期( yyyy-MM-dd HH:mm:ss);其他到账国是证件有效期 (MM/DD/YYYY) O
remitterBirthdate String(10) 汇款人生日 (MM/DD/YYYY):适用于交易类型是C2B/C2C O
remitterCountryOfBirth String(10) 汇款人出生国家:适用于交易类型是C2B/C2C O
remitterGender String(1) 汇款人性别. M=Male, F=Female O
remitterNationality String(3) 汇款人国籍(3位国家编码):示例Philippine传 PHL C
remitterAccountNumber String(30) 汇款人账户号 O
remitterCompanyName String(100) 汇款人公司名称:适用于交易类型是B2C/B2B C
remitterCompanyRegistrationNumber String(50) 汇款人公司注册编号:适用于交易类型是B2C/B2B(英文/数字) C
remitterDateOfIncorporation String(10) 汇款人公司成立日期(MM/DD/YYYY):适用于交易类型是B2C/B2B C
remitterCompanyRegistrationCountry String(3) 汇款人公司登记所在国:适用于交易类型是B2C/B2B C
sourceOfIncome String(16) 收入来源 M
beneficiaryFirstName String(50) 收款人名-英:当交易类型是B2C/C2C时必填 C
beneficiaryMiddleName String(50) 收款人中间名-英 O
beneficiaryLastName String(50) 收款人姓-英:当交易类型是B2C/C2C时必填 M
beneficiaryFirstLocalName String(50) 收款人名-母语 O
beneficiaryMiddleLocalName String(50) 收款人中间名-母语 O
beneficiaryLastLocalName String(50) 收款人姓-母语 O
beneficiaryMobile String(20) 收款人手机号 C
beneficiaryEmail String(50) 收款人邮箱 O
beneficiaryAddress1 String(35) 收款人地址(详细街道) C
beneficiaryAddress2 String(35) 收款人地址(城市) O
beneficiaryAddress3 String(35) 收款人地址(省/州):1)如果收款人是美国地区 省/州(State)必填需传值 美国州列表 2)收款人是巴西/墨西哥地区省/州(State)必填需传值 Destination_State Code List O
beneficiaryPostalCode String(16) 收款人邮编 C
beneficiaryOccupation String(64) 收款人职业 C
beneficiaryIdType String(16) 收款人身份类型 O
beneficiaryIdNumber String(20) 收款人证件号码 O
beneficiaryIdDesc String(20) 收款人证件描述 C
beneficiaryIdIssueDate String(10) 证件签发日期(MM/DD/YYYY) O
beneficiaryIdExpDate String(10) 证件有效日期(MM/DD/YYYY) O
beneficiaryBirthdate String(10) 收款人生日(MM/DD/YYYY) O
beneficiaryCountryOfBirth String(3) 收款人出生国家 O
beneficiaryGender String(1) 收款人性别 O
beneficiaryNationality String(3) 收款人国籍(3位国家编码) C
beneficiaryRelationship String(16) 与汇款者的关系 C
beneficiaryBankCode String(20) 收款机构编号:可通过收款方银行名称查询的内部银行编码,详见:银行编码 C
beneficiaryBankName String(64) 收款银行名称 C
beneficiaryBankAccountNumber String(30) 收款银行账户: 校验收款方账号为银行卡号传此字段,其他不传 C
beneficiaryBankAccountName String(35) 收款户名 C
beneficiaryAccount String(35) 收款账号:校验收款方账号如果是手机号/邮箱号传此字段,其他不传 C
beneficiaryAccountType String(35) 收款账号类型:汇入美国时需必填(Checking/ Savings),汇入越南时必填(ACC/PAN), 汇入南美需传,其他地区不传; C
beneficiaryBankAddress String(35) 收款银行地址 O
beneficiaryIban String(35) 收款人银行IBAN:当收款方常驻国家(地区)是欧洲国家时或汇入英国走IBAN方式时必填;IBAN不支持下发英镑(GBP)到账,只支持欧元(EUR) C
beneficiarySwiftCode String(16) 收款人银行Swift Code:根据不同银行遵循的标准选填 C
beneficiaryRoutingCode String(16) 收款人银行 Routing Code: 下述到账国必填: HKG-3 digit、GBR -sort code、 USA-ABA、 AUS-BSB、JPN-Branch Code+Branch Name(示例518-堂島,用-分隔) C
beneficiaryMsg String(120) 收款人附言 ,个别到账国不支持详见参数能力表:关注不同到账国可支持附言字符数不同 C
beneficiaryCompanyName String(100) 收款人公司名称:交易类型是C2B/B2B时必填 (需英文/数字 C
beneficiaryCompanyRegistrationNumber String(50) 收款人公司注册编号:适用于交易类型是C2B/B2B C
beneficiaryDateOfIncorporation String(10) 收款人公司成立日期(MM/DD/YYYY):适用于交易类型是C2B/B2B C
beneficiaryCompanyRegistrationCountry String(3) 收款人公司登记所在国:适用于交易类型是C2B/B2B C
extendInfo String(2048) 扩展信息 ,仅用于扩展信息的收集。采用JSON格式。 C

Response Body:

{
  "apiName": "DO_TRANSACTION_R",
  "code": "200",
  "msg": "success",
  "entity": {
    "txnNo": "IU201G0279816077",
    "clientTxnNo": "1000",
    "status": "TRANSACTION_ING"
  }
}

3.5.3.Response Body

参数 类型 描述
apiName String DO_TRANSACTION_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
txnNo String NextPls订单唯一编号
clientTxnNo String 客户方订单唯一编号
status String 订单状态
errorMsg String 订单错误信息

3.6.GetTransactionStatus

获取交易状态

3.6.1.HTTP Request

POST GET_TRANSACTION_STATUS

Request Body:

{
    "apiName": "GET_TRANSACTION_STATUS",
    "entity": {
        "txnNo": "IU201G0279816077",
        "clientTxnNo": "1000"
    }
}
curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
         "apiName": "GET_TRANSACTION_STATUS",
         "entity": {
             "txnNo": "IU201G0279816077",
             "clientTxnNo": "1000"
         }
     }'
public class example{
    public static void main(String[] args){

        NextPlsClient client = 
            new DefaultNextPlsClient(
                "http://staging.nextpls.com/v1/remittance", 
                "test_client", "cek_tester_remit", "initial_tester01", 
                publicKey, secretKey);
        NextPlsTransactionRequestDto txnRequestDto = new NextPlsTransactionRequestDto();
        txnRequestDto.setTxnNo("IU201G0279816077");
        txnRequestDto.setClientTxnNo("1000");
        NextPlsGetTxnStatusRequest txnStatusRequest = 
                    NextPlsGetTxnStatusRequest.build(txnRequestDto);
        client.execute(txnStatusRequest);

    }
}

3.6.2.Request Body

参数 类型 描述 O/M
apiName String GET_TRANSACTION_STATUS M
entity Object 客户方请求参数 M
txnNo String(20) NextPls订单唯一编号 M
clientTxnNo String(20) 客户方订单唯一编号 M

Response Body:

{
    "apiName": "GET_TRANSACTION_STATUS_R",
    "code": "200",
    "msg": "success",
    "entity": {
      "reference": "FRTR1001349991",
      "txnNo": "IU201G0279816077",
      "clientTxnNo": "1000",
      "status": "TRANSACTION_ING"
  }
}

Response Body

参数 类型 描述
apiName String GET_TRANSACTION_STATUS_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
txnNo String NextPls订单唯一编号
clientTxnNo String 客户方订单唯一编号
reference String 现金到账的领取码
status String 订单状态
errorCode String 业务错误码
errorMsg String 业务错误信息

3.7.BankAccountNumberAnalysis

收款银行卡号解析提取接口:

仅适用于汇入日本的 收款银行名称是邮储银行(YUCHO-ゆうちょ銀行)通过传送全卡号解析提供的口座番号和支店号,再调3.5.DoTransaction接口下单使用;

使用注意事项:

依据当地监管要求,启用时在汇款人页面前端需同时按照《汇入日本-邮储银行解析接口使用指导手册》;

3.7.1.HTTP Request

POST BANK_ACCOUNT_NUMBER_ANALYSIS

Request Body:

{
    "apiName":"BANK_ACCOUNT_NUMBER_ANALYSIS",
    "entity":{
        "payOutCountry":"JPY",
        "bankCode":"10121195",
        "beneficiaryBankAccountNumber":"12345-2-01234567"
    }
}
curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
        "apiName":"BANK_ACCOUNT_NUMBER_ANALYSIS",
        "entity":{
            "payOutCountry":"JPY",
            "bankCode":"10121195",
            "beneficiaryBankAccountNumber":"12345-2-01234567"
         }
     }'
public class example{
    public static void main(String[] args){

        NextPlsClient client = 
            new DefaultNextPlsClient(
                "http://staging.nextpls.com/v1/remittance", 
                "test_client", "cek_tester_remit", "initial_tester01", 
                publicKey, secretKey);
        NextPlsBankAccountNumberAnalysisRequestDto obj = new NextPlsBankAccountNumberAnalysisRequestDto();
        obj.setBeneficiaryFullBankAccountNumber("12050-23274681");
        NextPlsBankAccountNumberAnalysisRequest nextPlsBankAccountNumberAnalysisRequest = NextPlsBankAccountNumberAnalysisRequest.build(obj);
        client.execute(nextPlsBankAccountNumberAnalysisRequest);

    }
}

3.7.2.Request Body

参数 类型 描述 O/M
apiName String BANK_ACCOUNT_NUMBER_ANALYSIS M
entity Object 客户方请求参数 M
payOutCountry String(20) 到账国家 默认JPN O
beneficiaryBankCode String(20) 收款机构编号,默认10121195 JAPAN POST BANK O
beneficiaryFullBankAccountNumber String(30) 收款银行全卡号:格式要求【”5位数字“-”5~8位数字“】或【“5位数字”-“1位数字”-“5~8位数字”】 M

Response Body:

{
  "apiName": "BANK_ACCOUNT_NUMBER_ANALYSIS_R",
  "code": "200",
  "msg": "success",
  "entity": {
    "beneficiaryFullBankAccountNumber": "12345-2-01234567",
    "beneficiaryBranchCode": "238",
    "beneficiaryBankAccountNumber": "0123456"
  }
}

Response Body

参数 类型 描述
apiName String BANK_ACCOUNT_NUMBER_ANALYSIS_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
beneficiaryFullBankAccountNumber String 原银行账户全卡号
beneficiaryBranchCode String 解析后的3位支店号
beneficiaryBankAccountNumber String 解析后的7位口座番号

3.8.AddAttachment

附件上传接口:添加一个附件至某笔订单

使用条件:依据准入时申请的开通目标国的合规对交易材料的准入要求上传提供;上传附件支持类型:图片类型(如jpg/png),文件类型(doc/docx/pdf);

3.8.1.HTTP Request

POST ADD_ATTACHMENT

Request Body:

{
    "apiName":"ADD_ATTACHMENT",
    "entity":{
        "txnNo":"GL24AP0897532823",
        "clientTxnNo":"1111",
        "fileType":"identity",
        "fileName":"test.jpg",
        "note":"test"
    }
}
curl --location --request POST 'https://staging.nextpls.com/v1/upload/file' \
          --H 'Authorization: test_client' \
          --H "Content-Type: multipart/form-data" \
          --form 'file=@"/C:/Users/Pictures/1.png"' \
          --form 'txnNo="GL24AP0897532823"' \
          --form 'note="123321"' \
          --form 'fileType="identity"' \
          --form 'fileName="1232122323"' \
          --form 'clientTxnNo="11111"''
public class example{
    public static void main(String[] args){

        NextPlsClient client = 
            new DefaultNextPlsClient(
                "https://staging.nextpls.com/v1/upload/file", 
                "test_client", "cek_tester_remit", "initial_tester01", 
                publicKey, secretKey);
      File file = new File(path);
      MultipartFile multipartFile = convertToMultipartFile(file);
      byte[] fileBytes = multipartFile.getBytes();
      String base64String = Base64.getEncoder().encodeToString(fileBytes);
      NextPlsAddAttachmentDto nextPlsAddAttachmentDto = new NextPlsAddAttachmentDto();
      nextPlsAddAttachmentDto.setTxnNo("GL24AP0897532823");
      nextPlsAddAttachmentDto.setClientTxnNo("1729819226228");
      nextPlsAddAttachmentDto.setFileName("111");
      nextPlsAddAttachmentDto.setFileType("identity");
      nextPlsAddAttachmentDto.setNote("test");
      nextPlsAddAttachmentDto.setFileBase64(base64String);
      NextPlsAddAttachmentRequest build = NextPlsAddAttachmentRequest.build(nextPlsAddAttachmentDto);
      NextPlsBaseResponse<NextPlsAddAttachmentResponse> nextPlsAddAttachmentResponseNextPlsBaseResponse = CLIENT.uploadExecute(build);

    }
}

3.8.2.1Request Body (NON-SDK)

参数 类型 描述 O/M
tnxNo String(20) 订单号(订单号和商户订单号必须传一个) C
clientTxnNo String(20) 商户订单号 (订单号和商户订单号必须传一个) C
fileName String(30) 文件名称 M
fileType String(30) 文件类型 M
file File 文件信息 M
note String 备注 O

3.8.2.2Request Body (SDK)

参数 类型 描述 O/M
apiName String ADD_ATTACHMENT M
entity Object 客户方请求参数 M
tnxNo String(20) 订单号(订单号和商户订单号必须传一个) C
clientTxnNo String(20) 商户订单号 (订单号和商户订单号必须传一个) C
fileName String(30) 文件类型 M
fileType String(30) 文件类型 M
fileBase64 String 文件信息 M
note String 备注 O

Response Body:

{
  "apiName": "ADD_ATTACHMENT_R",
  "code": "200",
  "entity": {
    "txnNo": "BW24B60350141153",
    "clientTxnNo": "1730892482200",
    "fileName": "testHttp",
    "fileType": "payment-for-studying-abroad",
    "note": "test httpapi"
  },
  "msg": "success"
}

Response Body

参数 类型 描述
apiName String ADD_ATTACHMENT_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
txnNo String 订单号
clientTxnNo String 商户订单号
fileName String 文件名称
fileType String 文件类型
note String 备注

3.9.downloadProof

汇款凭证下载接口

适用于下载交易成功的订单汇款凭证

3.9.1.HTTP Request

POST DOWNLOAD_PROOF

Request Body:

{
    "apiName":"DOWNLOAD_PROOF",
    "entity":{
        "txnNo":"XO253S1906612607",
        "type":"NORMAL"
    }
}
curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
        "apiName":"DOWNLOAD_PROOF",
        "entity":{
            "txnNo":"XO253S1906612607",
            "type":"NORMAL"
      }
     }'
public class example{
    public static void main(String[] args){

        NextPlsClient client = 
            new DefaultNextPlsClient(
                "http://staging.nextpls.com/v1/remittance", 
                "test_client", "cek_tester_remit", "initial_tester01", 
                publicKey, secretKey);
        NextPlsDownloadProofRequestDto nextPlsDownloadProofRequestDto = new NextPlsDownloadProofRequestDto();
        nextPlsDownloadProofRequestDto.setTxnNo("XO253S1906612607");
        nextPlsDownloadProofRequestDto.setType("STUDY");
        NextPlsDownloadProofRequest build = NextPlsDownloadProofRequest.build(nextPlsDownloadProofRequestDto);
        NextPlsBaseResponse<NextPlsDownloadProofResponse> execute = CLIENT.execute(build);
    }
}

3.9.2.Request Body

参数 类型 描述 O/M
apiName String DOWNLOAD_PROOF M
entity Object 客户方请求参数 M
txnNo String(32) 订单号 M
type String(16) 当transaction为C2B时,type为STUDY,其它都为NORMAL M

Response Body:

{
  "apiName": "DOWNLOAD_PROOF_R",
  "code": "200",
  "msg": "success",
  "entity": {
    "txnNo": "XO253S1906612607",
    "type": "NORMAL",
    "url": "https://mt-prod-bucket.oss-cn-hangzhou.aliyuncs.com/TF253Q0633432158-receipt.pdf?Expires=1742974523&OSSAccessKeyId=LTAI5tQKmrt6GF1QGEEA5xyn&Signature=5%2BlBYtMtn5HrUzphqD3aQQXGmw8%3D"
  }
}

Response Body

参数 类型 描述
apiName String DOWNLOAD_PROOF_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
txnNo String 订单号
type String 汇款类型
url String 汇款链接(有效期1个小时,过期后需重新下载)

基础信息

4.1.国家/地区&币种代码

获取指定国家对应的国家编码及收款目标币种

三位字母 国家或地区(ISO 英文用名) 惯用名 目标币种
AND Andorra 安道尔 EUR
AUS Australia 澳洲 AUD
BEL Belgium 比利时 EUR
BRA Brazil 巴西 BRL
CAN Canada 加拿大 CAD
CHE Switzerland 瑞士 EUR
CYP Cyprus 塞浦路斯 EUR
CZE Czech Republic 捷克 EUR
DEU Germany 德国 EUR
DNK Denmark 丹麦 EUR
EST Estonia 爱沙尼亚 EUR
ESP Spain 西班牙 EUR
FIN Finland 芬兰 EUR
FRA France 法国 EUR
GRC Greece 希腊 EUR
HKG Hong Kong 香港 HKG
HRV Croatia 克罗地亚 EUR
IDN Indonesia 印尼 IDR
IRL Ireland 爱尔兰 EUR
IND India 印度 INR
ITA Italy 意大利 EUR
JPN Japan 日本 JPY
KHM Cambodia 柬埔寨 KHR
LIE Liechtenstein 列支敦士登 EUR
LKA Sri Lanka 斯里兰卡 LKR
LTU Lithuania 立陶宛 EUR
LUX Luxembourg 卢森堡 EUR
LVA Latvia 拉脱维亚 EUR
MAF Saint Martin (France) 法属圣马丁 EUR
MEX Mexico 墨西哥 MXN
MYS Malaysia 马来西亚 MYR
NLD Netherlands 荷兰 EUR
NOR Norway 挪威 EUR
NPL Nepal 尼泊尔 NPR
PHL The Philippines 菲律宾 PHP
PAK Pakistan 巴基斯坦 PKR
POL Poland 波兰 EUR
ROU Romania 罗马尼亚 EUR
SWE Sweden 瑞典 EUR
SGP Singapore 新加坡 SGD
SVN Slovenia 斯洛文尼亚 EUR
SVK Slovakia 斯洛伐克 EUR
SMR San Marino 圣马力诺 EUR
THA Thailand 泰国 THB
USA United States of America (USA) 美国 USD
VAT Vatican City (The Holy See) 梵蒂冈 EUR
VNM Vietnam 越南 VND
CHN 中国 内地 中国大陆 CNH
GBR Great Britain (United Kingdom; England) 英国 EUR/GBP
NZL New Zealand 新西兰 NZD
KOR South Korea 韩国 KRW

4.2.收款方式

Code 全称 描述
Bank Bank Account DoTransactionPre or BankList is to beneficiary's bank account;
Wallet MobileWallet DoTransactionPre or BankList is to beneficiary's e-wallet;
Cash Cash Pick Up DoTransactionPre or BankList is to beneficiary's cash;
ACCT Bpay/Bill payment DoTransactionPre or BankList is to beneficiary's bank account;

4.3.交易类型

交易类型 描述
C2C DoTransactionPre or DoTransaction is from an individual end user to an individual end user
C2B DoTransactionPre or DoTransaction is from an individual end user to a business
B2C DoTransactionPre or DoTransaction is from a business to an individual end user
B2B DoTransactionPre or DoTransaction is from a business to a business

4.4.订单状态

Code Status Code Status_Description_CN
INIT 订单初始化 初始化订单
HOLD 订单锁定 订单处理锁定
TRANSACTION_SUCCESS 交易成功 订单已经成功处理完毕(订单最终状态)
TRANSACTION_CLOSED 交易关闭 订单被强制关闭(订单最终状态)
INVALID 订单无效 订单参数异常等原因导致的订单无效
TRANSACTION_APPLY 交易已申请 完成前置效验后,开始向渠道方请求成功后
TRANSACTION_SUBMITTED 交易已受理 订单已提交至渠道清结算
TRANSACTION_AVAILABLE 交易已可提款 CASH现金到账方式下,交易处理成功等待对方提款的状态
TRANSACTION_CHECK 订单复核 可疑重复下单、风控异常等 的人工介入复核
TRANSACTION_PROCESSING 汇款处理中(人工介入) 订单处于人工处理阶段
TRANSACTION_CANCELING 交易取消处理中(人工介入) 订单处于取消/退款的处理流程中
TRANSACTION_REFUND 交易退款 Nextpls退还资金到商户余额,最终结果状态(订单最终状态)
TRANSACTION_FAILED 交易失败 向渠道方下单失败等系统自动处理时的失败,最终结果状态(订单最终状态)

4.5 传参说明

在下面的文档中缩写值的定义

参数 类型 描述
M string 必填字段
O string 选填字段
C string 有前置条件的选填或必填字段

错误信息

5.1.HTTP Error Codes

这些错误编码将在API的返回体中显示

Error Code Description
200 Request Success
500 Request Fail
10000 The system is busy, please try again later
10006 No this Method
10007 Invalid Signature
10010 Missing Parameters
10011 Wrong Parameters
10012 Interface is not open
10015 Unauthorized Request
10101 Fee amount query error
10102 The rate query failed
10103 Please get the rate first
10104 The target country error or unsupported
10105 The source country error or unsupported
10106 The target currency error or unsupported
10107 The source currency error or unsupported
20010 The remitter add failed
20011 The clientRemitterNo already exists
20013 The remitter query failed
20014 The remitter update failed
20050 The beneficiary add failed
20051 The clientBeneficiaryNo already exists
21052 The beneficiary detail doesn't exist
20053 The beneficiary query failed
20054 The beneficiary update failed
20056 Invaid Account Number
30001 The clientTxnNo already exists
30002 The transaction query failed
30003 The transaction create failed
30004 The transaction amount is empty
30005 The amount received and remitted does not match
30006 The transaction had time out
30007 The transaction has been cancelled
30008 The transaction cancellation failed
30009 The transaction doesn't exist
30010 The transaction status query failed
30011 The token of rate doesn't exist or time out
30012 The target amount error
30013 This payment mode unsupported
30014 Suspected duplicate transaction
30015 It is not supported that source and settlement currency are different
50000 High risk interception
50011 The amount exceeds the single limit
50012 The amount exceeds the daily limit
50013 The amount exceeds the monthly limit
88001 No account opened in this currency
88002 Insufficient balance of account/credit

5.2.Business Error Codes

Error Code Error Description
1000 商户结算账户余额不足
1001 渠道维护中,暂不可用
1002 汇款币种错误
1003 汇款金额错误
1004 汇款金额需大于最低金额
1005 交易超过限额(单笔/单月)
1006 订单超过锁汇时间
1007 收款行不支持
1008 渠道处理失败
1009 重复交易
1010 请求交易过频
1011 交易被取消
1012 必填字段缺少
1013 字段类型不匹配
1014 字段长度不匹配
1015 汇款人国籍缺少
1016 汇款人证件类型缺少
1017 汇款人证件号码缺少
1018 汇款人生日缺少
1019 汇款人地址要素缺少
1020 收款人证件号码缺少
1021 收款人邮箱缺少
1022 收款人账号缺少
1023 不支持的BankCode
1024 汇款方姓名错误
1025 汇款方地址错误
1026 汇款方证件类型错误
1027 汇款方生日错误
1028 汇款方国籍错误
1029 汇款目的错误
1030 汇款方职业错误
1031 汇款方收入来源错误
1032 收款方姓名错误
1033 收款方账号姓名不匹配
1034 收款方地址错误
1035 收/汇款方性别错误
1036 收款方证件信息错误
1037 收款方生日错误
1038 收款方国籍错误
1039 收款方职业错误
1040 收款方账号错误
1041 收款方账号验证失败
1042 收款方账号被冻结/无效
1043 收汇款人关系错误
1044 收款方本地路由号错误
1045 收款人邮箱错误
1046 请求参数无效
1047 系统原因
1048 系统繁忙,请重新尝试
1049 命中风控/制裁名单
1050 未经授权的操作拒绝
1051 请求信息已存在
1052 收款人附言错误
1053 收款方姓名格式错误(如汇入香港Lastname后尝试加空格)

附录

6.1.美国州列表

缩写 州名原名 州名中译 首府中译 首府原文
AL Alabama 亚拉巴马州 蒙哥马利 Montgomery
AK Alaska 阿拉斯加州 朱诺 Juneau
AZ Arizona 亚利桑那州 菲尼克斯 Phoenix
AR Arkansas 阿肯色州 小石城 Little Rock
CA California 加利福尼亚州 萨克拉门托 Sacramento
CO Colorado 科罗拉多州 丹佛 Denver
CT Connecticut 康涅狄格州 哈特福德 Hartford
DE Delaware 特拉华州 多佛 Dover
FL Florida 佛罗里达州 塔拉哈西 Tallahassee
GA Georgia 佐治亚州 亚特兰大 Atlanta
HI Hawaii 夏威夷州 火奴鲁鲁 Honolulu
ID Idaho 爱达荷州 博伊西 Boise
IL Illinois 伊利诺伊州 斯普林菲尔德 Springfield
IN Indiana 印第安纳州 印第安纳波利斯 Indianapolis
IA Iowa 艾奥瓦州 得梅因 Des Moines
KS Kansas 堪萨斯州 托皮卡 Topeka
KY Kentucky 肯塔基州 法兰克福 Frankfort
LA Louisiana 路易斯安那州 巴吞鲁日 Baton Rouge
ME Maine 缅因州 奥古斯塔 Augusta
MD Maryland 马里兰州 安那波利斯 Annapolis
MA Massachusetts 马萨诸塞州 波士顿 Boston
MI Michigan 密歇根州 兰辛 Lansing
MN Minnesota 明尼苏达州 圣保罗 St. Paul
MS Mississippi 密西西比州 杰克逊 Jackson
MO Missouri 密苏里州 杰斐逊城 Jefferson City
MT Montana 蒙大拿州 海伦那 Helena
NE Nebraska 内布拉斯加州 林肯市 Lincoln
NV Nevada 内华达州 卡森城 Carson City
NH New Hampshire 新罕布什尔州 康科德 Concord
NJ New Jersey 新泽西州 特伦顿 Trenton
NM New Mexico 新墨西哥州 圣菲 Santa Fe
NY New York 纽约州 奥尔巴尼 Albany
NC North Carolina 北卡罗来纳州 罗利 Raleigh
ND North Dakota 北达科他州 俾斯麦 Bismarck
OH Ohio 俄亥俄州 哥伦布 Columbus
OK Oklahoma 俄克拉何马州 俄克拉何马城 Oklahoma City
OR Oregon 俄勒冈州 塞勒姆 Salem
PA Pennsylvania 宾夕法尼亚州 哈里斯堡 Harrisburg
RI Rhode Island 罗得岛州 普罗维登斯 Providence
SC South Carolina 南卡罗来纳州 哥伦比亚 Columbia
SD South Dakota 南达科他州 皮尔 Pierre
TN Tennessee 田纳西州 纳什维尔 Nashville
TX Texas 得克萨斯州 奥斯汀 Austin
UT Utah 犹他州 盐湖城 Salt Lake City
VT Vermont 佛蒙特州 蒙彼利埃 Montpelier
VA Virginia 弗吉尼亚州 里士满 Richmond
WA Washington 华盛顿州 奥林匹亚 Olympia
WV West Virginia 西弗吉尼亚州 查尔斯顿 Charleston
WI Wisconsin 威斯康星州 麦迪逊 Madison
WY Wyoming 怀俄明州 夏延 Cheyenne

6.2.香港地区银行列表

BANK-EN BANK-CN BANK-ID
ABN AMRO BANK N.V. 307
Agricultural Bank of China Limited, Hong Kong Branch 中国农业银行股份有限公司香港分行 222
Airstar Bank Limited 天星银行有限公司 395
Ant Bank (Hong Kong) Limited 蚂蚁银行(香港) 有限公司 393
Australia and New Zealand Banking Corporation Limited 澳新银行 152
Banco Bilbao Vizcaya Argentaria S.A., Hong Kong Branch 西班牙对外银行 147
BANCO SANTANDER S.A. 西班牙桑坦德银行有限公司 267
BANGKOK BANK PUBLIC COMPANY LIMITED 049
"BANK J. SAFRA SARASIN LTD, HONG KONGBRANCH" 瑞士嘉盛银行 278
BANK JULIUS BAER AND CO LTD HONG KONG 瑞士宝盛银行 320
BANK OF MONTREAL 滿地可銀行 086
Bank of America N.A. 美国银行 055
Bank of China (Hong Kong) Limited 中国银行(香港)有限公司 012
Bank of Communications (Hong Kong) Ltd. 交通银行(香港)有限公司 382
Bank of Communications Co., Ltd. Hong Kong Branch 交通银行股份有限公司 香港分行 027
Bank of Dongguan Co., Ltd. 东莞银行股份有限公司 365
BANK OF INDIA 印度銀行 058
Bank of Singapore Limited 新加坡银行有限公司 272
BANK OF TAIWAN 台湾银行 201
Bank SinoPac (Hong Kong Branch) 永丰商业银行股份有限公司香港分行 241
Banque Pictet & Cie SA 364
Barclays Bank PLC 074
BDO UNIBANK, INC. 金融银行有限公司 067
BNP PARIBAS HONG KONG BRANCH 法国巴黎银行香港分行 056
CA Indosuez (Switzerland) SA 东方汇理财富管理 339
CANADIAN IMPERIAL BANK OF COMMERCE 加拿大帝国商业银行 092
CATHAY BANK 国泰银行 263
"Cathay United Bank Company, Limited, Hong Kong Branch" 國泰世華銀行香港分行 236
CHANG HWA COMMERCIAL BANK LIMITED 彰化商业银行 (香港分行) 206
CHINA BOHAI BANK CO., LTD. 渤海银行股份有限公司 361
CHINA CITIC BANK INTERNATIONAL LIMITED 中信银行(国际)有限公司 018
China Construction Bank (Asia) Corporation Limited 中国建设银行(亚洲)股份有限公司 009
"China Construction Bank Corporation, Hong KongBranch" 中国建设银行股份有限公司香港分行 221
China Development Bank Hong Kong Branch 国家开发银行香港分行 276
China Everbright Bank 中国光大银行 368
China Guangfa Bank Co., Ltd. 广发银行股份有限公司 359
China Merchants Bank Co. Ltd. Hong Kong Branch 招商银行香港分行 238
China Minsheng Banking Corp., Ltd. 中国民生银行 353
CHINA ZHESHANG BANK CO., LTD. 浙商银行股份有限公司 383
Chiyu Banking Corporation Limited 集友银行有限公司 039
Chong Hing Bank Limited 创兴银行有限公司 041
CIMB BANK BERHAD 联昌银行有限公司 374
Citibank (Hong Kong) Limited 花旗银行(香港)有限公司 250
Citibank N.A. Hong Kong 花旗银行 香港 分行 006
CMB Wing Lung Bank Limited 招商永隆銀行有限公司 020
Commonwealth Bank of Australia 澳洲联邦银行 153
COOPERATIEVE RABOBANK U.A. 荷兰合作银行 183
Credit Agricole Corporate and Investment Bank 法国东方汇理银行 005
Credit Industriel et Commercial, Hong Kong Branch 324
Credit Suisse AG Hong Kong Branch 瑞士信贷银行股份有限公司香港分行 233
CTBC BANK CO., LTD 中国信托商业银行 229
Dah Sing Bank, Limited 大新银行有限公司 040
DBS Bank (Hong Kong) Ltd. 星展银行 (香港)有限公司 016
DBS Bank Ltd, HK Branch 星展银行, 香港分行 185
Deutsche Bank AG Hong Kong Branch 德意志银行香港分行 054
DZ BANK AG DEUTSCHE ZENTRAL-GENOSSENSCHAFTSBANK, FRANKFURT AM MAIN, HONG KONG BRANCH 德國中央合作銀行香港分行 113
E.Sun Commercial Bank, Ltd. 玉山商业银行股份有限公司 243
EAST WEST BANK 华美銀行 258
EFG Bank AG Hong Kong Branch 瑞士盈丰银行 237
Erste Group Bank AG 227
Far Eastern International Bank Co Ltd. 远东国际商业银行股份有限公司 260
First Abu Dhabi Bank PJSC 277
FIRST COMMERCIAL BANK LTD HONG KONG BRANCH 第一商業銀行股份有限公司 203
Fubon Bank (Hong Kong) Limited 富邦银行(香港)有限公司 128
Fusion Bank Limited 富融银行有限公司 391
Hang Seng Bank Ltd. 恒生银行有限公司 024
HDFC BANK LIMITED 308
Hong Leong Bank Berhad Hong Kong Branch 丰隆银行香港分行 248
HUA NAN COMMERCIAL BANK LTD. (HK BRANCH) 华南商业银行香港分行 198
Hua Xia Bank Co., Limited 华夏银行股份有限公司 386
ICICI BANK LIMITED 251
INDIAN OVERSEAS BANK 050
"INDUSTRIAL AND COMMERCIAL BANK OF CHINA(ASIA) LIMITED" 中国工商银行(亚洲) 072
INDUSTRIAL AND COMMERCIAL BANK OF CHINA LIMITED 中国工商银行 214
Industrial Bank Co., Ltd., Hong Kong Branch 兴业银行香港分行 377
INDUSTRIAL BANK OF KOREA 中小企业银行 271
ING Bank N.V., Hong Kong 145
Intesa Sanpaolo S.p.A., Hong Kong 161
JPMorgan Chase Bank, N.A. 摩根大通银行 007
KBC Bank N.V. Hong Kong Branch 比利时联合银行香港分行 178
KEB HANA BANK 046
Kookmin Bank 381
LAND BANK OF TAIWAN CO.,LTD. 台湾土地银行股份有限公司 264
LGT Bank AG., HK Branch 皇家銀行(香港) 342
Livi Bank Limited 388
Malayan Banking Berhad Hong Kong Branch 马来亚银行 063
Mashreq Bank Public Shareholding Company 379
Mega International Commercial Bank Co Ltd 兆丰国际商业银行 242
Melli Bank Plc 254
MITSUBISHI UFJ TRUST AND BANKING CORPORATION 三菱UFJ信托银行 138
Mizuho Bank, Ltd. 瑞穗银行 香港分行 109
Morgan Stanley Bank Asia Limited 摩根士丹利银行亚洲有限公司 384
Mox Bank Limited 389
MUFG Bank, Ltd. 三菱UFJ银行 047
Nanyang Commercial Bank, Limited 南洋商业银行有限公司 043
National Australia Bank Limited 150
National Bank of Pakistan 巴基斯坦国民银行 060
NATIXIS HONG KONG BRANCH 法国外贸银行香港 210
NatWest Markets Plc Hong Kong Branch 国民西敏寺资本市场银行有限公司 008
NongHyup Bank 農協銀行 376
O-Bank Co., Ltd 274
OCBC Wing Hang Bank Limited 华侨永亨银行有限公司 035
OVERSEA - CHINESE BANKING CORPORATION LIMITED 022
PHILIPPINE NATIONAL BANK 119
Ping An Bank Co., Ltd. 平安银行股份有限公司 385
Ping An OneConnect Bank (Hong Kong) Limited 平安壹账通银行(香港)有限公司 392
PT. BANK NEGARA INDONESIA (PERSERO) TBK. 印尼国家银行 066
Public Bank (Hong Kong) Limited 大众银行(香港)有限公司 028
Qatar National Bank (Q.P.S.C.) 卡塔尔国家银行 394
Royal Bank of Canada, Hong Kong Branch 080
Shanghai Commercial Bank Limited 上海商业银行有限公司 025
Shanghai Pudong Development Bank Co., Ltd. 上海浦东发展银行股份有限公司 345
Shinhan Bank Hong Kong Branch 新韓銀行香港分行 273
Skandinaviska Enskilda Banken AB 316
SOCIETE GENERALE HONGKONG BRANCH 法国兴业银行 081
STANDARD CHARTERED BANK (HONG KONG) LIMITED 渣打银行(香港)有限公司 003
STATE BANK OF INDIA 印度國家銀行香港分行 082
State Street Bank & Trust Company, Hong Kong 220
Sumitomo Mitsui Banking Corporation 三井住友银行 065
Sumitomo Mitsui Trust Bank, Limited, Hong Kong Branch 三井住友信托银行香港支店 371
TAI SANG BANK LTD. 大生银行有限公司 061
Tai Yau Bank Limited 大有银行有限公司 038
Taipei Fubon Commercial Bank 台北富邦商业银行股份有限公司 239
Taishin International Bank Co Ltd 台新国际商业银行 245
Taiwan Business Bank, Ltd. 台湾中小企业银行股份有限公司 230
Taiwan Cooperative Bank 合作金库商业银行 265
Taiwan Shin Kong Commercial Bank Co., LTD. 臺灣新光商業銀行股份有限公司 337
The Bank of East Asia, Limited 东亚银行有限公司 015
The Bank of New York Mellon, Hong Kong Branch 纽约梅隆银行有限公司 139
The Bank of Nova Scotia 076
The Chiba Bank Ltd 千叶银行 170
THE CHUGOKU BANK, LTD. 202
The Hachijuni Bank Ltd 188
The Hongkong and Shanghai Banking Corporation Limited 香港上海汇丰银行有限公司 004
The Shanghai Commercial & Savings Bank Ltd.Hong Kong Branch. 上海商业储蓄银行香港分行 269
THE SHIGA BANK, LTD. 滋賀銀行 199
The Shizuoka Bank, Ltd. 静冈银行 186
Toronto Dominion Bank 加拿大多倫多道明銀行 085
UBS AG Hong Kong 103
UCO BANK HONG KONG 045
UNICREDIT BANK AG HONG KONG BRANCH 裕信(德国)银行股份有限公司 164
UNION BANK OF INDIA UNION BANK OF INDIA 268
Union Bancaire Privee, UBP SA 瑞联银行 309
United Overseas Bank Limited 大华银行有限公司 071
Welab Bank Limited 390
Wells Fargo Bank, N.A. Hong Kong Branch 富国银行香港分行 180
Westpac Banking Corporation 澳大利亚西太平洋银行 151
Woori Bank Hong Kong Branch 118
YUANTA COMMERCIAL BANK CO.,LTD 元大商业银行有限公司 378
ZA Bank Limited 众安银行有限公司 387

6.3.欧洲支持国列表

Country(ISO-3) Country-CN Country-EN Payment speed Note
AUT 奥地利 Austria SEPA INSTANT Real-time
BEL 比利时 Belgium SEPA INSTANT Real-time
CYP 塞浦路斯 Cyprus SEPA INSTANT Real-time
CZE 捷克 Czech Republic SEPA INSTANT Real-time
DNK 丹麦 Denmark SEPA INSTANT Real-time
FIN 芬兰 Finland SEPA INSTANT Real-time
FRA 法国 France SEPA INSTANT Real-time
DEU 德国 Germany SEPA INSTANT Real-time
GRC 希腊 Greece SEPA INSTANT Real-time
HUN 匈牙利 Hungary SEPA INSTANT Real-time
ISL 冰岛 Iceland SEPA INSTANT Real-time
IRL 爱尔兰 Ireland SEPA INSTANT Real-time
ITA 意大利 Italy SEPA INSTANT Real-time
LUX 卢森堡公国 Luxembourg SEPA INSTANT Real-time
NLD 荷兰 Netherlands SEPA INSTANT Real-time
NOR 挪威 Norway SEPA INSTANT Real-time
POL 波兰 Poland SEPA INSTANT Real-time
PRT 葡萄牙 Portugal SEPA INSTANT Real-time
RO 罗马尼亚 Romania SEPA INSTANT Real-time
SVK 斯洛伐克 Slovakia SEPA INSTANT Real-time
SVN 斯洛文尼亚 Slovenia SEPA INSTANT Real-time
ESP 西班牙 Spain SEPA INSTANT Real-time
SWE 瑞典 Sweden SEPA INSTANT Real-time
CHE 瑞士 Switzerland SEPA INSTANT Real-time
AND 安道尔共和国 Andorra Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
BGR 保加利亚 Bulgaria Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
HRV 克罗地亚 Croatia Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
EST 爱沙尼亚 Estonia Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
LVA 拉脱维亚 Latvia Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
LIE 列支敦士登 Liechtenstein Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
LTU 立陶宛 Lithuania Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
MLT 马耳他 Malta Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
MCO 摩纳哥 Monaco Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
SMR 圣马力诺 San Marino Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
VAT 梵蒂冈 Vatican City Sepa:T+1 - 3pm GMT cut-off, no processing over the weekend or bank holidays SEPA-48小时返回失败
UK 英国 United Kingdom Faster payment-Success in 2 hours

6.4.证件类型

Code Description_EN Description_CN
PASSPORT Passport 护照
NATIONAL_ID National Identification Card 国家身份证
DRIVING_LICENSE Driving License 驾照
SOCIAL_SECURITY Social Security Card/Number 社保卡
TAX_ID Tax Payer Identification Card/Number 纳税证
SENIOR_CITIZEN_ID Senior Citizen Identification Card 老年证
BIRTH_CERTIFICATE Birth Certificate 出生证明
VILLAGE_ELDER_ID Village Elder Identification Card 村长证
RESIDENT_CARD Permanent Residency Identification Card 永久居民身份证
ALIEN_REGISTRATION Alien Registration Certificate/Card 外国人登记证
PAN_CARD PAN Card 永久性账号卡(印度)
VOTERS_ID Voter’s Identification Card 选民证
HEALTH_CARD Health Insurance Card/Number 健康保险卡
EMPLOYER_ID Employer Identification Card 雇主证
WORKING_PERMIT Working permit 工作许可证
HK_MC_PASS HK_MC_PASS 港澳通行证
HK_IDENTITY_CARD HK_IDENTITY_CARD 香港身份证

6.5.收汇款人关系

Code Description_EN Description_CN
BROTHER Brother 兄弟
BROTHER_IN_LAW Brother-in-law 姐夫/妹夫
COUSIN Cousin 表亲
DAUGHTER Daughter 女儿
FATHER Father 父亲
FATHER_IN_LAW Father-in-law 岳父
FRIEND Friend 朋友
GRAND_FATHER Grandfather 祖父
GRAND_MOTHER Grandmother 祖母
HUSBAND Husband 丈夫
MOTHER Mother 母亲
MOTHER_IN_LAW Mother-in-law 岳母
NEPHEW Nephew 侄子
NIECE Niece 侄女
SELF Self (i.e. the sender, himself) 自己
SISTER Sister 姐妹
SISTER_IN_LAW Sister-in-law 嫂子/弟媳
SON Son 儿子
UNCLE Uncle 叔叔
WIFE Wife 妻子
AUNT Aunt 阿姨
EMPLOYEE Employee 雇员
BUSINESS_PARTNER Business Partner 工作伙伴
EMPLOYER Employer 雇主
SERVICE_PROVIDERS Service Providers 服务提供商
TRADERS Traders 交易员

6.6.收入来源

Code Description_EN Description_CN
SALARY Salary from Employment 雇佣工资
BUSINESS Own Business 经商
LOANS Loans 贷款
SAVINGS Savings 储蓄
DIVIDEND_INCOME Dividend income 股息收入
ASSETS_SALES Sales of assets 资产出售
SHARE_ISSUE Issue of share 股票发行
DEBENTURE Issue of bond or debenture 发行债券
TAX_REFUND Tax refund 退税
VENTURE_CAPITAL Venture capital 风险投资
CLAIMS Claims 索赔
COMPENSATION Compensation 补贴
SPOUSE Financial supports from Spouse 配偶资助
PROPERTY_INVESTMENT Property investment 房产投资
SHARES_INVESTMENT Shares investment 股份投资
PARENTS Financial supports from parents 父母资助
CHILDREN Financial supports from children 子女资助
RETIREMENT_FUND Retirement fund 退休金
RENTAL Rental or leasing income 租金或租赁收入
CASH Cash 现金
LOTTERY Lottery 彩票
GIFT Gift 馈赠
PART_TIME_JOB Part Time Job 兼职工作

6.7.汇款目的

Code Description_EN Description_CN
FAMILY_SUPPORT Family support 家庭支出
EDUCATION Education 教育
GIFT Gift 礼品
MEDICAL_TREATMENT Medical treatment 医疗
MAINTENANCE_EXPENSES Maintenance or other expenses 生活费
TRAVEL Travel 旅游
SMALL_VALUE_REMITTANCE Small value remittance 小额汇款
CONSTRUCTION_EXPENSES Construction expenses 建筑费用
HOTEL_ACCOMMODATION Hotel accommodation 酒店住宿
ADVERTISING_EXPENSES Advertising and/or public relations related expenses 广告/公关费
ADVISORY_FEES Fees for advisory or consulting service 咨询服务费
BUSINESS_INSURANCE Business related insurance payment 商业保险
INSURANCE_CLAIMS Insurance claims payment 保险索赔
DELIVERY_FEES Delivery fees 外卖费/运费
EXPORTED_GOODS Payments for exported goods 出口商品支付/出口货物付款
SERVICE_CHARGES Payment for services 服务费
LOAN_PAYMENT Payment of loans 支付贷款
OFFICE_EXPENSES Office expenses 办公费用
PROPERTY_PURCHASE Residential property purchase 地产购买
PROPERTY_RENTAL Property rental payment 财产租赁
ROYALTY_FEES Royalty, trademark, patent and copyright fees 版税、商标费、专利费和版权费
SHARES_INVESTMENT Investment in shares 股票投资
FUND_INVESTMENT Fund investment 基金投资
TAX_PAYMENT Tax payment 纳税/支付税款
TRANSPORTATION_FEES Transportation fees 运输费用/交通费
UTILITY_BILLS Utility bills 水电费
PERSONAL_TRANSFER Personal transfer 私人转账
SALARY_PAYMENT Payment of salary 支付工资
OTHER_FEES Broker, commitment, guarantee and other fees 经纪人、委托、担保和其他费用
ACCOUNT_OPENING Account opening 开户
STUDYING_PAYMENT STUDYING_PAYMENT 学费

6.8.职业

6.8.1.通用职业枚举

备注:适用于汇入中国的2C交易类型下的职业

Code Description_EN Description_CN
AGRICULTURE Agriculture 农业
DOCTOR Doctor 医生
FREELANCE_PROFESSION Freelance profession 自由职业
GOVERNMENT_OFFICER Government officer 公务员
HOUSEWIFE Housewife 家庭主妇
NURSE Nurse 护士
OFFICE_WORKER Office worker 白领
OFFICER Officer 官员
PUBLIC_EMPLOYEE Public employee 公职人员
RETIREMENT Retirement 退休
SELF_EMPLOYED Self-employed 自由职业
STUDENT Student 学生
TEACHER Teacher 教师
UNEMPLOYED Unemployed 失业
HOSPITALITY_WORKER Hospitality worker 酒店员工
SECURITY_SERVICES Security services 安全服务
DOMESTIC_WORKER Domestic worker 家政
RETAIL_WORKER Retail worker 零售
LABOURER Labourer 工人

6.8.2.汇入中国职业枚举

备注:适用于汇入中国的2B交易类型下的职业

Code Description_EN Description_CN
ARCHITECTURE ARCHITECTURE 建筑
MINING MINING 采矿
CATERING CATERING 餐饮
INSURANCE INSURANCE 保险
CONSULTATION CONSULTATION 咨询
REALESTATE REALESTATE 房地产
FAMILYSERVICE FAMILYSERVICE 家庭服务
INDUSTRIALMANUFACTURING INDUSTRIALMANUFACTURING 工业制造
AGRICULTUREANDANIMALHUSBANDRY AGRICULTUREANDANIMALHUSBANDRY 农业畜牧
BEAUTYSALON BEAUTYSALON 美容美发
ARTDESIGN ARTDESIGN 艺术设计
TOURISMSERVICE TOURISMSERVICE 旅游服务
ACADEMICRESEARCH ACADEMICRESEARCH 学术研究
INFORMATIONTECHNOLOGY INFORMATIONTECHNOLOGY 信息技术
EDUCATIONANDTRAINING EDUCATIONANDTRAINING 教育培训
HEALTHCAREANDMEDICINE HEALTHCAREANDMEDICINE 保健医疗
RETAILANDWHOLESALE RETAILANDWHOLESALE 零售批发
SPORTS SPORTS 体育运动
TRAFFICANDTRANSPORTATION TRAFFICANDTRANSPORTATION 交通运输

6.9.目标国家支持银行(Bank Code)

目标国家支持银行列表

HTTP Request

POST GET_BANK_NETWORK_LIST

{
  "apiName": "GET_BANK_NETWORK_LIST",
  "entity": {
    "countryCode": "",
    "bankCode": "",
    "mode": ""
  }
}
curl -X POST http://staging.nextpls.com/v1/remittance
    -H "Content-Type: application/base64"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
        "apiName": "GET_BANK_NETWORK_LIST",
        "entity": {
          "countryCode": "",
          "bankCode": "",
          "mode": ""
                }
      }'
public class example{
    public static void main(String[] args){

        NextPlsClient client = 
            new DefaultNextPlsClient(
                "http://staging.nextpls.com/v1/remittance", 
                "test_client", "cek_tester_remit", "initial_tester01", 
                publicKey, secretKey);
      NextPlsBankNetworkListRequestDto bankNetworkListRequestDto = new NextPlsBankNetworkListRequestDto();
      bankNetworkListRequestDto.setCountryCode("IND");
      NextPlsGetBankNetworkListRequest bankNetworkListRequest = NextPlsGetBankNetworkListRequest.build(bankNetworkListRequestDto);
      client.execute(bankNetworkListRequest);             
    }
}

6.9.1.Request Body

参数 类型 描述 O/M
apiName String GET_BANK_NETWORK_LIST M
entity Object 客户方请求参数 M
countryCode String(3) 到账国家 0
bankCode String 银行编码 0
mode String 到账方式 0

Response Body:

{
  "apiName":"GET_BANK_NETWORK_LIST_R",
  "code":"200",
  "entity":{
    "bankNetworkList":[
      {
        "countryCode":"IND",
        "bankCode":"10140001",
        "bankName":"All Banks",
        "mode":"BANK",
        "branchAddr":"India"
      },
      {
        "countryCode":"IND",
        "bankCode":"10149001",
        "bankName":"UPI",
        "mode":"WALLET",
        "branchAddr":"India"
      },
      {
        "countryCode":"IND",
        "bankCode":"10140005",
        "bankName":"FT",
        "mode":"BANK",
        "branchAddr":"India"
      },
      {
        "countryCode":"IND",
        "bankCode":"10140006",
        "bankName":"NEFT",
        "mode":"BANK",
        "branchAddr":"India"
      },
      {
        "countryCode":"IND",
        "bankCode":"10140007",
        "bankName":"IMPS",
        "mode":"BANK",
        "branchAddr":"India"
      },
      {
        "countryCode":"IND",
        "bankCode":"10140008",
        "bankName":"RTGS",
        "mode":"BANK",
        "branchAddr":"India"
      }
    ]
  },
  "msg":"success"
}

6.9.2.Response Body

参数 类型 描述
apiName String GET_BANK_NETWORK_LIST_R
code String 返回码
msg String 返回消息
entity Object NextPls返回结果
countryCode String 国家编码
bankCode String 银行编码 用于 3.4.DoTransaction beneficiaryBankCode映射获取
bankName String 银行名称
mode String 支持类型
branchAddr String 分行地址

6.10.各国本地路由号

即对应汇入国 beneficiaryRoutingCode 字段取值来源说明

6.10.1.澳大利亚

BSB

BSB (Bank-State-Branch) 号码是一个6位数字代码,用于确定澳大利亚本地付款的收款银行和分行,我们需要此代码才能完成本地转账。BSB 号码由银行代码(前两位),省份代码(第三位)和分行代码(后三位)组成。 您可以在银行官网获取BSB号码,收款行信息中会包含该银行的BSB号码。以下提供了澳大利亚四大银行网站的链接供您参考。

Westpac bank

ANZ

Commonwealth Bank of Australia

NAB

BPAY

BPAY是澳大利亚的一种电子账单支付系统,可以通过金融机构的在线平台,移动或固定电话银行向注册BPAY账单的组织支付款项。我们可以通过Bpay为学生支付学费,通过Bpay付款您需要提供收款行的biller code和reference number,biller code是收款机构特有的编码,reference number则是学生的学号。

样例: avatar

6.10.2.美国

ABA

ABA路由号码是由美国银行家协会(ABA)分配给金融机构的9位数识别号码, 该号码标识了支付的金融机构。 路由号码可称为检查路由号码,ABA号码或路由转接号码(RTN)。 路由号码可能会有所不同,具体取决于收款帐户的开启状态和正在进行的交易类型。 您可以在支票上找到银行的ABA号码,或者您可以通过银行官网查找。以下提供了美国银行网站的链接供您参考。

Bank of America

Wells Fargo

Chase

Citi Bank

US Bank NA

PNC Bank

TD Bank

Region Bank

6.10.3.英国

Sort code

Sort code由六位数字组成,通常格式化为三对数字,例如12-34-56,它可以用于标识银行和账户所在的分支机构。 在某些情况下,排序代码的第一个数字代表银行本身,而在其他情况下,前两个数字代表银行。您可以在银行卡下方找到sort code,或联系收款银行获取。

【英国的IBAN号拆分成 sort code 和BankAccountNumber规则】

avatar

6.10.4.新加坡

银行代码

新加坡银行代码是一个七位数的代码用于识别新加坡的银行,其中包含4位银行代码和3位分行代码。您可以在以下链接中查看我们支持的银行列表,另外您可以在银行官网上查询到银行代码和支行代码。

6.10.5.香港

银行代码

香港银行代码是一个用于定位香港银行的三位数字, 用于香港本地的付款,您可以在以下链接中找到您收款行的银行代码。您可以将分行代码填写在账户号前,以更精确地定位您的收款银行。

6.10.6.加拿大

路由号码

加拿大路由号码是用于加拿大本地支付的路由编码,通常有两种格式应用于不同的场景:电子转账路由编码和MICR路由编码。电子转账(EFT)路由编码通常以0为开头,由9位数字组成 (0YYYXXXXX),该路由编码通常用于线上电子转账。 MICR路由编码通常由8位数字组成并且在第五位和第六位中有破折号链接 (XXXXX-YYY),该路由编码通常用于支票转账。两种格式的路由编码都由5位分支机构代码(XXXXX)和3位银行代码组成(YYY)。路由编码可以通过网上银行和支票上获取。

样例: avatar

Bill payment

有些银行也叫PayBills,这个功能主要是日常支付账单,比如支付电话卡账单、信用卡账单、学费、水电气账单等。买单的流程是:

搜索收款人(收款人)添加账号-输入支付金额-一支付完成。例如,BillPayment用于支付多伦多大学的学费。

avatar

账单支付不是实时完成的,一般是2-3个工作日,收款人会显示过账。

E-Transfer

在加拿大,电子转账-简称EMT(Email Money Transfer)是一种安全便捷的电子汇款方式。对于个人和企业来说,这是一个很受欢迎的选择,可以互相支付,分摊账单,并作为礼物送钱。电子转账是通过加拿大金融机构Interac处理的,Interac连接了参与的银行和信用合作社。

要发送电子转账,您需要知道收件人的电子邮件地址或电话号码以及他们的银行账户信息。你也可以在不知道收款人银行账户信息的情况下进行电子转账,但他们需要创建一个Interac电子转账账户来接收这笔钱。

要接收电子转账,您需要在您的银行或信用合作社创建一个Interac电子转账账户。一旦你有了账户,当有人给你汇款时,你就会收到通知。然后你可以接受这笔钱,并将其存入你的银行账户。

以下是使用电子转账的一些好处:

它又快又方便。电子转账可以即时发送和接收。

它是安全的。电子转账由Interac的安全网上银行平台保护。

它是免费的或低成本的。大多数银行和信用合作社不收取电子转账的费用。

6.10.7.欧洲

IBAN

IBAN是由欧洲银行标准委员会( European Committee for Banking Standards,简称 ECBS)按照其标准制定的一个银行帐户号码。参加ECBS的会员国的银行帐户号码都有一个对应的IBAN号码。可以联系你的收款行获取IBAN号码。IBAN号码最多是34位字符, 包括国别代码+银行代码+地区+账户人账号+校验码。您可通过银行官网获取到IBAN号码。

Countries IBAN Beginning(country code) Length
Austria AT 20
Belgium BE 16
Bulgaria BG 22
Croatia HR 21
Cyprus CY 28
Czech Republic CZ 24
Denmark DK 18
Estonia EE 20
Finland FI 18
France FR 27
Germany DE 22
Gibraltar GI 23
Greece* GR 27
Hungary HU 28
Iceland IS 26
Ireland IE 22
Italy IT 27
Latvia LV 21
Liechtenstein LI 21
Lithuania LT 20
Luxembourg LU 20
Malta MT 31
Monaco MC 27
Netherlands NL 18
Norway NO 15
Poland PL 28
Portugal PT 25
Romania RO 24
San Marino SM 27
Slovakia SK 24
Slovenia SI 19
Spain ES 24
Sweden SE 24
Switzerland CH 21
UK GB 22

6.10.8.Swift

Swift code

Swift code一般用于发国际电汇,信用证电报,可定位世界各地的大部分银行。通常由银行代码(四位),国家代码(两位),地区代码(两位)以及分支机构代码(三位)组成。 您可以通过以下链接查询您收款行的SWIFT code,或者联系银行获取。

Swift Code查询

6.11.附加字段键值对枚举

extendInfo

Key Value
txnOriginCurrency 该笔订单的原始币种
txnOriginAmount 该笔订单的原始金额
txnOriginExchangeRate 该笔订单的原始汇率
remitterWebsite 汇款人公司网址

6.12.墨西哥/巴西支持汇出国列表

使用说明:适用于PayOutCountry 是MEX/BRA时,可支持的PayInCountry只支持如下国36国;并且remitterAddress3必填传STATE_CODE;

PayInCountry NAME STATE_NAME STATE_CODE
USA AMERICA ALABAMA AL
USA AMERICA ALABAMA AL
USA AMERICA ALASKA AK
USA AMERICA ARIZONA AZ
USA AMERICA ARKANSAS AR
USA AMERICA CALIFORNIA CA
USA AMERICA COLORADO CO
USA AMERICA CONNECTICUT CT
USA AMERICA DELAWARE DE
USA AMERICA FLORIDA FL
USA AMERICA GEORGIA GA
USA AMERICA HAWAII HI
USA AMERICA IDAHO ID
USA AMERICA ILLINOIS IL
USA AMERICA INDIANA IN
USA AMERICA IOWA IA
USA AMERICA KANSAS KS
USA AMERICA KENTUCKY KY
USA AMERICA LOUISIANNA LA
USA AMERICA MAINE ME
USA AMERICA MARYLAND MD
USA AMERICA MASSACHUSETTS MA
USA AMERICA MICHIGAN MI
USA AMERICA MINNESOTA MN
USA AMERICA MISSISSIPPI MS
USA AMERICA MISSOURI MO
USA AMERICA MONTANA MT
USA AMERICA NEBRASKA NE
USA AMERICA NEVADA NV
USA AMERICA NEW HAMPSHIRE NH
USA AMERICA NEW JERSEY NJ
USA AMERICA NEW MEXICO NM
USA AMERICA NEW YORK NY
USA AMERICA NORTH CAROLINA NC
USA AMERICA NORTH DAKOTA ND
USA AMERICA OHIO OH
USA AMERICA OKLAHOMA OK
USA AMERICA OREGON OR
USA AMERICA PENNSYLVANIA PA
USA AMERICA RHODE ISLAND RI
USA AMERICA SOUTH CAROLINA SC
USA AMERICA SOUTH DAKOTA SD
USA AMERICA TENNESSEE TN
USA AMERICA TEXAS TX
USA AMERICA UTAH UT
USA AMERICA VERMONT VT
USA AMERICA VIRGINIA VA
USA AMERICA WASHINGTON D.C DC
USA AMERICA WASHINGTON STA WA
USA AMERICA WEST VIRGINIA WV
USA AMERICA WISCONSIN WI
USA AMERICA WYOMING WY
DEU GERMANY DE-NA DE-NA
AUT AUSTRIA AT-NA AT-NA
BEL BELGIUM BE-NA BE-NA
BGR BULGARIA BG-NA BG-NA
CYP CYPRUS CY-NA CY-NA
HRV CROATIA HR-NA HR-NA
SVN SLOVENIA SI-NA SI-NA
SVK SLOVAKIA SK-NA SK-NA
ESP SPAIN ES-NA ES-NA
EST ESTONIA  EE-NA EE-NA
FIN FINLAND FI-NA FI-NA
FRA FRANCE FR-NA FR-NA
GRC GREECE GR-NA GR-NA
MLT MALTA MT-NA MT-NA
HUN HUNGARY HU-NA HU-NA
IRL IRELAND IE-NA IE-NA
ITA ITALY IT-NA IT-NA
LVA LATVIA LV-NA LV-NA
LTU LITHUANIA LT-NA LT-NA
LUX LUXEMBOURG LU-NA LU-NA
NLD NETHERLANDS NL-NA NL-NA
POL POLAND PL-NA PL-NA
PRT PORTUGAL PT-NA PT-NA
CZE CZECH REPUBLIC CZ-NA CZ-NA
RO ROMANIA RO-NA RO-NA
SWE SWEDEN SE-NA SE-NA
HKG HONG KONG HK-NA HK-NA
GRL GREENLAND GL-NA GL-NA
GBR UNITED KINGDOM GB-NA GB-NA
NOR NORWAY NO-NA NO-NA
JPN JAPAN JP-NA JP-NA
AUS AUSTRALIA AU-NA AU-NA
CAN CANADA CA-NA CA-NA
SMR SAN MARINO SM-NA SM-NA
NZL NEW ZEALAND NZ-NA NZ-NA

6.13.墨西哥/巴西州地址列表

使用说明:适用于PayOutCountry 是MEX/BRA时,Destination_State的beneficiaryAddress3 必填传STATE_CODE;

PayOutCountry COUNTRY_NAME STATE_NAME STATE_CODE
MEX MEXICO CHIHUAHUA CHH
MEX MEXICO COAHUILA COA
MEX MEXICO COLIMA COL
MEX MEXICO DURANGO DUR
MEX MEXICO ESTADO DE MEXICO MEX
MEX MEXICO GUANAJUATO GUA
MEX MEXICO GUERRERO GRO
MEX MEXICO HIDALGO HID
MEX MEXICO JALISCO JAL
MEX MEXICO MEXICO DF DIF
MEX MEXICO MICHOACAN MIC
MEX MEXICO MORELOS MOR
MEX MEXICO NAYARIT NAY
MEX MEXICO NUEVO LEON NLE
MEX MEXICO OAXACA OAX
MEX MEXICO PUEBLA PUE
MEX MEXICO QUERETARO QUE
MEX MEXICO QUINTANA ROO ROO
MEX MEXICO SAN LUIS POTOSI SLP
MEX MEXICO SINALOA SIN
MEX MEXICO SONORA SON
MEX MEXICO TABASCO TAB
MEX MEXICO TAMAULIPAS TAM
MEX MEXICO TLAXCALA TLA
MEX MEXICO VERACRUZ VER
MEX MEXICO YUCATAN YUC
MEX MEXICO ZACATECAS ZAC
MEX MEXICO AGUASCALIENTES AGU
MEX MEXICO BAJA CALIFORNIA NORTE BCN
MEX MEXICO CAMPECHE CAM
MEX MEXICO CHIAPAS CHP
MEX MEXICO BAJA CALIFORNIA SUR BCS
BRA BRASIL ACRE BR-AC
BRA BRASIL ALAGOAS BR-AL
BRA BRASIL AMAPA BR-AP
BRA BRASIL AMAZONAS BR-AM
BRA BRASIL BAHIA BR-BA
BRA BRASIL CEARA BR-CE
BRA BRASIL DISTRITO FEDERAL BR-DF
BRA BRASIL ESPIRITO SANTO BR-ES
BRA BRASIL GOIAS BR-GO
BRA BRASIL MARANHAO BR-MA
BRA BRASIL MATO GROSSO BR-MT
BRA BRASIL MATO GROSSO DO SUL BR-MS
BRA BRASIL MINAS GERAIS BR-MG
BRA BRASIL PARA BR-PA
BRA BRASIL PARAIBA BR-PB
BRA BRASIL PARANA BR-PR
BRA BRASIL PERNAMBUCO BR-PE
BRA BRASIL PIAUI BR-PI
BRA BRASIL RIO DE JANEIRO BR-RJ
BRA BRASIL RIO GRANDE DO NORTE BR-RN
BRA BRASIL RIO GRANDE DO SUL BR-RS
BRA BRASIL RONDONIA BR-RO
BRA BRASIL RORAIMA BR-RR
BRA BRASIL SANTA CATARINA BR-SC
BRA BRASIL SAO PAULO BR-SP
BRA BRASIL SERGIPE BR-SE
BRA BRASIL TOCANTINS BR-TO

6.14.上传文件的枚举

备注:适用于上传文件中的fileType字段

Code Description_EN Description_CN
IDENTITY identity 身份证明
SOURCE_OF_FUNDS source-of-funds 收入证明
ADDRESS address 地址证明
PROOF_OF_PAYMENT proof-of-payment 付款证明
RELATIONSHIP_PROOF relationship-proof 关系证明
WORK_PROOF work-proof 工作证明
OTHERS_PROOF others-proof 其他证明
PEP_CHECK pep-check 前置验证
RELATIONSHIP_FAST relationship-proof-fast 关系证明-快速到账
RECEIPT receipt 收据
JOINT_ACCOUNT joint-account 联名账户
EXPIRED_IDENTITY expired-identity 证件过期
ADDRESS_OR_PAYER_ID_CARD ACADEMICRESEARCH 有效地址证明或本人身份证件
PAYMENT_FOR_STUDYING_ABROAD payment-for-studying-abroad 留学缴费证明
MEDICAL_PROOF medical-proof 医疗证明
TRAVEL_PROOF travel-proof 旅行证明
STUDY_ABROAD_PROOF study-abroad-proof 留学证明
SELFIE selfie 自拍头像
SUPPLEMENT supplement 补充材料
PAYEE_IDENTITY cn-remit-payee-proof 收款人身份证明
UNKNOWN unknown 未知

回调

在处理传输订单时,状态的最终状态将被实时通知到所提供的回调URL(如果提供的话)。

合作伙伴必须实现此端点以接收这些状态更改。端点应该期待一个包含以JSON表示的事务对象的HTTP POST请求。

在成功接收到数据后,回调端点应该使用HTTP 2XX进行响应。目前这个回调通知只会发送一次。

目前会通知的状态有:TRANSACTION_SUCCESS、TRANSACTION_FAILED、TRANSACTION_CLOSED、TRANSACTION_REFUND

curl -X POST /callBack
    -H "Content-Type: application/json"
    -H "Authorization: your authorization"
    -H "Signature: generated signature"
    -H "Content-Code: generated content-code"
    -d
    '{
       "apiName": "TRANSACTION_CLOSED",
          "entity": {
            "clientTxnNo": "1716336209284",
            "commission": "0",
            "commissionCurrency": "USD",
            "createTime": "2024-05-22 08:03:30",
            "errorCode": 1000,
            "errorMsg": "Merchant has insufficient funds;1;",
            "failedTime": "2024-08-26 13:16:32",
            "payInAmount": "10",
            "payInCurrency": "USD",
            "payOutAmount": "173.92",
            "payOutCurrency": "MXN",
            "status": "TRANSACTION_CLOSED",
            "txnNo": "CC245M0239937381"
    }
}'

Request Body

参数 类型 描述 O/M
apiName String 和下面的订单状态一致 M
entity Object 回调通知参数 M
txnNo String 交易编号 M
clientTxnNo String(20) 客户方唯一编号 M
payInCurrency String(3) 汇款(源)币种,ISO 4217格式 M
payInAmount String(18) 汇款(源)金额 M
payOutCurrency String(3) 到账(目标)币种,ISO 4217格式 M
payOutAmount String(18) 到账(目标)金额 M
commission String 手续费 M
commissionCurrency String 手续费币种 M
errorCode String 业务错误码 M
errorMsg String 业务错误信息 M
status String 订单状态 M
createTime String 创建时间 M
finishTime String 完结时间 M
failedTime String 失败时间 M