NAV Navbar
java

概述

此文档描述了dokypay现阶段所支持的接口与能力。

如后续dokypay提供其他业务接口,会尽量保障兼容此文档接口中的目前调用方式的适用情况;如果不能兼容,正常情况会使用接口参数version字段进行处理。我们期望客户能跟我们最新的接口调用方式保持一致。如果给您带来不便,敬请谅解。

接入准备

在接入dokypay API接口时,你需要了解并获取以下内容:

名词说明

名称 描述
商户号 商户在注册成为dokypay后,dokypay会分配给该商户在平台的唯一标识号。
商户密钥 使用订单查询、退款需要使用此参数用于签名。
应用号 商户可自行dokypay通过商户平台创建多个应用,每个应用都会有唯一的应用ID(一般为10位数字),每个应用可独立发起支付请求。
应用秘钥 由dokypay为每个应用生成应用秘钥(32位随机字符串),用于发起支付请求、代付请求时进行签名使用。见签名机制
签名值 在商户与dokypay进行接口调用时,为了保证数据在网络传输过程中不被抓包篡改,dokypay通过相应的逻辑规则,使用sha256的方式,对业务参数进行计算,可生成唯一的字符串,此字符串为签名值
pmId 功能Id,在调用支付\代付接口时,如果传入此字段,则可以直接请求上游,否则返回跳转到收银台页面的链接
extInfo 补充信息参数,如果在支付\代付接口调用时,对应的pmId,上游需要一些付款者的信息才能完成支付时,商户可通过此字段传入对应的补充信息,可跳过补充信息页面。否则dokypay会返回跳转到补充信息页面的链接
请求地址 是指由dokypay提供API服务的网关地址。
请求参数 是指商户系统调用dokypay支付系统API时,发送至dokypay系统时的参数。
返回参数 是指商户系统调用dokypay支付系统API后,由dokypay系统返回给商户的参数。
dokypay API接口 是指dokypay提供的可通过互联网通信技术,进行信息传递的接口,商户可根据调用方式进行调用。

调用方式

请求结构

通过向dokypay API的服务端地址发送HTTP POST请求,并按照请求结构 在HTTP body中加入相应请求参数来完成,dokypay系统根据请求参数 来响应返回参数 。

通信协议

为了更高的安全性,dokypay API接口仅支持通过HTTPS通道进行请求通信。 在调用dokypay系统API时, 需要遵循以下安全要求:

请求方法

基于HTTP协议,商户系统使用POST方式发送请求到dokypay API接口。

字符编码

请求及返回结果都使用UTF-8字符集进行编码。

参数格式

请求参数及返回参数均使用JSON格式。

返回参数

字段 名称 说明
code 状态码 http状态码,此字段值只表明接口请求情况,不能说明业务参数无异常
msg 状态描述 接口调用结果描述
timestamp 当前时间串 当前的时间串
data 业务返回值 描述业务调用情况的返回值,具体请参照业务接口列表 中每个接口的data值

通知机制

通知分为两种通知方式,因同步回调可能出现用户模拟操作,或在同步通知未进行跳转时,用户手动关闭浏览器等不可控情况,导致商户造成损失,我们强烈建议商户以异步通知结果来确认订单的支付结果。

如,商户的同步通知地址为:

http://www.yoursite.com/dokypay/succ/orderno

则在支付成功时,dokypay会将用户的浏览器跳转至(此处为方便观看,实际没有换行):

http://www.yoursite.com/dokypay/succ/orderno?amount=12.01&createTime=2019-01-09 14:53:05&currency=USD&merTransNo=mtn8888888888&processAmount=170181.70&processCurrency=IDR&sign=f99b64ecd3ce69c8683df713163cbf90b4bfd710a0d66eb95ab301dce9363215&transNo=201901091453055080016630&transStatus=success&updateTime=2019-01-09 14:54:00

实际跳转地址为(此处为方便观看,实际没有换行):

http://www.yoursite.com/dokypay/succ/orderno?amount=12.01&createTime=2019-01-09%2014:53:05&currency=USD&merTransNo=mtn8888888888&processAmount=170181.70&processCurrency=IDR&sign=f99b64ecd3ce69c8683df713163cbf90b4bfd710a0d66eb95ab301dce9363215&transNo=201901091453055080016630&transStatus=success&updateTime=2019-01-09%2014:54:00

在用户支付成功,或者取消支付时,dokypay会将消费者的浏览器重定向到商户提供的returnurl上,并携带相关参数。

同步回调采用get方式跳转,相应的拼接参数,会对每个参数的值进行编码为UTF-8的URLencode处理,随后进行跳转。

异步回调只发生于支付成功时,dokypay会将消费者支付成功的消息通过服务器端发送到商户提供的notifyurl上,并携带相关参数,以post形式提交。

签名机制

假设调用接口时,需要传递的参数如下:

{
    "amount": "12.01",
    "appId": "1000000126",
    "country": "ID",
    "currency": "USD",
    "description": "这是一个测试的商品",
    "merTransNo": "mtn8888888888",
    "notifyUrl": "http://yoursite.com/notifyurl",
    "pmId": "doku",
    "prodName": "southeast.asia",
    "returnUrl": "http://yoursite.com/returnurl",
    "version": "1.0"
}

商户的Key如下: 5f190aa12f6442e0be4efca58680355b

则签名前拼接字符串为: amount=12.01&appId=1000000126&country=ID&currency=USD&description=这是一个测试的商品&merTransNo=mtn8888888888&notifyUrl=http://yoursite.com/notifyurl&pmId=doku&prodName=southeast.asia&returnUrl=http://yoursite.com/returnurl&version=1.0&key=5f190aa12f6442e0be4efca58680355b

获取的签名值为: d11d877c0f435f2f8a263eca22559af47fb5679b7b235483f2b6767cd9d1ce22

对应的请求参数为:

{
    "amount": "12.01",
    "appId": "1000000126",
    "country": "ID",
    "currency": "USD",
    "description": "这是一个测试的商品",
    "merTransNo": "mtn8888888888",
    "notifyUrl": "http://yoursite.com/notifyurl",
    "pmId": "doku",
    "prodName": "southeast.asia",
    "returnUrl": "http://yoursite.com/returnurl",
    "sign": "d11d877c0f435f2f8a263eca22559af47fb5679b7b235483f2b6767cd9d1ce22",
    "version": "1.0"
}

在此提供java的生成签名字符串的方法供参考,方法形参中map为传递的业务参数的集合,appkey为应用秘钥。需要注意的是获取签名使用的是sha256算法。返回值需要对签名进行16进制转码获取到对应的字符串为签名值。

   public static String doEncrypt(Map<String, String> map, String appkey) {
           Object[] keys = map.keySet().toArray();
           Arrays.sort(keys);
           StringBuilder originStr = new StringBuilder();
           for (Object key : keys) {
               String value = map.get(key);
               if(StringUtils.isNotBlank(key.toString().trim())&&StringUtils.isNotBlank(value.trim())){
                   //extInfo与sign不参与签名字符串的拼接
                   if(!("extInfo".equals(key.toString().trim())&&"sign".equals(key.toString().trim()))){
                     originStr.append(key).append("=").append(value).append("&");
                   }
               }
           }
           originStr.append("key=").append(appkey);
           logger.info("签名信息,拼接后信息为:[" + originStr.toString() + "]");
           String sign = encryptSHA(originStr.toString());
           logger.info("获取到的签名信息为:[" + sign + "]");
           return sign;
       }


    public static final String encryptSHA(String data) {
         try {
             //return org.apache.commons.codec.digest.DigestUtils.sha256Hex(data);
             return Hex.encodeHexString(SHACoder.encodeSHA256(data.getBytes("UTF-8")));
         } catch (Exception e) {
             throw new RuntimeException("加密错误,错误信息:", e);
         }
     }

商户在调用dokypay API接口时,需将请求参数中的业务参数,按照dokypay约定好的形式,获取到对应的签名字符串,并作为请求参数sign传递给dokypay。

dokypay进行返回参数组装时,也会按照此规则进行签名,并传递签名值。因不同的业务接口可能需要参与签名的字段不同,具体请参照业务接口列表中,各个接口的具体说明。

获取签名字符串:

请求参数json中的业务信息,按照key的Unicode进行排序。然后将参数以 key1=value1&key2=value2&key3=value3 的形式拼接,最后将商户key应用key(不同的接口,签名时使用的key可能不相同,具体接口有说明)拼接至字符串最后,key值为key。我们暂且称拼接好的字符串为originStr

originStr转化为UTF-8的byte数组后,使用sha256算法进行编码,再将编码后的数组转码为16进制的字符串。

伪代码如下:

Hex.encodeHexString(SHACoder.encodeSHA256(originStr.getBytes("UTF-8")));

举例说明

统一下单接口需要传递的请求参数:

{
    "amount": "12.01",
    "appId": "1000000126",
    "country": "ID",
    "currency": "USD",
    "description": "这是一个测试的商品",
    "merTransNo": "mtn8888888888",
    "notifyUrl": "http://yoursite.com/notifyurl",
    "pmId": "doku",
    "prodName": "southeast.asia",
    "returnUrl": "http://yoursite.com/returnurl",
    "sign": "d11d877c0f435f2f8a263eca22559af47fb5679b7b235483f2b6767cd9d1ce22",
    "version": "1.0"
}

对于以上需要传送的请求参数,Linux下可通过此方式进行请求(商户可通过不同的开发语言进行开发,后续会补上常用的开发语言的测试Demo):

curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/html' -d '{ \ 
   "amount": "12.01", \ 
   "appId": "1000000126", \ 
   "country": "ID", \ 
   "currency": "USD", \ 
   "description": "这是一个测试的商品", \ 
   "merTransNo": "mtn8888888888", \ 
   "notifyUrl": "http://yoursite.com/notifyurl", \ 
   "pmId": "doku", \ 
   "prodName": "southeast.asia", \ 
   "returnUrl": "http://yoursite.com/returnurl", \ 
   "sign": "d11d877c0f435f2f8a263eca22559af47fb5679b7b235483f2b6767cd9d1ce22" \ 
   "version": "1.0" \ 
 } \ 
 ' 'https://gatewaybeta.dokypay.com/clientapi/unifiedorder'

对于以上参数,dokypay接口会返回内容为:

{
    "data": {
        "amount": "12.01",
        "currency": "USD",
        "doing": "redirect",
        "merchantNo": "mtn8888888888",
        "message": "success",
        "processAmount": "170181.70",
        "processCurrency": "IDR",
        "resultCode": "0000",
        "sign": "32013652ab0985a038b33406c28a49abef57ecebb015e5f010cbf0cb85d63988",
        "tradeNo": "201901091453055080016630",
        "url": "https://gatewaybeta.dokypay.com/payment/3b062847a03f49de896c62cc4f533a90"
    },
    "code": "200",
    "msg": "请求成功",
    "timestamp": "1547016785671"
}

业务接口列表

API方式支付接口

此接口允许商户通过后端服务器,向dokypay发起支付请求。dokypay会根据商户请求做出相应响应;并提示商户下步操作方式。

交易支付流程

版本号

1.0

请求地址

请求参数

{
    "amount": "12.01",
    "appId": "1000000126",
    "country": "ID",
    "currency": "USD",
    "description": "这是一个测试的商品",
    "merTransNo": "mtn8888888888",
    "notifyUrl": "http://yoursite.com/notifyurl",
    "pmId": "doku",
    "prodName": "southeast.asia",
    "returnUrl": "http://yoursite.com/returnurl",
    "sign": "d11d877c0f435f2f8a263eca22559af47fb5679b7b235483f2b6767cd9d1ce22",
    "version": "1.0"
}

下列参数中,要求的填写位数为字符的长度。

字段 说明
version
接口版本
必填
默认为最新的版本,当前版本为1.0
amount
订单金额
必填1-9位,保留2位小数
订单金额请使用字符串方式表示
appId
应用号
必填10位
此字段在商户申请应用时,由dokypay生成
country
国家代码
选填2-3位
ISO3166-2标准如使用此字段,且符合跳转dokypay到收银台情况下,则优先显示此国家的常用支付列表,参见国家币种表
currency
金额币种
必填3位
国际统一币种简称,表示amount金额的币种,参照国家币种表
description
订单描述
选填1-80位
订单的标题,有些场景如果消费者看到订单信息,可能会展示此字段内容
goodsInfo
商品信息
选填1-1024
商品信息详情,格式为:商品名称,商品单价,商品数量,商品总额。例:Item1,1000.00,2,2000.00;Item2,1500.00,2,3000.00
merTransNo
商户订单号
必填1-32位
商户自行生成的订单号,建议商户保证唯一性,dokypay不做唯一性验证
payerEmail
购买者电子邮箱
选填1-80位
购买者电子邮箱地址,必须是有效的
payerMobile
购买者手机号
选填1-32位
购买者的手机号,必须是有效的
payerName
购买者姓名
选填1-80位
购买者完整姓名
prodName
产品名称
必填
此字段由dokypay提供,具体请参照产品列表
pmId
支付功能编号
选填
此字段由dokypay提供,具体请参照功能列表,如果传入此字段,可跳过dokypay的收银台页面(类似于用户在收银台页面进行了支付方式的选择)。
notifyUrl
异步通知地址
必填1-150位
订单在支付成功时,dokypay会通过后台调用此url通知商户,通知机制请参照通知机制
returnUrl
同步通知地址
选填1-150位
订单支付完毕时,如果上游支持同步跳转,dokypay会将用户的页面跳转到此url上
extInfo
扩充参数信息
此字段内容不参与签名
此参数为JSON格式,具体的参数列表需参考pmId对应的extInfo列表;大部分情况下,如果传入完整的extInfo字段值,可跳过用户需要填写的补充信息页面
sign
签名
必填
根据其他参数,按照签名机制,计算此字段值,此处使用应用秘钥来计算签名

data值

当业务处理成功时:

{
    "data": {
        "amount": "12.01",
        "currency": "USD",
        "doing": "redirect",
        "merchantNo": "mtn8888888888",
        "message": "success",
        "processAmount": "170181.70",
        "processCurrency": "IDR",
        "resultCode": "0000",
        "sign": "32013652ab0985a038b33406c28a49abef57ecebb015e5f010cbf0cb85d63988",
        "tradeNo": "201901091453055080016630",
        "url": "https://gatewaybeta.dokypay.com/payment/3b062847a03f49de896c62cc4f533a90"
    },
    "code": "200",
    "msg": "请求成功",
    "timestamp": "1547016785671"
}

当业务处理失败时:

{
    "msg": "请求成功",
    "code": "200",
    "data": {
        "message": "currency is required ",
        "resultCode": "400"
    },
    "timestamp": "1547013250460"
}

当服务器响应失败时:

{
    "msg": "Internal Server Error",
    "code": "500",
    "timestamp": "1547013250460"
}

字段 说明
resultCode
统一下单码
统一下单码0000时,表明下单成功,具体业务码,请参照统一下单码表
message
下单码描述
下单码描述success时,表明下单成功,具体业务码,请参照统一下单码表
下单码描述success,或统一下单码0000时,才会出现以下内容
amount
订单金额
源订单金额
currency
订单币种
源订单币种
merchantNo
商户订单号
商户订单号
tradeNo
订单号
dokypay的平台订单号
processAmount
交易处理金额
真实的订单处理额度,如amount为美元时,processAmount是真实支付时对应的人民币的价格
processCurrency
交易处理币种
消费者在真实付款时,使用的币种
doing
处理方式
请参照处理方式,根据处理方式,进行数据处理
url
处理地址
如果doingredirect,则商户可直接将消费者网页重定向到此地址上
sign
签名值
请参考签名机制;签名业务字段只取data中的字段数据作为业务参数

通知参数

API方式支付接口同步和异步通知参数相同,如果个别支付功能通知参数有变,具体接入时技术接入群中另行通知。通知机制见通知机制,具体参数如下:

字段 说明
transNo
交易流水ID
dokypay平台交易流水号( 同支付接口返回的tradeNo )
merTransNo
商户订单号
商户生成的订单号
currency
币种
源订单的币种
amount
金额
源订单金额
processCurrency
处理币种
用户实际支付时使用的币种
processAmount
处理金额
用户实际支付金额
transStatus
订单状态
详见订单状态
createTime
创建时间
订单创建时间(GMT+8 时间)
updateTime
最后处理时间
最后处理时间 (GMT+8 时间)
payerName
付款人姓名
如果dokypay能确定此参数时则返回
payerEmail
付款人邮箱
如果dokypay能确定此参数时则返回
payerMobile
付款人电话
如果dokypay能确定此参数时则返回
sign
签名
上述信息均参与签名,详见签名机制

API方式订单查询接口

此接口允许商户通过后端服务器,向dokypay发起订单查询请求。dokypay会根据商户请求返回对应的订单查询结果。

版本号

1.0

请求地址

请求参数

{
          "version": "1.0",
          "merchantId": "1000000001",
          "tradeNo": "201805240115271387044906",
          "sign":"014ba8fb69571f875a29563395b55c5d9c2cd0ff6bba92d2796ba23f99f22d36"
}

下列参数中,要求的填写位数为字符的长度。

字段 说明
version
接口版本
必填
默认为最新的版本,当前版本为1.0
merchantId
商户ID
必填 10位
此字段在商户完善信息后,由dokypay生成
tradeNo
交易号
必填 32位
dokypay交易号
sign
签名
必填
根据其他参数,按照签名机制,计算此字段值,此处使用商户秘钥来计算签名

data值

当业务处理成功时:

{
          "data": {
            "merTransNo": "201805240115271387044905",
            "tradeNo": "201805240115271387044906",
            "amount": "88.88",
            "currency": "USD",
            "processAmount": "88.88",
            "processCurrency":"USD",
            "tradeStatus": "success",
            "createTime": "2018-09-10 11:12:13",
            "updateTime": "2018-09-10 11:12:13",
            "message": "success",
            "resultCode": "0000",
            "sign":"014ba8fb69571f875a29563395b55c5d9c2cd0ff6bba92d2796ba23f99f22d36"
          },
          "code": "200",
          "msg": "请求成功",
          "timestamp": "1527734093800"
  }

当业务处理失败时:

{
    "data": {
        "message": "sign error",
        "resultCode": "2002"
    },
    "code": "200",
    "msg": "请求成功",
    "timestamp": "1527748853336"
}

当服务器响应失败时:

{
    "code": "500",
    "msg": "Internal Server Error",
    "timestamp": "1527748980717"
}
字段 说明
resultCode
统一下单码
统一下单码0000时,表明下单成功,具体业务码,请参照统一下单码表
message
下单码描述
下单码描述success时,表明下单成功,具体业务码,请参照统一下单码表
下单码描述success,或统一下单码0000时,才会出现以下内容
merTransNo
商户订单号
商户发起支付时的订单号
tradeNo
Dokypay订单号
商户发起支付时Dokypay生成的订单号
amount
支付金额
支付金额
currency
币种
币种
processCurrency
交易处理币种
用户实际支付时使用的币种
processAmount
交易处理金额
用户实际支付金额
tradeStatus
交易状态
交易状态,与支付接口通知机制返回订单状态相同,详见订单状态
createTime
订单创建时间
YYYY-MM-dd HH:mm:ss
updateTime
最后处理时间
YYYY-MM-dd HH:mm:ss
sign
签名值
请参考签名机制;签名业务字段只取data中的字段数据作为业务参数

API方式退款接口

版本号

1.0

请求地址

请求参数

{
    "amount": "1",
    "tradeNo": "201812181553154240015039",
    "merchantId": "10000",
    "sign": "3e8d8c84a115d77177aac14574666b527457010d2ea27c8a048138eff7cc93a2",
    "notifyUrl": "http://www.baidu.com",
    "currency": "USD",
    "version": "1.0"
}

下列参数中,要求的填写位数为字符的长度。

字段 说明
version
接口版本
必填
默认为最新的版本,当前版本为1.0
merchantId
商户ID
必填 10位
此字段在商户完善信息后,由dokypay生成
tradeNo
交易号
必填 32位
dokypay交易号
amount
订单金额
必填1-9位,保留2位小数
订单金额请使用字符串方式表示
notifyUrl
异步通知地址
最长300位
退款成功时,dokypay会通过后台调用此url通知商户,通知机制请参照通知机制
currency
币种
国际统一币种简称,表示amount金额的币种,参照国家币种表
sign
签名
必填
根据其他参数,按照签名机制,计算此字段值,此处使用商户秘钥来计算签名

data值

当业务处理成功时:

{
    "data": {
        "amount": "1",
        "createTime": "2018-12-25 15:06:36",
        "currency": "USD",
        "processAmount": "1.00",
        "processCurrency": "USD",
        "refundNo": "18122515063666600167",
        "sign": "1778987ef395c2dd1d6a4edc6a0fedfcf866d10a4c1d485a4fdd746c1910fe18",
        "message": "success"
        "resultCode": "0000"
        "status": "success",
        "updateTime": "2018-12-25 15:06:38"
    },
    "code": "200",
    "msg": "OK",
    "timestamp": "1545721598186"
}

当业务处理失败时:

{
    "data": {
        "message": "sign error",
        "resultCode": "2002"
    },
    "code": "200",
    "msg": "请求成功",
    "timestamp": "1527748853336"
}

当服务器响应失败时:

{
    "code": "500",
    "msg": "Internal Server Error",
    "timestamp": "1527748980717"
}
字段 说明
resultCode
统一下单码
统一下单码0000时,表明下单成功,具体业务码,请参照统一下单码表
message
下单码描述
下单码描述success时,表明下单成功,具体业务码,请参照统一下单码表
下单码描述success,或统一下单码0000时,才会出现以下内容
amount
支付金额
支付金额
currency
币种
币种
processCurrency
交易处理币种
用户实际支付时使用的币种
refundNo
退款订单号
dokypay生成的退款订单号
processAmount
交易处理金额
用户实际支付金额
status
退款状态
交易状态,与支付接口通知机制返回订单状态相同,详见订单状态
createTime
订单创建时间
YYYY-MM-dd HH:mm:ss
updateTime
最后处理时间
YYYY-MM-dd HH:mm:ss
sign
签名值
请参考签名机制;签名业务字段只取data中的字段数据作为业务参数

API方式退款查询接口

版本号

1.0

请求地址

请求参数

{
    "refundNo":"18122515063666600167",
    "merchantId":"10000",
    "sign":"a3cdcd556314de99de56e5e3fb6824dbc61a791afaddfb5af304baf9ff0f4138",
    "version":"1.0"
}

下列参数中,要求的填写位数为字符的长度。

字段 说明
version
接口版本
必填
默认为最新的版本,当前版本为1.0
merchantId
商户ID
必填 10位
此字段在商户完善信息后,由dokypay生成
refundNo
退款订单号
必填 32位
dokypay退款订单号
sign
签名
必填
根据其他参数,按照签名机制,计算此字段值,此处使用商户秘钥来计算签名

data值

当业务处理成功时:

{
    "data": {
        "amount": "1.000000",
        "createTime": "2018-12-25 15:06:36",
        "currency": "USD",
        "processAmount": "1.000000",
        "processCurrency": "USD",
        "refundNo": "18122515063666600167",
        "sign": "4ccfa512f49bf94f75c76b8339585aff60aecf89472ac3f6638b1bc85f38823f",
        "status": "success",
        "updateTime": "2018-12-25 15:06:38"
    },
    "code": "200",
    "msg": "OK",
    "timestamp": "1545723432512"
}

当业务处理失败时:

{
    "data": {
        "message": "sign error",
        "resultCode": "2002"
    },
    "code": "200",
    "msg": "请求成功",
    "timestamp": "1527748853336"
}

当服务器响应失败时:

{
    "code": "500",
    "msg": "Internal Server Error",
    "timestamp": "1527748980717"
}
字段 说明
resultCode
统一下单码
统一下单码0000时,表明下单成功,具体业务码,请参照统一下单码表
message
下单码描述
下单码描述success时,表明下单成功,具体业务码,请参照统一下单码表
下单码描述success,或统一下单码0000时,才会出现以下内容
amount
支付金额
支付金额
currency
币种
币种
processCurrency
交易处理币种
用户实际支付时使用的币种
refundNo
退款订单号
dokypay生成的退款订单号
processAmount
交易处理金额
用户实际支付金额
status
退款状态
交易状态,与支付接口通知机制返回订单状态相同,详见订单状态
createTime
订单创建时间
YYYY-MM-dd HH:mm:ss
updateTime
最后处理时间
YYYY-MM-dd HH:mm:ss
sign
签名值
请参考签名机制;签名业务字段只取data中的字段数据作为业务参数

API方式代付接口

此接口允许商户通过后端服务器,向dokypay发起代付请求。

版本号

1.0

请求地址

请求参数

{
    "amount": "100",
    "appId": "1000000134",
    "currency": "INR",
    "description": "payout test",
    "merTransNo": "mtn1546939642550",
    "notifyUrl": "https://www.baidu.com",
    "pmId": "paytm.wallet.payout",
    "prodName": "southeast.asia.payout",
    "version": "1.0",
    "sign": "0ef078ef51719639d00c14d75d666ae2cfc6cd76b2e9df87c18f939f3116715f",
    "extInfo": {
        "payeePhoneNumber": "999999999",
        "payeeEmailId": "test@qq.com"
    }
}

下列参数中,要求的填写位数为字符的长度。

字段 说明
amount
代付订单金额
必填1-9位,保留2位小数
代付订单金额请使用字符串方式表示
appId
应用号
必填10位
此字段在商户申请应用时,由dokypay生成
currency
金额币种
必填3位
国际统一币种简称,表示amount金额的币种,参照国家币种表
description
订单描述
选填1-80位
订单的标题,有些场景如果消费者看到订单信息,可能会展示此字段内容
merTransNo
商户代付订单号
必填1-32位
商户自行生成的代付订单号,建议商户保证唯一性,dokypay不做唯一性验证
notifyUrl
代付异步通知地址
必填1-150位
代付成功时,dokypay会通过后台调用此url通知商户,通知机制请参照通知机制
pmId
代付功能编号
必填
此字段由dokypay提供,具体请参照代付功能列表
prodName
代付产品名称
必填
此字段由dokypay提供,具体请参照产品列表
version
接口版本
必填
默认为最新的版本,当前版本 1.0
sign
签名
必填
根据其他参数,按照签名机制,计算此字段值,此处使用应用秘钥来计算签名
extInfo
扩充参数信息
此字段内容不参与签名
此参数为JSON格式,具体的参数列表需参考pmId对应的extInfo列表

data值

当业务处理成功时:

{
    "data": {
        "amount": "100",
        "currency": "INR",
        "merTransNo": "mtn1546939642550",
        "message": "success",
        "resultCode": "0000",
        "sign": "afbca596d68a43d507d119d90572034fb6da37c7ec4f15ccdf182a5c6c9502b2",
        "tradeNo": "201901081937069850019402"
    },
    "code": "200",
    "msg": "请求成功",
    "timestamp": "1546947427520"
}

当业务处理失败时:

{
    "msg": "请求成功",
    "code": "200",
    "data": {
        "message": "currency is required ",
        "resultCode": "400"
    },
    "timestamp": "1546947519101"
}

当服务器响应失败时:

{
    "msg": "Internal Server Error",
    "code": "500",
    "timestamp": "1546947601644"
}
字段 说明
resultCode
统一下单码
统一下单码0000时,表明下单成功,具体业务码,请参照统一下单码表
message
下单码描述
下单码描述success时,表明下单成功,具体业务码,请参照统一下单码表
下单码描述success,或统一下单码0000时,才会出现以下内容
amount
代付订单金额
代付订单金额
currency
代付币种
发起代付请求币种
merTransNo
商户代付订单号
商户代付订单号
tradeNo
订单号
dokypay的平台订单号
sign
签名值
请参考签名机制;签名业务字段只取data中的字段数据作为业务参数

通知参数

API方式代付接口仅有异步通知,通知机制见通知机制,具体参数如下:

字段 说明
tradeNo
交易流水ID
dokypay平台交易流水号
merTransNo
商户订单号
商户生成的订单号
currency
币种
源订单的币种
amount
金额
源订单金额
totalFee
手续费
代付手续费
tradeStatus
订单状态
详见订单状态
createTime
创建时间
订单创建时间(GMT+8 时间)
updateTime
最后处理时间
最后处理时间 (GMT+8 时间)
sign
签名
上述信息均参与签名,详见签名机制

参数列表

产品列表

产品代码 产品名称
southeast.asia 东南亚支付产品
southeast.asia.payout 东南亚代付产品

功能列表

extInfo列表

intcreditcard国际信用卡支付

补充参数

字段 说明
cardNumber
信用卡卡号
1-50位
信用卡卡号
firstName
姓名
姓名前拼
lastName
姓名
姓名后拼
expireDate
信用卡有效期
商户生成的订单号
cvv
cvv
信用卡背面后三位
payerEmail
持卡人邮箱
持卡人邮箱

wxapp微信APP支付

补充参数

字段 说明
expirationSecond
有效时长「秒」
60-2*60*60*30
默认15*60
虚拟支付码可以使用的有效期,单位为秒,最大支持2小时,默认为15分钟。如果需要设置不同的默认值,可联系运营进行设置。因上游接口原因,目前只支持15分钟。如果后续支持上面说明,请咨询运营

补充返回参数

字段 说明
appid
应用ID
微信开放平台审核通过的应用APPID
partnerid
商户号
微信支付分配的商户号
prepayid
预支付交易会话ID
微信返回的支付交易会话ID
package
扩展字段
暂填写固定值Sign=WXPay
noncestr
随机字符串
随机字符串,不长于32位。
timestamp
时间戳
时间戳
wxSign
签名
微信签名;同微信参数sign

doku.alfaDoku提供便利店支付

补充参数

字段 说明
expirationSecond
有效时长「秒」
60-24*60*60*30
默认6*60*60
虚拟支付码可以使用的有效期,单位为秒,最大支持30天,默认为6小时。如果需要设置不同的默认值,可联系运营进行设置。
payerEmail
付款人邮箱
必填
付款人邮箱;支付接口中如果已经传入,则会被赋值到此处;如果同时存在,以extInfo中值为准。
payerName
付款人邮箱
必填
付款人姓名;支付接口中如果已经传入,则会被赋值到此处;如果同时存在,以extInfo中值为准。
payerMobile
付款人电话
必填
付款人电话:支付接口中如果已经传入,则会被赋值到此处;如果同时存在,以extInfo中值为准。

补充返回参数

字段 说明
expirationSecond
有效时长「秒」
60-24*60*60*30
默认6*60*60
虚拟支付码可以使用的有效期,单位为秒,最大支持30天,默认为6小时。如果需要设置不同的默认值,可联系运营进行设置。
paymentCode 用于去线下ATM或便利店进行付款的16位数字

doku.permataDoku提供虚拟银行号支付

可提供印度尼西亚的银行便利店支付方式。此种支付方式是消费者获取paymentCode后,去当地的便利店进行付款操作。用户付款后,Dokypay会通过异步回调地址通知到您。此接口与doku.alfa进行拆分,是因为doku在进行结算时,与银行卡支付结算周期不一致

补充参数

字段 说明
expirationSecond
有效时长「秒」
60-24*60*60*30
默认6*60*60
虚拟支付码可以使用的有效期,单位为秒,最大支持30天,默认为6小时。如果需要设置不同的默认值,可联系运营进行设置。
payerEmail
付款人邮箱
必填
付款人邮箱;支付接口中如果已经传入,则会被赋值到此处;如果同时存在,以extInfo中值为准。
payerName
付款人邮箱
必填
付款人姓名;支付接口中如果已经传入,则会被赋值到此处;如果同时存在,以extInfo中值为准。
payerMobile
付款人电话
必填
付款人电话:支付接口中如果已经传入,则会被赋值到此处;如果同时存在,以extInfo中值为准。

补充返回参数

字段 说明
expirationSecond
有效时长「秒」
60-24*60*60*30
默认6*60*60
虚拟支付码可以使用的有效期,单位为秒,最大支持30天,默认为6小时。如果需要设置不同的默认值,可联系运营进行设置。
paymentCode 用于去线下ATM或便利店进行付款的16位数字

xendit.payoutXendit提供印尼银行卡代付

字段 说明
bankCode
银行代码
银行代码,xendit银行代码
accountNumber
银行账号或电子钱包手机号或VA账号
银行账号或电子钱包手机号或VA账号
accountHolderName
账号姓名
银行或电子钱包或VA,帐户姓名。

paytm.wallet.payout印度paytm钱包代付

字段 说明
payeeEmail
收款人邮箱
收款人邮箱
注:payeeEmail、payeeMobile 两项不能都为空,可传其中一项)
payeeMobile
收款人电话
收款人的电话
注:payeeEmail、payeeMobile 两项不能都为空,可传其中一项)

nganluong.atmcard.payout越南福龙ATM卡代付

字段 说明
bankCode
银行代码
银行代码,nganluong银行代码
accountNumber
账号
银行卡号
accountHolderName
持卡人姓名
持卡人姓名
cardYear
年份
2位年份,如 2018年,值为18
cardMonth
月份
2位月份,如 1月,值为01

nganluong.bankcard.payout越南福龙银行卡代付

字段 说明
bankCode
银行代码
银行代码, nganluong银行代码
accountNumber
账号
银行卡号
accountHolderName
姓名
持卡人姓名
branchName
支行名称
银行支行名称
zoneId
区域id
区域id nganluong区域

nganluong.wallet.payout越南福龙钱包代付

字段 说明
payeeEmail
收款人邮箱
收款人邮箱

doku.bankcard.payoutDoku提供印尼银行卡代付

字段 说明
bankCode
银行代码
银行代码, Doku支持印尼银行代码
firstName
姓名前拼
受益人姓名前拼
lastName
姓名后拼
受益人姓名后拼
payeeMobile
收款人电话
收款人的电话
accountHolderName
持卡人姓名
持卡人姓名
accountNumber
银行卡号
银行卡号

doku.wallet.payoutDoku钱包代付

字段 说明
firstName
姓名前拼
受益人姓名前拼
lastName
姓名后拼
受益人姓名后拼
walletId
电子钱包Id
Doku电子钱包ID

订单状态

编码 状态
pending 初始状态
processing 处理中
success 支付成功
failure 支付失败
timeout 订单超时
cancel 订单已取消

国家币种表

ISO代码 英文 中文 币种
AE United Arab Emirates 阿联酋 AED
AR Argentina 阿根廷 ARS
AU Australia 澳大利亚 AUD
BB Barbados 巴巴多斯 BBD
BH Bahrain 巴林 BHD
BI Burundi 布隆迪 BIF
BM Bermuda 百慕大 BMD
BO Bolivia 玻利维亚 BOB
BZ Belize 伯利兹 BZD
CA Canada 加拿大 CAD
CH Switzerland 瑞士 CHF
CN China 中国 内地 CNY
CR Costa Rica 哥斯达黎加 CRC
CZ Czech Republic 捷克 CZK
DJ Djibouti 吉布提 DJF
DK Denmark 丹麦 DKK
DO Dominican Republic 多米尼加 DOP
EG Egypt 埃及 EGP
GB Great Britain (United Kingdom; England) 英国 GBP
GN Guinea 几内亚 GNF
GT Guatemala 危地马拉 GTQ
HK Hong Kong 香港 HKD
HN Honduras 洪都拉斯 HNL
HR Croatia 克罗地亚 HRK
HU Hungary 匈牙利 HUF
ID Indonesia 印尼 IDR
IL Israel 以色列 ILS
IN India 印度 INR
IS Iceland 冰岛 ISK
JM Jamaica 牙买加 JMD
JP Japan 日本 JPY
KR South Korea 韩国 南朝鲜 KRW
KW Kuwait 科威特 KWD
KZ Kazakhstan 哈萨克斯坦 KZT
LK Sri Lanka 斯里兰卡 LKR
LT Lithuania 立陶宛 LTL
MA Morocco 摩洛哥 MAD
MO Macao 澳门 MOP
MX Mexico 墨西哥 MXN
MY Malaysia 马来西亚 MYR
NO Norway 挪威 NOK
NZ New Zealand 新西兰 NZD
PK Pakistan 巴基斯坦 PKR
PY Paraguay 巴拉圭 PYG
QA Qatar 卡塔尔 QAR
RU Russian Federation 俄罗斯 RUB
SA Saudi Arabia 沙特阿拉伯 SAR
SE Sweden 瑞典 SEK
SG Singapore 新加坡 SGD
TN Tunisia 突尼斯 TND
TH Thailand 泰国 THB
UG Uganda 乌干达 UGX
US United States of America (USA) 美国 USD
VN Vietnam 越南 VND
VU Vanuatu 瓦努阿图 VUV
ZA South Africa 南非 ZAR
PH The Philippines 菲律宾 PHP

银行卡代码

xendit银行代码

bankCode bankName
ACEH BPD Aceh
ACEH_UUS BPD Aceh UUS
AGRIS Bank Agris
AGRONIAGA Bank BRI Agroniaga
AMAR Bank Amar Indonesia (formerly Anglomas International Bank)
ANZ Bank ANZ Indonesia
ARTA_NIAGA Bank Arta Niaga Kencana
ARTHA Bank Artha Graha International
ARTOS Bank Artos Indonesia
BALI BPD Bali
BAML Bank of America Merill-Lynch
BANGKOK Bangkok Bank
BANTEN BPD Banten (formerly Bank Pundi Indonesia)
BCA Bank Central Asia (BCA)
BCA_SYR Bank Central Asia (BCA) Syariah
BENGKULU BPD Bengkulu
BISNIS_INT Bank Bisnis Internasional
BJB Bank BJB
BJB_SYR Bank BJB Syariah
BNI Bank Negara Indonesia (BNI)
BNI_SYR Bank BNI Syariah
BNP_PARIBA Bank BNP Paribas
BOC Bank of China (BOC)
BRI Bank Rakyat Indonesia (BRI)
BRI_SYR Bank Syariah BRI
BTN Bank Tabungan Negara (BTN)
BTN_UUS Bank Tabungan Negara (BTN) UUS
BTPN_SYARI BTPN Syariah (formerly Bank Sahabat Purba Danarta and Bank Tabungan Pensiunan Nasional UUS)
BUKOPIN Bank Bukopin
BUKOPIN_SY Bank Syariah Bukopin
BUMI_ARTA Bank Bumi Arta
CAPITAL Bank Capital Indonesia
CCB China Construction Bank Indonesia (formerly Bank Antar Daerah and Bank Windu Kentjana Int)
CENTRATAMA Centratama Nasional Bank
CHINATRUST Bank Chinatrust Indonesia
CIMB Bank CIMB Niaga
CIMB_UUS Bank CIMB Niaga UUS
CITIBANK Citibank
COMMONWEAL Bank Commonwealth
DAERAH_IST BPD Daerah Istimewa Yogyakarta (DIY)
DAERAH_IST BPD Daerah Istimewa Yogyakarta (DIY) UUS
DANAMON Bank Danamon
DANAMON_UU Bank Danamon UUS
DBS Bank DBS Indonesia
DEUTSCHE Deutsche Bank
DINAR_INDO Bank Dinar Indonesia
DKI Bank DKI
DKI_UUS Bank DKI UUS
EXIMBANK Indonesia Eximbank (formerly Bank Ekspor Indonesia)
FAMA Bank Fama International
GANESHA Bank Ganesha
GOPAY GoPay
HANA Bank Hana
HARDA_INTE Bank Harda Internasional
HSBC Hongkong and Shanghai Bank Corporation (HSBC) (formerly Bank Ekonomi Raharja)
ICBC Bank ICBC Indonesia
INA_PERDAN Bank Ina Perdania
INDEX_SELI Bank Index Selindo
INDIA Bank of India Indonesia
JAMBI BPD Jambi
JAMBI_UUS BPD Jambi UUS
JASA_JAKAR Bank Jasa Jakarta
JAWA_TENGA BPD Jawa Tengah
JAWA_TENGA BPD Jawa Tengah UUS
JAWA_TIMUR BPD Jawa Timur
JAWA_TIMUR BPD Jawa Timur UUS
JPMORGAN JP Morgan Chase Bank
JTRUST Bank JTrust Indonesia (formerly Bank Mutiara)
KALIMANTAN BPD Kalimantan Barat
KALIMANTAN BPD Kalimantan Barat UUS
KALIMANTAN BPD Kalimantan Selatan
KALIMANTAN BPD Kalimantan Selatan UUS
KALIMANTAN BPD Kalimantan Tengah
KALIMANTAN BPD Kalimantan Timur
KALIMANTAN BPD Kalimantan Timur UUS
KESEJAHTER Bank Kesejahteraan Ekonomi
LAMPUNG BPD Lampung
MALUKU BPD Maluku
MANDIRI Bank Mandiri
MANDIRI_EC Mandiri E-Cash
MANDIRI_SY Bank Syariah Mandiri
MANDIRI_TA Mandiri Taspen Pos (formerly Bank Sinar Harapan Bali)
MASPION Bank Maspion Indonesia
MAYAPADA Bank Mayapada International
MAYBANK Bank Maybank (formerly BII)
MAYBANK_SY Bank Maybank Syariah Indonesia
MAYORA Bank Mayora
MEGA Bank Mega
MEGA_SYR Bank Syariah Mega
MESTIKA_DH Bank Mestika Dharma
MITRA_NIAG Bank Mitra Niaga
MITSUI Bank Sumitomo Mitsui Indonesia
MIZUHO Bank Mizuho Indonesia
MNC_INTERN Bank MNC Internasional
MUAMALAT Bank Muamalat Indonesia
MULTI_ARTA Bank Multi Arta Sentosa
NATIONALNO Bank Nationalnobu
NUSA_TENGG BPD Nusa Tenggara Barat
NUSA_TENGG BPD Nusa Tenggara Barat UUS
NUSA_TENGG BPD Nusa Tenggara Timur
NUSANTARA_ Bank Nusantara Parahyangan
OCBC Bank OCBC NISP
OCBC_UUS Bank OCBC NISP UUS
OKE Bank Oke Indonesia (formerly Bank Andara)
OVO OVO
PANIN Bank Panin
PANIN_SYR Bank Panin Syariah
PAPUA BPD Papua
PERMATA Bank Permata
PERMATA_UU Bank Permata UUS
PRIMA_MAST Prima Master Bank
QNB_INDONE Bank QNB Indonesia (formerly Bank QNB Kesawan)
RABOBANK Bank Rabobank International Indonesia
RBS Royal Bank of Scotland (RBS)
RESONA Bank Resona Perdania
RIAU_DAN_K BPD Riau Dan Kepri
RIAU_DAN_K BPD Riau Dan Kepri UUS
ROYAL Bank Royal Indonesia
SAHABAT_SA Bank Sahabat Sampoerna
SBI_INDONE Bank SBI Indonesia
SHINHAN Bank Shinhan Indonesia (formerly Bank Metro Express)
SINARMAS Sinarmas
SINARMAS_U Bank Sinarmas UUS
STANDARD_C Standard Charted Bank
SULAWESI BPD Sulawesi Tengah
SULAWESI_T BPD Sulawesi Tenggara
SULSELBAR BPD Sulselbar
SULSELBAR_ BPD Sulselbar UUS
SULUT BPD Sulut
SUMATERA_B BPD Sumatera Barat
SUMATERA_B BPD Sumatera Barat UUS
SUMSEL_DAN BPD Sumsel Dan Babel
SUMSEL_DAN BPD Sumsel Dan Babel UUS
SUMUT BPD Sumut
SUMUT_UUS BPD Sumut UUS
TABUNGAN_P Bank Tabungan Pensiunan Nasional
TOKYO Bank of Tokyo Mitsubishi UFJ
UOB Bank UOB Indonesia
VICTORIA_I Bank Victoria Internasional
VICTORIA_S Bank Victoria Syariah
WOORI Bank Woori Saudara Indonesia (formerly Bank Himpunan Saudara and Bank Woori Indonesia)
YUDHA_BHAK Bank Yudha Bhakti

nganluong银行代码

bankCode bankName
AGB Vietnam Bank For Agriculture and Rural Development (Agribank)
BAB Bac A Commercial Joint Stock Bank (Bac A Bank)
BIDV Bank for Investment & Dof Vietnam (BIDV)
EXB Vietnam Export Import Commercial Joint Stock Bank (Eximbank)
MSB Vietnam Maritime Commercial Joint Stock Bank (MaritimeBank)
STB Saigon Thuong Tin Commercial Joint Stock Bank (Sacombank)
SGB Sai Gon Bank for Industry and Trade (Saigon Bank)
NCB National Citizen Bank
PGB Petrolimex Group Commercial Joint Stock Bank (PGBank)
GPB Global Petro Commercial Joint Stock Bank (GPBank)
ICB Vietnam Joint Stock Commercial Bank for Industry and Trade (VietinBank)
TCB The Vietnam Technological and Commercial JSC Bank (Techcombank)
TPB Tien Phong Commercial Joint Stock Bank (TienPhongBank)
VAB Vietnam Asia Commercial Joint Stock Bank (VietA Bank)
VIB Vietnam International Bank (VIB)
VCB JSC Bank for Foreign Trade of Vietnam (Vietcombank)
DAB DongA JSC Bank (DongA Bank)
MB Military JSC Bank (MB)
ACB Asia Commercial Bank (ACB)
HDB HoChiMinh City Development Joint Stock Commercial Bank (HDBank)
VPB Vietnam Prosperity Bank (VPBank)
OJB Ocean Commercial One Member Limited Liability Bank (OceanBank)
SHB Saigon Hanoi Commercial Joint Stock Bank (SHB)
NAB Nam A commercial joint stock bank (NamABank)
BVB Bao Viet Bank
CTB Citibank
KLB Kien Long Commercial Joint - Stock Bank
GDB Joint Stock Commercial Bank for Foreign Trade of Vietnam
PVcomBank Vietnam Public Joint-stock Commercial Bank
KB KB Kookmin Bank
GTB Global Trust Bank
SCB Sai Gon Joint Stock Commercial Bank
SHNB SHINHAN bank
HSB HSBC Vietnam
SC Standard Chartered Bank
ANZ ANZ bank
ABB An Binh Joint-stock Commercial Bank
GAB Dai A Joint-stock Commercial Bank
OCB Orient Commercial Joint Stock Bank
SEA Ocean Bank
NVB National Citizen Bank

Doku支持印尼银行代码

Bank Code Bank Name
PDACIDJ1 BPD Aceh
PINBIDJA Bank Panin
PDJTIDJ1 Bank Jatim
PDJMIDJ1 BPD Jambi
PDYKIDJ1 BPD Yogyakarta
CICTIDJA Bank Mutiara
PDJGIDJ1 BPD Jawa Tengah
PDJBIDJA Bank Jabar Banten (BJB)
BDKIIDJ1 Bank DKI
MAYAIDJA Bank Mayapada International
BBBAIDJA Bank Permata
CENAIDJA Bank Central Asia BCA
BUMIIDJA ICB Bumiputera
BDINIDJA Bank Danamon
HNBNIDJA Bank Hana
MBBEIDJA Maybank Syariah
IBBKIDJA BII Maybank
PDRIIDJ1 BPD Riau
SBJKIDJA Bank Sinarmas
SYCAIDJ1 Bank BCA Syariah
DEUTIDJA Deutsche Bank AG
PDKGIDJ1 BPD Kalimantan Tengah
BUTGIDJ1 Bank Syariah Mega
PDWSIDJ1 BPD Sulawesi Selatan
LFIBIDJ1 Bank National Nobu
PDWUIDJ1 BPD Sulawesi Utara
HVBKIDJA Bank Woori Indonesia
PDNBIDJ1 BPD Nusa Tenggara Barat
PDLPIDJ1 BPD Lampung
PDKSIDJ1 BPD Kalimantan Selat
989584028209 (MA LAI XI YA DI QU) MA LAI XI YA ZHONG GUO YIN HANG
BTANIDJA Bank BTN
PDKBIDJ1 BPD Kalimantan Barat
PDKTIDJ1 BPD Kalimantan Timur
BNIAIDJA CIMB Niaga
BBIJIDJA Bank UOB Buana
PDBAIDJ1 BPD Bali
NISPIDJA OCBC NISP
AWANIDJA QNB Kesawan
BBUKIDJA Bank Bukopin
BSSPIDSP BPD Sumatera Selatan
PDWGIDJ1 BPD Sulawesi Tengah
PDWGIDJ1 BPD Sulawesi Tenggara
ARTGIDJA Bank Arta Graha
PDBKIDJ1 BPD Bengkulu
TAPEIDJ1 Bank BTPN
SYMDIDJ1 Bank Syariah Mandiri
989584029009 xiong ya li di qu xiong ya li zhong guo yin hang
CITIIDJX Citibank
PDMLIDJ1 BPD Maluku
PDNTIDJ1 BPD Nusa Tenggara Timur
NUPAIDJ6 Bank Nusantara Parahyangan
BMRIIDJA Bank Mandiri
MUABIDJA Bank Muamalat Indonesia
BNINIDJA Bank BNI
DBSBIDJA Bank DBS Indonesia
BICNIDJA Bank Commonwealth.
abc hanna bank
BRINIDJA Bank BRI
SYNIIDJ1 Bank BNI Syariah
MEGAIDJA Bank Mega
899 DOKU
HSBCIDJA Bank HSBC
DJARIDJ1 Bank BRI Syariah
RABOIDJA Rabobank

区域代码

nganluong区域

zoneId zoneName
1 Toàn quốc
2 An Giang
3 Bà Rịa Vũng Tàu
4 Bạc Liêu
5 Bắc Cạn
6 Bắc Giang
7 Bắc Ninh
8 Bến Tre
9 Bình Dương
10 Bình Định
11 Bình Phước
12 Bình Thuận
13 Cà Mau
14 Cao Bằng
15 Cần Thơ
16 Đà Nẵng
17 Đắk Lắk
18 Đồng Nai
19 Đồng Tháp
20 Gia Lai
21 Hà Giang
22 Hà Nam
23 Hà Nội
25 Hà Tĩnh
26 Hải Dương
27 Hải Phòng
28 Hòa Bình
29 Hưng Yên
30 Hồ Chí Minh
31 Khánh Hòa
32 Kiên Giang
33 Kon Tum
34 Lai Châu
35 Lạng Sơn
36 Lào Cai
37 Lâm Đồng
38 Long An
39 Nam Định
40 Nghệ An
41 Ninh Bình
42 Ninh Thuận
43 Phú Thọ
44 Phú Yên
45 Quảng Bình
46 Quảng Nam
47 Quảng Ngãi
48 Quảng Ninh
49 Quảng Trị
50 Sóc Trăng
51 Sơn La
52 Tây Ninh
53 Thái Bình
54 Thái Nguyên
55 Thanh Hóa
56 Thừa Thiên Huế
57 Tiền Giang
58 Trà Vinh
59 Tuyên Quang
60 Vĩnh Long
61 Vĩnh Phúc
62 Yên Bái
869 Điện Biên
912 Hậu Giang
919 Đắk Nông