Download OpenAPI specification :Download
拉丁美洲:巴西、墨西哥、哥伦比亚
收款、退款、付款以及交易查询,另外我们也提供配套商户自助平台。客户只需要在自己的网站或APP内集成的需要的支付产品,即可拥有完整的在线收、付款能力。目前BydaPay支持本地钱包、信用卡支付,充分满足客户的需求。
1.商务洽谈: 通过与我司商务前期的沟通,确定好合作方式及选择需要接入的服务和产品。
2.登记材料获取账号: 在确定接入BydaPay产品后,将签约所需材料及商户申请表发送给我司商务,我们将会协助您完成商户的注册开通,并下发BydaPay商户自助平台的登录账号及密码。
3.技术对接: 阅读技术文档
4.技术联调: 由我司商务人员创建联调对接群,开展技术对接。
5.验收上线: 联调完成后,向我司对接人员提供联调成功的订单信息,我司校验通过之后,完成生产环境开通。
6.日常维护: 对接阶段完成,后续关注交易情况并进行日常维护即可。
合作确认后,BydaPay为您创建可登录商户自助平台的管理员账号。
届时,请注意查收 BydaPay下发的邮件,接入方可根据邮件指引进行操作。 首次登录需要设置密码,请确保密码安全,以防外泄。
接口联调所必需的参数:商户号(mchNo),应用ID(appId)、密钥
签名使用的是SHA256WithRSA签名算法,需要商户自行生成公私钥信息,并将公钥通过商户管理平台上传,同时获取BydaPay的公钥。请妥善保管密钥信息,若不慎泄漏密钥,请及时更新密钥。
公钥配置入口为:「商户管理平台」-「商户中心」-「应用管理」-「修改」。
注意:商户号、应用Id和密钥是配套的,需要区分测试环境与正式环境。
测试环境参数:
测试环境密钥将直接提供,请咨询BydaPay技术对接人员。
生产环境参数:
商户号会通过邮件进行发送,请注意查收 BydaPay下发的邮件。
应用ID和密钥请前往商户平台配置。
注意:正式环境密钥只可在合同有效期内生成。
请妥善保管密钥信息,若不慎泄漏密钥,请及时联系BydaPay运营人员中重置密钥。
标题 | 描述 |
---|---|
传输方式 | 为保证交易安全性,采用HTTPS传输 |
提交方式 | 采用POST方法提交 |
数据格式 | 提交数据可为application/json 或application/x-www-form-urlencoded格式
返回数据都为application/json格式 |
字符编码 | 统一采用UTF-8字符编码 |
签名算法 | 签名算法 SHA256WithRSA |
签名要求 | 请求和接收数据均需要校验签名 |
判断逻辑 | 先判断协议字段返回,再判断业务返回,最后判断交易状态 |
RSA签名适用于所有通过API接口进行的请求。
设所有发送或者接收到的数据为集合M,将集合M内的非空参数按照参数名的ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串A。
特别注意以下重要规则:
1.参数名ASCII码从小到大排序(字典序);
2.参数名区分大小写;
3.验证调用返回或 BydaPay主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验;
4.BydaPay接口可能增加字段,验证签名时需要支持增加的扩展字段;
5.集合M内的空值null和空字符串("")不参与加签。
6.对于 BydaPay响应中data数据体,允许进行验签,详见验签示例。
7.接口会增加参数,请严格按照此规则签名及验证签名,不可写固定参数参与签名
8.RSA公私钥生成方式:https://www.toolscat.com/decode/rsa-publicKey-privateKey
假设原始请求参数如下params:
params = {"amount":690,"extParam":"","mchOrderNo":"mho1697446079342","subject":"11","wayCode":"BDBR_PIX","reqTime":"1697446079","body":"测试商品","version":"1.0","expiredTime":"7200","channelExtra":{"documentNo":"00740886967","documentType":"CPF","phone":"+8613088976543","name":"Cliente - Isabela","email":"[email protected]","productInfo":[{"goodsNo":"111112222233333","unitPrice":100,"totalPrice":100,"logistics":"顺丰快递","payer":"商品卖家","goodsType":"服饰箱包类","goodsPlace":"中国","goodsDes":"男士上衣","orderTime":"2022-08-04","logisticsNo":"SF1231231231231","goodsCurrency":"BRL","goodsName":"T恤","goodsNum":1}]},"appId":"6645c57fe4b019b13820c9bb","clientIp":"192.166.1.132","notifyUrl":"https://test.bydapay.com//BydaPay-mock/mockNotify","signType":"RSA","currency":"BRL","returnUrl":"https://www.celer365.com","mchNo":"M1715848575"}
排序后的数据如下sortParams:
sortParams = amount=690&appId=6645c57fe4b019b13820c9bb&body=测试商品&channelExtra={"documentNo":"00740886967","documentType":"CPF","phone":"+8613088976543","name":"Cliente - Isabela","email":"[email protected]","productInfo":[{"goodsNo":"111112222233333","unitPrice":100,"totalPrice":100,"logistics":"顺丰快递","payer":"商品卖家","goodsType":"服饰箱包类","goodsPlace":"中国","goodsDes":"男士上衣","orderTime":"2022-08-04","logisticsNo":"SF1231231231231","goodsCurrency":"BRL","goodsName":"T恤","goodsNum":1}]}&clientIp=192.166.1.132¤cy=BRL&expiredTime=7200&mchNo=M1715848575&mchOrderNo=mho1697446079342¬ifyUrl=https://test.bydapay.com//BydaPay-mock/mockNotify&reqTime=1697446079&returnUrl=https://www.celer365.com&signType=RSA&subject=11&version=1.0&wayCode=BDBR_PIX
注意:商户接收 BydaPay服务端响应验签仅需对 data 体中参数进行验签,回调通知直接对接收通知的请求参数进行验签即可。
如订单查询的响应为:
假设服务端返回的原始数据如下result:
result = "code=200, body={"code":0,"data":{"errCode":"","errMsg":"There is no means of payment\u00280\u0029","mchOrderNo":"mho1644657213749","orderState":3,"payOrderId":"P1492426648346505217"},"msg":"SUCCESS","sign":"EB2C0711601EE96029571717606B7841"}"
需要参数验签的数据如下data:
data = {"errCode":"","errMsg":"There is no means of payment\u00280\u0029","mchOrderNo":"mho1644657213749","orderState":3,"payOrderId":"P1492426648346505217"}
签名方法调用:getSignByRsa ; 验证签名方法:verify
/**
* 获取签名串
*
* @param map
* @return urlParam.append(key).append("=").append( paraMap.get(key) == null ? "" :
* paraMap.get(key) );
*/
public static String getStrSort(Map<String, Object> map) {
ArrayList<String> list = new ArrayList<String>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (null != entry.getValue() && !"".equals(entry.getValue())) {
if (!"fileData".equals(entry.getKey()))
list.add(entry.getKey() + "=" + entry.getValue() + "&");
}
}
int size = list.size();
String[] arrayToSort = list.toArray(new String[size]);
Arrays.sort(arrayToSort, String.CASE_INSENSITIVE_ORDER);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < size; i++) {
sb.append(arrayToSort[i]);
}
if (sb.length() > 0) {
return sb.toString().substring(0, sb.length() - 1);
} else {
return sb.toString();
}
}
public static PrivateKey getPrivateKey(String key) throws Exception {
byte[] keyBytes = buildPKCS8Key(key);
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey privateKey = keyFactory.generatePrivate(keySpec);
return privateKey;
}
/**
* 公钥验签
*
* @throws Exception
*/
public static boolean doVerify(String content, String sign, String inputCharset, String pubKey) {
try {
PublicKey hostPubKey = getPublicKey(pubKey);
java.security.Signature signature = java.security.Signature.getInstance("SHA256WithRSA");
signature.initVerify(hostPubKey);
signature.update(content.getBytes(inputCharset));
return signature.verify(Base64.decode(sign));
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static PublicKey getPublicKey(String key) throws Exception {
if (key == null) {
throw new Exception("加密公钥为空, 请设置");
}
key = key.replaceAll("\\-{5}[\\w\\s]+\\-{5}[\\r\\n|\\n]", "");
byte[] buffer = Base64.decode(key);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(buffer);
return keyFactory.generatePublic(keySpec);
}
private static byte[] buildPKCS8Key(String privateKey) throws IOException {
if (privateKey.contains("-----BEGIN PRIVATE KEY-----")) {
return Base64.decode(privateKey.replaceAll("-----\\w+ PRIVATE KEY-----", ""));
} else if (privateKey.contains("-----BEGIN RSA PRIVATE KEY-----")) {
final byte[] innerKey = Base64.decode(privateKey.replaceAll("-----\\w+ RSA PRIVATE KEY-----", ""));
final byte[] result = new byte[innerKey.length + 26];
System.arraycopy(Base64.decode("MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKY="), 0, result, 0, 26);
System.arraycopy(BigInteger.valueOf(result.length - 4).toByteArray(), 0, result, 2, 2);
System.arraycopy(BigInteger.valueOf(innerKey.length).toByteArray(), 0, result, 24, 2);
System.arraycopy(innerKey, 0, result, 26, innerKey.length);
return result;
} else {
return Base64.decode(privateKey);
}
}
public static String doSign(String content, String inputCharset, String privKey) {
try {
// String systemPrivKeyStr = readFile();
PrivateKey systemPrivKey = getPrivateKey(privKey);
java.security.Signature signature = java.security.Signature.getInstance("SHA256WithRSA");
signature.initSign(systemPrivKey);
signature.update(content.getBytes(inputCharset));
return Base64.encode(signature.sign());
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 校验签名
*/
public static boolean verify(Map<String, Object> map, String hostSignature, String pubKey) {
String signStr = getStrSort(map);
_log.info("签名字符串[{}]", signStr);
try {
return doVerify(signStr, hostSignature, encodingCharset, pubKey);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 生成签名
*/
public static String getSignByRsa(Map<String, Object> map, String key) {
String result = getStrSort(map);
if (_log.isDebugEnabled())
_log.debug("signStr:{}", result);
result = doSign(result, encodingCharset, key);
if (_log.isDebugEnabled())
_log.debug("signValue:{}", result);
return result;
}
环境 | 请求地址 |
---|---|
测试环境(Test) | https://test.bydapay.com/baydapay-payment/api/* |
生产环境(Prod) | 将以邮件的方式通知 |
接口名称 | 请求地址 | 接口说明 |
---|---|---|
收款请求 | /pay/unifiedOrder | 收款请求和付款请求的地址一致,两者的区别在于请求参数中wayCode和channelExtra等字段的值不同 |
付款请求 | /pay/unifiedOrder | |
收银台 | /pay/cashierOrder | wayCode = BDAY_CASHIER_NSETT 使用此地址 |
交易查询 | /pay/query | 收款交易和付款交易的查询接口一致,用于查询订单详细信息 |
退款申请 | /refund/refundOrder | 用于对支付订单进行退款申请 |
退款查询 | /refund/query | 用于查询订单退款结果 |
以下接口仅适用于服务商 | ||
子商户进件 | /merchant/add | 采集商户信息并上传至BydaPay注册 |
子商户信息修改 | /merchant/edit | 修改子商户的信息 |
子商户状态查询 | /merchant/query | 可以用于查询进件结果和商户状态 |
文件上传 | /merchant/addFile | 用于进件时上传子商户的图片、文件类信息 |
子商户账户余额查询 | /account/balance | 用于查询子商户的账户余额 |
子商户账户余额提现 | /account/cashout | 服务商可代子商户发起提现 |
子商户提现订单查询 | /refund/query | 用于查询子商户提现订单的结果 |
请联系BydaPay技术服务人员获取
国家/地区去 | 支付方式 | 对应的支付WayCode | 测试环境交易结果说明 |
---|---|---|---|
巴西 | Pix | BDBR_PIX | 测试环境随机返回结果,可对订单查询获取结果 |
现金支付:Boleto | LM_BOLETO | ||
电子钱包支付:AME | BDBR_AME | ||
电子钱包支付:PicPay | BDBR_PIC_PAY | ||
电子钱包支付: Mercado Pago | LM_MERCADO_PAGO | ||
银行转账支付 | LM_BANK_TRANSFER | ||
本地信用卡支付 | LM_CREDIT_CARD | ||
墨西哥 | 现金支付:OXXO | PA_MX_OXXO | |
电子钱包支付 | PA_MX_WALLET | ||
银行转账支付 | BDMX_BANK | ||
本地信用卡支付 | MX_CREDIT_CARD | ||
收银台 | 巴西、墨西哥等国家聚合收银台 | BDAY_CASHIER_NSETT | 根据界面提示内容填写正确信息即可返回成功 |
签名方式:RSA
mchNo:M1715848575
appId:6645c57fe4b019b13820c9bb
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
签名方式:RSA
mchNo:M1713499234
isvNo:V1712908690
appId:6621ec6622526b33b8c0e4b0
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<br/>/H9fWEq3o13MVA/ARokP5bqgIoFdHlnI8PRu+v8XdCZVKTxtgu4KIQV6HYyB6UhND4NyhqwsDC101MAuskxLVBMZfG9Og9RC3SysXCCzJrhsQNVUrdZ6boXf+2CyiACL<br/>/P+LADx8rs63uyAON2t6hjMfwgIMo2RWuP9rMPUP250UzWd/4gIrwpco4WdMeSbLqltHR3qUu6TPazVA5xgYz3Y7q84ffCBvXarVJmy2pwxd9VCohN8ayWgeQIDAQAB
币种代码 | 币种名称 | 交易金额说明 |
---|---|---|
BRL | 巴西雷亚尔 | 交易金额为:100,表示实际金额为:1.00 BRL;最小支付金额:1.00 BRL |
MXN | 墨西哥比索 | 交易金额为:100,表示实际金额为:1.00 MXN;最小支付金额:0.01 MXN |
为了高支付成功率,强烈建议针对巴西区域支付方式验证CPF/CNPJ格式校验,参考如下:
针对java,添加依赖包
<dependency>
<groupId>br.com.caelum.stella</groupId>
<artifactId>caelum-stella-core</artifactId>
<version>2.1.2</version>
</dependency>
代码调用
//CPF校验
Validator<String> validator = new CPFValidator();
validator.assertValid("74013332220");
//CNPJ校验
Validator<String> validator = new CNPJValidator();
validator.assertValid("743331220");
请求地址 | 请参见 联调环境 |
---|---|
接口路径 | /pay/unifiedOrder |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
服务商号 | isvNo | 否 | V145455 | 请联系客户经理线下获取 | |
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604001 | 商户生成的订单号 |
签名 | sign | 是 | String(32) | CCD9083A | |
签名类型 | signType | 是 | String(32) | RSA | 目前只支持RSA方式 |
商品标题 | subject | 是 | String(64) | 商品标题测试 | 商品标题 |
商品描述 | body | 是 | String(256) | 商品描述测试 | 商品描述 |
支付金额 | amount | 是 | int | 100 | 支付金额,整数,根据币种确定单位 |
货币代码 | currency | 是 | String(3) | 三位货币代码,见[币种说明] | |
支付方式 | wayCode | 是 | String(30) | 支付方式,请咨询BydaPay技术服务人员获取 | |
渠道参数 | channelExtra | 是 | json | 参考请求参数channelExtra说明 | |
客户端IP | clientIp | 是 | String(32) | 210.73.10.148 | |
异步通知地址 | notifyUrl | 否 | String(128) | https://www.xxxx.com/notify | 支付结果异步回调URL,只有传了该值才会发起回调 |
跳转通知地址 | returnUrl | 否 | String(128) | https://www.xxxx.com/return | 支付结果同步跳转通知URL |
失效时间 | expiredTime | 否 | int | 3600 | 订单失效时间,单位秒,实际失效时间以channelExtral为准 当wayCode=BDBR_PIX时 过期时间必填且在3700s到604800s内 |
扩展参数 | extParam | 否 | String(512) | 134586944573118714 | 商户扩展参数,回调时会原样返回 |
【参数说明】
假设wayCode=BDBR_PIX,channelExtra = {“documentType”:“CPF”,“documentNo”: “332322”}
WayCode | 字段名 | 变量名 | 必填 | 类型 | 示例值 |
---|---|---|---|---|---|
BDBR_PIX (巴西PIX支付) | 姓名 | name | 是 | String | Cliente - Isabela |
证件号类型 | documentType | 是 | String | 固定值:CPF或者CNPJ | |
证件号 | documentNo | 是 | String | 00740886967 | |
邮箱 | 是 | String | |||
电话 | phone | 否 | String | 需要加区号,如:+8613088971111 | |
LM_BOLETO (巴西现金支付:Boleto) | 姓名 | name | 是 | String | Cliente - Isabela |
证件号类型 | documentType | 是 | String | 固定值:CPF或者CNPJ | |
证件号 | documentNo | 是 | String | 00740886967 CPF,11位数字 | |
邮箱 | 否 | String | |||
电话 | phone | 否 | String | 需要加区号,如:+861308897 | |
邮政编码 | zipCode | 是 | String | 如巴西的CEP;04849333 | |
州 | state | 是 | String | 缩写,如圣保罗是SP | |
区县 | district | 是 | String | 区县;Jardim Gaivotas | |
街道 | street | 是 | String | 如:Rua 9 de setembro | |
城市 | city | 是 | String | 如:sao paulo | |
门牌号 | shopNumber | 是 | String | 如:15 | |
BDBR_AME (巴西AME钱包支付) BDBR_PIC_PAY (巴西PicPay钱包支付) LM_MERCADO_PAGO (巴西MERCADO_PAGO钱包支付) LM_BANK_TRANSFER (巴西银行转账支付) | 姓名 | name | 是 | String | Cliente - Isabela |
证件号类型 | documentType | 是 | String | 固定值:CPF或者CNPJ CPF,11位数字 | |
证件号 | documentNo | 是 | String | 00740886967 | |
邮箱 | 是 | String | |||
电话 | phone | 是 | String | 需要加区号,如:+8613088971111 | |
BDMX_BANK (墨西哥银行转账支付) | 姓名 | name | 是 | String | 名字,全称 |
邮箱 | 否 | String | |||
电话 | phone | 否 | String | ||
LM_CREDIT_CARD (巴西本地信用卡支付) MX_CREDIT_CARD (墨西哥本地信用卡支付) | 姓名 | name | 是 | String | Pending |
证件号类型 | documentType | 否 | String | LM_CREDIT_CARD时,固定值:CPF或者CNPJ | |
证件号 | documentNo | 否 | String | LM_CREDIT_CARD时填写00740886967 | |
邮箱 | 否 | String | MX_CREDIT_CARD时email和phone二选一 | ||
电话 | phone | 否 | String | MX_CREDIT_CARD时email和phone二选一
需要加区号,如:+861308897 |
|
持卡人全称 | cardHolderName | 否 | String | 如果cardToken缺省,则card信息不能为缺省 | |
卡号 | cardNumber | 否 | String | 16位纯数字字符串,不能有横杠空格等分隔符。
如果cardToken缺省,则card信息不能为缺省 4111111111111111 |
|
信用卡安全码 | cvc | 是 | String | 123 | |
信用卡有效期月份 | expirationMonth | 否 | Integer | 2位数
如果cardToken缺省,则card信息不能为缺省 02 |
|
信用卡有效期年份 | expirationYear | 否 | Integer | 4位数
如果cardToken缺省,则card信息不能为缺省 2028 |
|
卡Token | cardToken | 否 | String | 信用卡订阅接口 获取信用卡Token ,如果card信息缺省,则cardToken不能为缺省 | |
分期期数 | installments | 否 | String | 通过创建分期方案接口 返回:期数,分期期数和分期计划ID都不为空时分期才有效 | |
分期方案ID | proposalId | 否 | String | 通过创建分期方案接口返回:分期期数和分期计划ID都不为空时分期才有效 | |
BDUSA_CARD (美金信用卡支付) | 姓名 | name | 是 | String | ClTest User Name |
邮箱 | 是 | String | |||
电话 | phone | 否 | String | 测试参数:523135759140 | |
卡号 | cardNumber | 直连通道必填 | String | 测试参数:4242424242424242,16位纯数字字符串,不能有横杠空格等分隔符 | |
信用卡过期月份 | expirationMonth | 直连通道必填 | String(2) | 信用卡过期月份, 2位数。 | |
信用卡过期年份 | expirationYear | 直连通道必填 | String(4) | 信用卡过期年份,4位数 | |
安全码 | cvv | 直连通道必填 | String | 测试参数:123 | |
PA_MX_OXXO (墨西哥现金支付:OXXO) | 姓名 | name | 是 | String | ClTest User Name |
证件号 | documentNo | 否 | String | 13位,测试参数:MAMB780915969 | |
证件类型 | documentType | 是 | String | 固定值:RFC | |
邮箱 | 是 | String | |||
电话 | phone | 是 | String | 测试参数:523135759140 | |
邮政编码 | zipCode | 是 | String | 5位数字,测试参数:37900 | |
PA_MX_WALLET (墨西哥电子钱包支付) | 姓名 | name | 是 | String | ClTest User Name |
证件号 | documentNo | 是 | String | 13位数字,测试参数:MAMB780915969 | |
证件类型 | documentType | 是 | String | 固定值:RFC | |
邮箱 | 是 | String | |||
电话 | phone | 是 | String | 测试参数:523135759140 | |
邮政编码 | zipCode | 是 | String | 5位数字 ,测试参数:37900 | |
钱包账号 | accountNumber | 是 | String | ||
钱包账号验证码 | accountVerificationCode | 是 | String | ||
CARD_PAY (信用卡支付) | 交易类型 | transType | 是 | String | 固定值:QuickPay |
语言 | language | 是 | String | 固定值:zh=简体中文;en=英语;zh-hant=繁体中文;ja=日语;kr=韩语;fr=法语;es=西班牙语;ar=阿拉伯语 | |
终端类型 | terminalType | 是 | String | 固定值:WAP;IOS;WEB;ANDROID | |
邮箱 | 是 | String | 持卡人电子邮件地址 | ||
持卡人姓名 | name | 是 | String | FirstName + LastName | |
卡号 | cardNumber | 是 | String | ||
有效期-月度 | expirationMonth | 是 | String | 格式:MM | |
有效期-年度 | expirationYear | 是 | String | 格式:YYYY | |
CVV码 | cardCvv | 否 | String | cvv2/cvc2/cav2/cid | |
送货信息-名字 | shippingFirstName | 否 | String | ||
送货信息-姓氏 | shippingLastName | 是 | String | ||
送货信息-地址1 | shippingAddress1 | 是 | String | ||
送货信息-城市 | shippingCity | 是 | String | ||
送货信息-州/省 | shippingState | 是 | String | 当国家是美国或加拿大时,使用ISO-3166-2:US或ISO -3166-2:CA 中该国家地区编码标准中的两位字母编码 | |
送货信息-国家 | shippingCountry | 是 | String | 两位字母代码 | |
送货信息-邮编 | shippingZipCode | 是 | String | ||
送货信息-电话 | shippingPhone | 是 | String | ||
账单信息-名字 | billingFirstName | 是 | String | ||
账单信息-姓氏 | billingLastName | 是 | String | ||
账单信息-地址1 | billingAddress1 | 是 | String | 为避免交易失败,中文地址建议翻译为英文地址 | |
账单信息-城市 | billingCity | 是 | String | 国家是中国时,城市名称建议使用中文拼音或使用英文名称 | |
账单信息-州/省 | billingState | 是 | String | 国家是中国时,州/省名称建议使用中文拼音或英文名称当国家是美国或加拿大时,使用ISO-3166-2:US或ISO -3166-2:CA 中该国家地区编码标准中的两位字母编码 | |
账单信息-国家 | billingCountry | 是 | String | 两位字母代码 | |
账单信息-邮编 | billingZipCode | 是 | String | ||
账单信息-电话 | billingPhone | 是 | String | ||
持卡人浏览器UserAgent | userAgent | 是 | String | ||
失败跳转地址 | failReturnUrl | 否 | String | 特别注意,此参数特殊情况下使用,与对接人员沟通确认参数作用 | |
商品信息 | productInfo | 是 | String | 参数由下列一组数据,通过JSON格式组成,注意参数名大小写敏感。 本字段以JSON数组来填值。 productInfo=[{"sku":"123456789","productName":"MacBook Pro","price":"11000.00","quantity":"1"},{"sku":"987654321","productName":"Iphone11","price":"5400.00","quantity":"1"}] | |
--商品信息-商品单价 | price | 是 | String | 大于0的数值,按原始值填入,如100.01 | |
--商品信息-商品编号 | sku | 是 | String | ||
--商品信息-商品名称 | productName | 是 | String | ||
--商品信息-商品数量 | quantity | 是 | String | 大于等于1的整数 | |
--商品信息-币种 | quantity | 是 | String | USD | |
请求示例数据, 实际参数需要结合扩展参数填写
{
"amount":200,
"extParam":"",
"mchOrderNo":"mho1697446961395",
"subject":"11",
"wayCode":"BDBR_PIX",
"sign":"JwGrqIehczHUYqLQBx3fDe9XIGfK1W9S5I3szCIjT+7ogB/mGQ2IBbvP9+WTTIOmrdUcSMaUikTqI78VhMsJOfa+xTxV4uICHpxywVvKhQYk6+Rszm0RS1cRqDYmI3ckCisrnAPNPnWnI2O2gAXocLvp59NgPkNt3JYKNSSzi/Hgl50OLJIdsxYIsHmTzXSPkRwO60KRUXuVusjRtOW1AUekvKkzIpyb8EHq4mOpDQ0gV8/ZExdFkhj2dYem8fn51en440pKTvcxtgzCnOC/0w6oT8APwSvmfcVS/l3EETjA1c/pcTU0CXrg1cjhE3cUFYWAi5wxJY4wX0XiAXB3KA==",
"reqTime":"1697446961",
"body":"测试商品",
"version":"1.0",
"expiredTime":"7200",
"channelExtra":{
"documentNo":"00740886967",
"documentType":"CPF",
"phone":"+8613088976543",
"name":"Cliente - Isabela",
"email":"[email protected]",
"productInfo":[
{
"goodsNo":"111112222233333",
"unitPrice":100,
"totalPrice":100,
"logistics":"顺丰快递",
"payer":"商品卖家",
"goodsType":"服饰箱包类",
"goodsPlace":"中国",
"goodsDes":"男士上衣",
"orderTime":"2022-08-04",
"logisticsNo":"SF1231231231231",
"goodsCurrency":"BRL",
"goodsName":"T恤",
"goodsNum":1
}
]
},
"appId":"6645c57fe4b019b13820c9bb",
"clientIp":"192.166.1.132",
"notifyUrl":"https://test.bydapay.com//BydaPay-mock/mockNotify",
"signType":"RSA",
"currency":"BRL",
"returnUrl":"https://www.celer365.com",
"mchNo":"M1715848575"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
支付订单号 | payOrderId | 是 | String(30) | U12021022311124442600 | 返回支付系统订单号 |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604000490 | 返回商户传入的订单号 |
订单状态 | orderState | 是 | int | 2 | 支付订单状态
0-订单生成 1-支付中 2-支付成功 3-支付失败 4-已撤销 5-已退款 6-订单关闭 7-争议(拒付)订单 |
支付数据类型 | payDataType | 是 | String | payUrl | codeUrl-二维码图片显示URL
payurl-跳转链接的方式 |
支付数据 | payData | 否 | String | http://www.xxxxx.com/pay | 发起支付用到的支付参数 |
商户总手续费 | fee | 否 | Long | 支付成功才会返回,整数 | |
支付服务手续费 | serviceFee | 否 | Long | 221023新增,是商户总手续费中的一个费项,整数,此手续费退款时则不退此费项目 | |
手续费币种 | feeCurrency | 否 | String | USD | |
结算金额 | settleAmount | 否 | Long | 整数,扣减商户总手续费后金额 | |
结算币种 | settleCurrency | 否 | String | USD | |
汇率 | currencyPair | 否 | String | USD/THB-37.050980 | |
渠道错误码 | errCode | 否 | String | ACQ.PAYMENT_AUTH_CODE_INVALID | 上游渠道返回的错误码 |
渠道错误描述 | errMsg | 否 | String | Business Failed 失败 | 上游渠道返回的错误描述 |
渠道扩展参数 | channelExtra | 否 | JSON |
返回示例数据
{
"code":"0",
"data":{
"mchOrderNo":"mho1697446961395",
"orderState":1,
"payData":"00020126890014BR.GOV.BCB.PIX2567api-pix.bancobs2.com.br/spi/v2/7dcc2b22-1e87-4b2f-bb8e-d4f983998b8752040000530398654042.005802BR5925LIQUIDO BRL PAGAMENTOS DI6014Belo Horizonte61083038040362070503***6304EF2F",
"payDataType":"codeUrl",
"payOrderId":"P1713842902087618561"
},
"msg":"SUCCESS",
"sign":"XHceR+15kYUwSkISkKcJLWtwFuhqqIBdb0V8ah2UL4//FfCOejeLU0PxzooLn2jUrIABsQzv26V3xuyXO5CyUbAEMWeSrHBmWU3MTd02a81QCsaYxw42XLotYuKvQQ2/ndVNrwc1054at1/F5B2ED3kPmS4pt1eNivhC+SnDx7B9p50tSXITiqt4PQXKu24UJ1L5xue/lihuoFx9G/d4LBOZqWg7KM71GHWDqJidzUYoc0hFDkdNaindjObY2z0BWNrWgyChLNiCQ6dl8EPSnAce8eoMqkpc1o0NHV4oUMD1sEKw5Po5a1w5bzUyOnFom5uNlB6Ihlz2UG1hMOVPWw=="
}
【参数说明】
当订单请求参数中的wayCode=APLUS_ORDER_CODE
返回参数channelExtra为:{"bigImage":"xxx","middleImage":"xxx","smallImage":"xxx"}
请求参数中的WayCode | 字段名 | 变量名 | 必填 | 类型 | 回参说明 |
---|---|---|---|---|---|
BDMX_BANK | 支付的参考编号 | bigImage | 否 | String | 墨西哥银行转账建议信息展示 ,示例映射对应关系 Banco = bankName; Número de cuenta CLABE = bankAccountNumber; Número de referencia = referenceNumber; |
银行名称 | bankName | 否 | String | ||
银行代码,3位数字 | bankCode | 否 | String | ||
受益人名称 | beneficiaryName | 否 | String | ||
受益人账号 | bankAccountNumber | 否 | String | ||
受益人账号类型 | bankAccountType | 否 | String | ||
LM_AME | 调用Ame Digital app的链接 | appCallLink | 否 | String | |
ame方交易id | ameTransactionId | 否 | String | ||
LM_BOLETO | 数字线 | digitalLine | 否 | String | |
LM_PIC_PAY | 过期时间 | expirationTime | 否 | String | 0时区,示例:
2023-01-23T02:47:02-03:00 |
二维码的内容 | qrContent | 否 | String | ||
LM_BANK_TRANSFER | 银行分行Id | bankBranchId | 否 | String | |
银行代码,3位数字 | bankCode | 否 | String | ||
受益人名称 | beneficiaryName | 否 | String | ||
受益人账号 | bankAccountNumber | 否 | String | ||
受益人账号类型 | bankAccountType | 否 | String | ContaCorrente | |
ISPB | ispb | 否 | String | 银行的ISPB, 用途和缩写bankCode一致, 8位数字 | |
可确认身份的证件,CPF或CNPJ | documentType | 否 | String | ||
LM_CREDIT_CARD
MX_CREDIT_CARD |
card token | cardToken | 否 | String | 当有此值返回时,下一次可以使用token替代卡信息 |
1.1 同样的通知可能会多次发送给商户系统。商户系统须能够正确的处理重复通知。
1.2 后台通知交互时,如果 BydaPay 收到商户的应答不符合规范或超时,BydaPay 会判定本次通知失败,重新发送通知,直到成功为止(在通知一直不成功的情况下,BydaPay 总共会发起多次通知,通知频率为0s/30s/60s/90s/120s/150s,- 总计6次),但 BydaPay 不能保证通知最终一定能成功。
1.3 在订单状态不明或者没有收到BydaPay支付结果通知的情况下,建议商户主动调用 BydaPay 收款的【交易查询】确认订单状态。
1.4 只有交易成功或者争议订单会有异步通知。
注意:商户业务系统处理通知后需同步返回给支付中心,返回字符串 success 则表示成功,返回非success则表示处理失败。返回的字符串必须是小写,且前后不能有空格和换行符。
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
支付订单号 | payOrderId | 是 | String(30) | P12021022311124442600 | 返回支付系统订单号 |
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604000490 | 返回商户传入的订单号 |
支付方式 | wayCode | 是 | String(30) | 支付方式 | |
支付金额 | amount | 是 | int | 200 | 支付金额,单位分 |
货币代码 | currency | 是 | String(3) | cny | 三位货币代码,人民币:cny |
订单状态 | state | 是 | int | 2 | 支付订单状态
0-订单生成 1-支付中 2-支付成功 3-支付失败 4-已撤销 5-已退款 6-订单关闭 7-争议(拒付)订单 |
客户端IP | clientIp | 否 | String(32) | 210.73.10.148 | 客户端IPV4地址 |
商品标题 | subject | 是 | String(64) | 商品标题测试 | 商品标题 |
商品描述 | body | 是 | String(256) | 商品描述测试 | 商品描述 |
渠道订单号 | channelOrderNo | 否 | String | 20160427210604000490 | 对应渠道的订单号 |
商户总手续费 | fee | 否 | Long | 整数,成功才会返回 | |
支付服务手续费 | serviceFee | 否 | Long | 商户总手续费中的一个费项,整数,此手续费退款时不退 | |
手续费币种 | feeCurrency | 否 | String | USD | |
结算金额 | settleAmount | 否 | Long | 整数,扣减商户总手续费金额 | |
结算币种 | settleCurrency | 否 | String | USD | |
汇率 | currencyPair | 否 | String | USD/THB-37.050980 | |
渠道错误码 | errCode | 否 | String | 1002 | 渠道下单返回错误码 |
渠道错误描述 | errMsg | 否 | String | 134586944573118714 | 渠道下单返回错误描述 |
扩展参数 | extParam | 否 | String(512) | 134586944573118714 | 商户扩展参数 |
创建时间 | createdAt | 是 | ong | 622016572190 | 订单创建时间,13位时间戳 |
成功时间 | successTime | 否 | long | 1622016572190 | 订单支付成功时间,13位时间戳 |
通知请求时间 | reqTime | 是 | String(30) | 1622016572190 | 通知请求时间,,13位时间戳 |
签名方式 | signType | 是 | String(32) | RSA | RSA |
签名 | sign | 是 | String(32) | CCD9083A | 签名值,详见签名算法 |
钱包名称 | walletBrandName | 否 | String | ||
钱包支付用戶id | userId | 否 | String |
{
"payOrderId":"P1710927940298076162",
"mchOrderNo":"20231008075941-2030090-BydaPay-1710927932163059713-2017626",
"subject":"TVE Monthly",
"fee":28,
"settleAmount":920,
"sign":"ZA2dQtSS9+AsDFdziybT6omfcgCTOFNPRBSHdJL9gPve0EndPIqNQ00JmLJIeYCH3U9xNUtJ8309VAnRlG69KGimVubuGpURgGVDLf5YTIv+yYe2EKrV9eRQpo2oVjtFUfxpIqB4u1sme4da5kmO5dk/G4uOXKc5ACLj28veEwjV6vmp9nq4U0B1uWsSgQG9Vs0cSPA6WTdKiZ/yIAOWTYUH/qWAjq3tkEelSkzgQpFO75C3Yf8oist6oHthMrK/CUmJSyQOiBekcPQNZsXj4iy2iu3LDMMq+/JAf/TgmJdbm6wLF8eLaCJNdG91TRc1vqugdnQw7c1/mx3Ackkngw==",
"feeCurrency":"USD",
"reqTime":1696752067481,
"body":"WANEL-COMMON-BODY",
"createdAt":1696751983129,
"appId":"6645c57fe4b019b13820c9bb",
"successTime":1696752066000,
"signType":"RSA",
"currency":"BRL",
"state":2,
"mchNo":"M1715848575",
"serviceFee":28,
"amount":5000,
"currencyPair":"USD/BRL-5.275775",
"settleCurrency":"USD",
"wayCode":"LM_PIX",
"checkDate":"20231008",
"clientIp":"104.28.192.13"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
退款订单号 | refundOrderId | 是 | String(30) | R12021022311124442600 | 返回支付系统的退款订单号 |
原支付订单号 | payOrderId | 是 | String(30) | P12021022311124442600 | 返回支付系统的原支付订单号 |
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
商户退款单号 | mchRefundNo | 是 | String(30) | 20160427210604000490 | 返回商户传入的订单号 |
原支付金额 | payAmount | 是 | int | 200 | 支付金额,单位分 |
退款金额 | refundAmount | 是 | int | 200 | 支付金额,单位分 |
货币代码 | currency | 是 | String(3) | cny | 三位货币代码,人民币:cny |
订单状态 | state | 是 | int | 2 | 0-订单生成
1-退款中 2-退款成功 3-退款失败 |
渠道退款订单号 | channelOrderNo | 否 | String | 20160427210604000490 | 对应渠道的单号 |
渠道错误码 | errCode | 否 | String | 1002 | 渠道下单返回错误码 |
渠道错误描述 | errMsg | 否 | String | 134586944573118714 | 渠道下单返回错误描述 |
扩展参数 | extParam | 否 | String(512) | 134586944573118714 | 商户扩展参数 |
成功时间 | successTime | 否 | long | 1622016572190 | 订单支付成功时间,13位时间戳 |
创建时间 | createdAt | 是 | ong | 622016572190 | 订单创建时间,13位时间戳 |
退款手续费 | refundFeeAmount | 否 | Long | 整数,成功才会返回 | |
退款手续费币种 | refundFeeCurrency | 否 | String | USD | |
通知请求时间 | reqTime | 是 | String(30) | 1622016572190 | 通知请求时间,,13位时间戳 |
签名方式 | signType | 是 | String(32) | RSA | RSA |
签名 | sign | 是 | String(32) | CCD9083A | 签名值,详见签名算法 |
{
"payOrderId": "P1739843217353908226",
"extParam": "",
"sign": "b1Wj78T+UBu+u5v3QFJWt2sOCjv/lR9mjriF8DzSBZsCtpr8IqwpleTYKNer+ZTFxE6LY1tviJFKxOn8rK4bHeIW7wYnDkiSe+pm3IjJAYa75PSQtKjKg0/d/QrhjCdIGzZGQIbtXN5o8rnb4LfRLT9sVYWAr0Xx5TkfSo26UVGewJwQOz+VeDvYd3h2rs2kLPmgnkgjk4F1jxJLtLRU/f+RqP7hvIK4CH0q7y/dZtgUEpnXvU7/eq3TR0FXlBpbtkicq7OnOEpQRAYbqJ6LyTSYMSck6o1qHu4MbCtSr8libWPA6xpr043xtun986pAZFjSYEAYxBlmPLM8Hpao6Q==",
"reqTime": 1703828451247,
"refundOrderId": "R1740608436451786754",
"createdAt": 1703828364831,
"payAmount": 2780,
"appId": "63045ca7ec2e9653affc2080",
"mchRefundNo": "mho1703828351794",
"refundFeeAmount": 10,
"successTime": 1703828451000,
"currency": "BRL",
"state": 2,
"mchNo": "M1715848575",
"refundAmount": 2780
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /pay/query |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
服务商号 | isvNo | 否 | V145455 | 请联系客户经理线下获取 | |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
支付订单号 | payOrderId | 是 | String(30) | P20160427210604000490 | 支付中心生成的订单号,与mchOrderNo二者传一即可 |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604000490 | 商户生成的订单号,与payOrderId二者传一即可 |
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
签名 | sign | 是 | String(32) | CCD9083A | 签名值,详见签名算法 |
签名类型 | signType | 是 | String(32) | RSA | 签名类型,目前只支持RSA |
请求示例数据
{
"payOrderId":"P1713846834985816066",
"appId":"6645c57fe4b019b13820c9bb",
"sign":"CAxIYw3uzoSDBhEq8fZEkf06+R93P5BZl2wfwUCztsX3wQ13nlN2OFd1TAj+wZNl+6ggeSZusYLKnJIrT6TmpIY8nhjDaQf/hF39ik+jN2ugmJdrsSF4Ho8fB4DSWX/uT2d6iQZ6mT7GEUGfq/3JOfQoMwrg1lqh59ppcDvEUHKa5F6nRHOXBBlB5bvQo7aRA7TUwZkwpgrdoCiIXw7qWaUGiyggDhuWTSoa8tXAqK7pnAiuFuL3X3+BgSJlYXV4T5m8+TC/BUy7voBmIIUTMfjEUEo9lKe6AbW/ln3Q+VxQg+pecjmuk64yYPOs88oSR4hcqISl+Xb5Y2JC4S8qwg==",
"signType":"RSA",
"reqTime":"1697448024",
"mchNo":"M1715848575",
"version":"1.0"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0处理成功,其他:处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
支付订单号 | payOrderId | 是 | String(30) | P12021022311124442600 | 返回支付系统订单号 |
商户 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604000490 | 返回商户传入的订单号 |
支付方式 | wayCode | 是 | String(30) | 支付方式 | |
支付金额 | amount | 是 | int | 100 | 支付金额,单位分 |
货币代码 | currency | 是 | String(3) | cny | 三位货币代码,人民币:cny |
订单状态 | state | 是 | int | 2 | 支付订单状态 0-订单生成
1-支付中处理中 2-支付成功 3-支付失败 4-已撤销 5-已退款 6-订单关闭 7-争议(拒付)订单 |
商品标题 | subject | 是 | String(64) | 商品标题测试 | 商品标题 |
商品描述 | body | 是 | String(256) | 商品描述测试 | 商品描述 |
客户端IP | clientIp | 否 | String(32) | 210.73.10.148 | 客户端IPV4地址 |
渠道订单号 | channelOrderNo | 否 | String | 20160427210604000490 | 对应渠道的订单号 |
渠道错误码 | errCode | 否 | String | 1002 | 渠道下单返回错误码 |
渠道错误描述 | errMsg | 否 | String | 业务异常错误 | 渠道下单返回错误描述 |
扩展参数 | extParam | 否 | String(512) | 134586944573118714 | 商户扩展参数,回调时会原样返回 |
创建时间 | createdAt | 是 | long | 1622016572190 | 订单创建时间,13位时间戳 |
成功时间 | successTime | 否 | long | 162201657210 | 订单支付成功时间,13位时间戳 |
商户手续费 | fee | 否 | Long | 整数 | |
手续费币种 | feeCurrency | 否 | String | USD | |
结算金额 | settleAmount | 否 | Long | 整数 | |
结算币种 | settleCurrency | 否 | String | USD | |
钱包名称 | walletBrandName | 否 | String | ||
钱包支付用戶id | userId | 否 | String |
返回示例数据
{
"code":0,
"data":{
"serviceFee":5,
"amount":200,
"payOrderId":"P1713846834985816066",
"extParam":"",
"mchOrderNo":"mho1697447899122",
"subject":"11",
"settleAmount":33,
"wayCode":"LM_PIX",
"body":"测试商品",
"checkDate":"20231016",
"createdAt":1697447901853,
"appId":"6645c57fe4b019b13820c9bb",
"clientIp":"192.166.1.132",
"signType":"RSA",
"currency":"BRL",
"state":1,
"mchNo":"M1715848575"
},
"msg":"SUCCESS",
"sign":"Hru35RWBrGq3mF0/dy1WppKW+beAEDdrJfKFjVHkqeXTbdhu2V1Y1GnzbL58iS3DMy93CvFU0Klha27kYQn1ylBtfqAKmBvn5n+uxxoow2viUB/xhGkz4B8Qr1usIJajPY3a8k7+pF18g8zQW3spB0GV76zxiuSKNkXzge/nXvUHDDA558bXgj+EhDrM1LpIPA0dKAK0vmA14h75Yw2Iaj9plCthSiWtttf93h6966HXHS3yWvRe4u1ppzcBPjqNS1aea2pmslEjkfiy2wGON7W+UZz+AD2B2RrFyL5xD2cBIxWL30vx2wEPFw3jMJ+CoRZeyzPNDWNbJZOB45oBcA=="
}
商户业务系统通过统一退款接口发起退款请求,支付网关会根据商户发起的支付订单号,找到对应到支付通道发起退款。
标题 | 要求 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /refund/refundOrder |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
服务商号 | isvNo | 否 | V145455 | 请联系客户经理线下获取 | |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
支付订单号 | payOrderId | 是 | String(30) | P20160427210604000490 | 支付中心生成的订单号,与mchOrderNo二者传一即可 |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604000490 | 商户生成的支付订单号,与payOrderId二者传一即可 |
商户退款单号 | mchRefundNo | 是 | String(30) | M27210632100491 | 商户生成的退款单号 |
退款通知地址 | notifyUrl | 否 | String | https://xxx.cn | 不传则不做异步通知,退款成功和失败都会异步 |
退款金额 | refundAmount | 是 | int | 100 | 退款金额,单位分 |
退款原因 | refundReason | 是 | String(64) | 用户退货 | 退款原因 |
扩展参数 | extParam | 否 | String(512) | 134586944573118714 | 商户扩展参数,回调时会原样返回 |
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
签名 | sign | 是 | String(32) | CCD9083A | 签名值,详见签名算法 |
签名类型 | signType | 是 | String(32) | RSA | 签名类型 |
客户端IP | clientIp | 否 | String(32) | 210.73.10.148 | 客户端IPV4地址 |
渠道参数 | channelExtra | 否 | String(256 | {“auth_code”, “13920933111042”} | 特定渠道发起的额外参数,json格式字符串.详见渠道参数说明 |
请求示例数据
{
"payOrderId":"P1713846834985816066",
"extParam":"",
"mchOrderNo":"",
"refundReason":"退款测试",
"sign":"p7HjgeSrvQ92F6Iyoex0OVxVUf6OYl0qPG9py6RSQ+suxgdi1QEmfhw38WV8VlnMZUUgrs+mHxuu18mh2UOUotAtlzm3lSaTx2DLX+IUXoiQ4FlVcoYQ4K6ZO80fDWTLrk1dug7vkzUIVK2W+BhEkv5C7vuOQh7QBi8nNnWDfKb9yhkM3O8CcXRTErSdCEKzr7DgzmsfVVk/b0/SOsr3Hnsdf8DA/Cc9nhFcHymZ1lUGuHF8OrwzwA+iYbI8pQwo3KG+xFZNCbRKds9gdY0318ocdjySV/gYILlTu+Z9CqN3ap3u/9TVD7DPztejul0OA5G6FJ4OiNI4nxCyPt6SXg==",
"reqTime":"1697448421",
"version":"1.0",
"channelExtra":"",
"appId":"6645c57fe4b019b13820c9bb",
"mchRefundNo":"mho1697448421669",
"clientIp":"192.166.1.132",
"notifyUrl":"https://test.bydapay.com//BydaPay-mock/mockNotify",
"signType":"RSA",
"mchNo":"M1715848575",
"refundAmount":200
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
退款订单号 | refundOrderId | 是 | String(30) | R202106181708358940000 | 返回退款订单号 |
商户退款单号 | mchRefundNo | 是 | String(30) | mho1624007315478 | 返回商户传入的退款单号 |
退款状态 | state | 是 | int | 2 | 退款状态
0-订单生成 1-退款中 2-退款成功 3-退款失败 4-退款关闭 |
渠道退款单号 | channelOrderNo | 否 | String | 20160427210604000490 | 对应渠道的退款单号 |
退款手续费 | refundFeeAmount | 否 | Long | ||
退款手续费币种 | refundFeeCurrency | 否 | String | USD | |
渠道错误码 | errCode | 否 | String | ACQ.PAYMENT_AUTH_CODE_INVALID | 上游渠道返回的错误码 |
渠道错误描述 | errMsg | 否 | String | Business Failed 失败 | 上游渠道返回的错误描述 |
返回示例数据
{
"code":"0",
"data":{
"mchRefundNo":"mho1697448421669",
"payAmount":200,
"refundAmount":200,
"refundFeeCurrency":"USD",
"refundOrderId":"R1713849025058426882",
"state":1
},
"msg":"SUCCESS",
"sign":"AF4n9eWKCt8KIi/WdnzyPDzTseukXN+fEG+R3uHmz4eFL7lM7etM5RmC3cw5B+Rohi6xDEza6xf2vKvwlvVf/gNEHHNBkEV9f03/aNLiRvGFeP3X+5TkBvxAQPmJg1+/CAmmZ2Z9XRlYBNMIs8x4fLe4oRwRJ557ojDQOEK0o9sSDbgmzpLBibTiDVvUe4op5KIH1JcSXpvG7+LC3r8TrL/D3tPi39UCYkMGAntbLy8b189SgUG7iTDix7c9XP5eQS0qXH+q5mwhOAQ4xZjYE8gNrZ2k3EG11j4Bdhgx4Abv0uBKE2LK248lRNo6iuQg4Q8/hXkm4aRllTzMrkrPNA=="
}
商户通过该接口查询退款订单,支付网关会返回订单最新的数据
标题 | 要求 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /refund/query |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
退款订单号 | refundOrderId | 是 | String(30) | R20160427210604000490 | 支付中心生成的退款单号,与mchRefundNo二者传一即可 |
商户退款单号 | mchRefundNo | 是 | String(30) | 20160427210604000490 | 商户生成的退款单号,与refundOrderId二者传一即可 |
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
签名 | sign | 是 | String(32) | CCD9083A | 签名值,详见签名算法 |
签名类型 | signType | 是 | String(32) | RSA | 签名类型,目前只支持RSA方式 |
请求示例数据
{
"refundOrderId":"R1713849025058426882",
"appId":"6645c57fe4b019b13820c9bb",
"sign":"cfxrxK2gvfyTv89vGav/Wi6CBaWdwtDdsRib13CDu6+ZwCytijita8xcB0BrEP4Hk8zr+mrIpSiX64YjRkGFovU6qqJFcwcuIHiIcMkAgNz2WXQWiouC/oxUH11HR97+7+fR+rAVgH/rVTnvWn+R5HgI9YVkvHuQAbvWeIjN90/O+XNjc0ACvQiB/KAhpxzJvN2TqSCcbRFLy8wFl4IjmQ8n+OaZsOI5D4uR11P9ePgID37ifEQU3lW44cVePWCdK6EAqdLt2GIgnjdZY8EVSD4pGE45chVo69IXg8Hzeda89PN0gUiAHj9M5vH3KQzje4JJYycW6aUcN3aKDfSCCw==",
"signType":"RSA",
"reqTime":"1697448565",
"mchNo":"M1715848575",
"version":"1.0"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
退款订单号 | refundOrderId | 是 | String(30) | R20160427210604000490 | 支付中心生成的退款单号 |
支付订单号 | payOrderId | 是 | String(30) | P12021022311124442600 | 返回支付系统订单号 |
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
商户退款单号 | mchRefundNo | 是 | String(30) | 20160427210604000490 | 商户生成的退款单号 |
支付金额 | payAmount | 是 | int | 100 | 支付金额,单位分 |
退款金额 | refundAmount | 是 | int | 100 | 退款金额,单位分 |
货币代码 | currency | 是 | String(3) | cny | 三位货币代码,人民币:cny |
退款手续费 | refundFeeAmount | 否 | Long | ||
退款手续费币种 | refundFeeCurrency | 否 | String | USD | |
退款状态 | state | 是 | int | 2 | 退款状态
0-订单生成 1-退款中 2-退款成功 3-退款失败 4-退款关闭 |
渠道订单号 | channelOrderNo | 否 | String | 20160427210604000490 | 对应渠道的订单号 |
渠道错误码 | errCode | 否 | String | 1002 | 渠道返回错误码 |
渠道错误描述 | errMsg | 否 | String | 134586944573118714 | 渠道返回错误描述 |
扩展参数 | extParam | 否 | String(512) | 134586944573118714 | 商户扩展参数,回调时会原样返回 |
创建时间 | createdAt | 是 | long | 1622016572190 | 订单创建时间,13位时间戳 |
成功时间 | successTime | 否 | long | 1622016572190 | 订单支付成功时间,13位时间戳 |
返回示例数据
{
"code":0,
"data":{
"refundOrderId":"R1713849025058426882",
"createdAt":1697448424006,
"payOrderId":"P1713846834985816066",
"payAmount":200,
"extParam":"",
"appId":"6645c57fe4b019b13820c9bb",
"mchRefundNo":"mho1697448421669",
"currency":"BRL",
"state":2,
"mchNo":"M1715848575",
"refundAmount":200
},
"msg":"SUCCESS",
"sign":"Kz1QxIQfXOzYnt5/OPlY1o/+OqXGX5OqXHAd5YcATekRGTvV9T90x8mDgSIwcYB3IoRxeaoetbWK8owWO0QgNHHvZWqOozTlhecvbx7YtP1U8R1idKmi5GiBDcupB/Fi20fDvx+yf1IFeQibl9TFhOD+CGk6L3Xqtn96Et1NaO8XCwepO0THNx2k/sGD+ktmX3HBa5lCjrrNmeU8PTO2yvMhUm8DVMdNp6BFVWvqZQQIKlyyUg76XrPRMZBayKrEk51YbEhbmzf2mo++u9kWOJPNPnLI22l3REnA2HiXto205jUIXZK6ofJiUGIzweRO32Q5+EffxUpSFTHIIScVvw=="
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /pay/unifiedOrder |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
服务商号 | isvNo | 否 | V145455 | 请联系客户经理线下获取 | |
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604001 | 商户生成的订单号 |
签名 | sign | 是 | String(32) | CCD9083A | |
签名类型 | signType | 是 | String(32) | RSA | 目前只支持RSA方式 |
商品标题 | subject | 是 | String(64) | 商品标题测试 | 商品标题 |
商品描述 | body | 是 | String(256) | 商品描述测试 | 商品描述 |
支付金额 | amount | 是 | int | 100 | 支付金额,整数,根据币种确定单位 |
货币代码 | currency | 是 | String(3) | 三位货币代码,见附件说明 | |
支付方式 | wayCode | 是 | String(30) | 支付方式,请咨询BydaPay技术服务人员获取 | |
渠道参数 | channelExtra | 是 | json | 参考请求参数channelExtra说明 | |
客户端IP | clientIp | 特殊可空 | String(32) | 210.73.10.148 | 客户端IPV4地址,选择微信支付时必传 |
异步通知地址 | notifyUrl | 否 | String(128) | https://www.xxxx.com/notify | 支付结果异步回调URL,只有传了该值才会发起回调 |
跳转通知地址 | returnUrl | 否 | String(128) | https://www.xxxx.com/return | 支付结果同步跳转通知URL |
失效时间 | expiredTime | 否 | int | 3600 | 订单失效时间,单位秒,实际失效时间以channelExtral为准
当wayCode=BDBR_PIX时 过期时间必填且在3700s到604800s内 |
扩展参数 | extParam | 否 | String(512) | 134586944573118714 | 商户扩展参数,回调时会原样返回 |
【参数说明】
假设wayCode=APLUS_CASHIER,channelExtra = {“terminalType”:“WEB”,“osType”: “IOS”}
WayCode | 字段名 | 变量名 | 必填 | 类型 | 示例值 |
---|---|---|---|---|---|
BDBR_PIX_OUT (巴西付款:向收款人的PIX账户付款) | Pix密钥类型 | targetPixKeyType | 是 | String | Pix密钥类型,枚举值为 "cpf" "email" "phone" "evp" |
Pix密钥 | targetPixKey | 是 | String | Pix密钥:11013601513 | |
账户持有人的证件号 | documentNo | 是 | String | 目标账户持有人的证件号CPF,11位数字:11013601513 | |
目标账号持有人的全名 | name | 是 | String | 目标账号持有人的全名.如果设置了lastName,此处只需要填写
First Name:Joice M Santos Joice Mary Santos |
|
目标账号持有人Last Name | lastName | 否 | String | 目标账号持有人Last Name | |
目标账号持有人的邮箱 | 否 | String | |||
目标账号持有人的电话 | phone | 否 | String | ||
BDMX_SPEI_OUT (墨西哥付款:向收款人的SPEI账户付款) | 目标账号持有人的全名 | name | 是 | String | 目标账号持有人的全名.如果设置了lastName,此处只需要填写
First Name:Joice M Santos Joice Mary Santos |
目标账号持有人Last Name | lastName | 否 | String | 目标账号持有人Last Name | |
目标账号持有人的邮箱 | 否 | String | 证件号与邮箱二选一必要一项 | ||
账户持有人的证件号 | documentNo | 否 | String | 目标账户持有人的证件号 | |
目标账号的账号ID | targetBankAccountId | 是 | String | 对于SPEI,是目标账号的CLABE号码 |
请求示例数据, 实际参数需要结合扩展参数填写
{
"amount":100,
"extParam":"",
"mchOrderNo":"mho1697449351770",
"subject":"商品标题",
"wayCode":"BDBR_PIX_OUT",
"sign":"q1kZNi5hY9OPUhHWnpeAxe9lfs1qBW93QwlVfNFj+xHWt5sdhUs+0f8XeKKB3C+7q0Ww6HYCR/xx1vYdRRf8rH3EWpRF9ytm7o5B7U7O+QCaFmJ6GvYxRBOglJeJmslOUQhEecK5LQhh9UOW5pWZbFbiNS43LA/yIvAqfe9OTxEFJuA+chrPI7ohvaipsq6BFYJDG4HfKSJV0Kb0OvxovyQd+pYAR5kfzW7p0prIkIcmrv1L6+zmCMMe4zVcu8QcLQzOvMAdUo5P1zB+miKkeBZW4VQAungXwtavKvxIF4XaOnetkBAdDJsK0D+Z/oR6ijkSyR62YxM91DqZQifsZg==",
"reqTime":"1697449351",
"body":"商品描述",
"version":"1.0",
"channelExtra":{
"targetPixKey":"[email protected]",
"documentNo":"11013601513",
"targetPixKeyType":"email",
"name":"Joice M Santos Joice Mary Santos"
},
"appId":"634fd9d8ec2e49660f569e44",
"clientIp":"192.166.1.132",
"notifyUrl":"http://ci.celer365.com/BydaPay-mock/mockNotify",
"signType":"RSA",
"currency":"BRL",
"returnUrl":"https://www.celer365.com",
"mchNo":"M1666177496"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
支付订单号 | payOrderId | 是 | String(30) | U12021022311124442600 | 返回支付系统订单号 |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604000490 | 返回商户传入的订单号 |
订单状态 | orderState | 是 | int | 2 | 支付订单状态
0-订单生成 1-支付中 2-支付成功 3-支付失败 4-已撤销 5-已退款 7-争议(拒付)订单 |
支付数据类型 | payDataType | 是 | String | payUrl | codeUrl-二维码图片显示URL |
支付数据 | payData | 否 | String | http://www.xxxxx.com/pay | 发起支付用到的支付参数,如果微信公众号支付等 |
商户手续费 | fee | 否 | Long | 整数 | |
手续费币种 | feeCurrency | 否 | String | USD | |
结算金额 | settleAmount | 否 | Long | 整数 | |
结算币种 | settleCurrency | 否 | String | USD | |
汇率 | currencyPair | 否 | String | USD/THB-37.050980 | |
渠道错误码 | errCode | 否 | String | ACQ.PAYMENT_AUTH_CODE_INVALID | 上游渠道返回的错误码 |
渠道错误描述 | errMsg | 否 | String | Business Failed 失败 | 上游渠道返回的错误描述 |
渠道扩展参数 | channelExtra | 否 | JSON | 参考返回参数 channelExtra说明 |
【参数说明】
当订单请求参数中的wayCode=APLUS_ORDER_CODE
返回参数channelExtra为:{"bigImage":"xxx","middleImage":"xxx","smallImage":"xxx"}
请求参数中的WayCode | 字段名 | 变量名 | 必填 | 类型 | 回参说明 |
---|---|---|---|---|---|
BDMX_BANK | 支付的参考编号 | referenceNumber | 否 | String | 墨西哥银行转账建议信息展示 ,示例映射对应关系
Banco = bankName; Número de cuenta CLABE = bankAccountNumber; Número de referencia = referenceNumber; |
银行名称 | bankName | 否 | String | ||
银行代码,3位数字 | bankCode | 否 | String | ||
受益人名称 | beneficiaryName | 否 | String | ||
受益人账号 | bankAccountNumber | 否 | String | ||
受益人账号类型 | bankAccountType | 否 | String | ||
LM_AME | 调用Ame Digital app的链接 | appCallLink | 否 | String | |
ame方交易id | ameTransactionId | 否 | String | ||
LM_BOLETO | 数字线 | digitalLine | 否 | String | |
LM_PIC_PAY | 过期时间 | expirationTime | 否 | String | 0时区,示例:
2023-01-23T02:47:02-03:00 |
二维码的内容 | qrContent | 否 | String | ||
LM_BANK_TRANSFER | 银行分行Id | bankBranchId | 否 | String | |
银行代码,3位数字 | bankCode | 否 | String | ||
受益人名称 | beneficiaryName | 否 | String | ||
受益人账号 | bankAccountNumber | 否 | String | ||
受益人账号类型 | bankAccountType | 否 | String | ContaCorrente | |
ISPB | ispb | 否 | String | 银行的ISPB, 用途和缩写bankCode一致, 8位数字 | |
可确认身份的证件,CPF或CNPJ | documentType | 否 | String | ||
LM_CREDIT_CARD
MX_CREDIT_CARD |
card token | cardToken | 否 | String | 当有此值返回时,下一次可以使用token替代卡信息 |
返回示例数据
{
"code":"0",
"data":{
"mchOrderNo":"mho1697449351770",
"orderState":1,
"payDataType":"none",
"payOrderId":"P1713852926008610817"
},
"msg":"SUCCESS",
"sign":"UMt/2wexBnZ3/yfOMv6e4NE7Os+xK+yfXy9z1+QMfw0cbbS4EQ4NdBaviBbORdi4UcMwGIufJRSiF8m1DS/i7od0m0jeXVni5oNcubJNuqhGj1yehoJDf2WgUkyLHKWi2+3fyB2bsvme7sk9XP3gmxBbE3cCerIigdFSL6/niHT3r7MO7M8X5Fcb/BdZRlVb+UOo7ETeQKc4NujNCjbR56RGl1UnW8zA9hcI30NxJ08f2pRzV9XJhMnvf8EPGaVFT5Rlj01j3pB5TVvjkdPRBmNTt08TvSo8Y8VAdqr2uIjJrbh61RnJUGc3CTApNq3TwW9yKiTYB2ylxfKloNZliA=="
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /pay/query |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商户号 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
服务商号 | isvNo | 否 | V145455 | 请联系客户经理线下获取 | |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
支付订单号 | payOrderId | 是 | String(30) | P20160427210604000490 | 支付中心生成的订单号,与mchOrderNo二者传一即可 |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604000490 | 商户生成的订单号,与payOrderId二者传一即可 |
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
签名 | sign | 是 | String(32) | CCD9083A | 签名值,详见签名算法 |
签名类型 | signType | 是 | String(32) | RSA | 签名类型,目前只支持RSA |
请求示例数据
{
"payOrderId":"P1713852926008610817",
"appId":"634fd9d8ec2e49660f569e44",
"sign":"YizTuYz6rb5mNqAMhbBVdGPPoD0DlrhHtiwtXeFOwO7p91BChYSnN8+RxJF1YzA4qBJL9DulsjQCcM1fNa0ESs7TAD79muwJ57ACGa9iFqqlgAn5yIwsPphiAzirSKKbQu4tLtP0rHx5/uBidFIRhHzxZTckMZO/NPA1cpQmIc47Q2r3QM89vGtDLbdg3mzP9LniIZljY9Ign8ZPwWHMFLIhgzezf11O7wLzRFTQIvYtd1lSkiiQq55YOMaL/QvtfcFfDhwGM6Zwele+A6FVCSJbu9jMxHkQTtYtp+c5ZEzUUVJ8B8fR7T1APRNUkL6QNVvL210ODErXNEFklYt7Lg==",
"signType":"RSA",
"reqTime":"1697449493",
"mchNo":"M1666177496",
"version":"1.0"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0处理成功,其他:处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
支付订单号 | payOrderId | 是 | String(30) | P12021022311124442600 | 返回支付系统订单号 |
商户 | mchNo | 是 | String(30) | M1621873433953 | 商户号 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
商户订单号 | mchOrderNo | 是 | String(30) | 20160427210604000490 | 返回商户传入的订单号 |
支付方式 | wayCode | 是 | String(30) | 支付方式 | |
支付金额 | amount | 是 | int | 100 | 支付金额,单位分 |
货币代码 | currency | 是 | String(3) | cny | 三位货币代码,人民币:cny |
订单状态 | state | 是 | int | 2 | 支付订单状态 0-订单生成
1-支付中处理中 2-支付成功 3-支付失败 4-已撤销 5-已退款 7-争议(拒付)订单 |
商品标题 | subject | 是 | String(64) | 商品标题测试 | 商品标题 |
商品描述 | body | 是 | String(256) | 商品描述测试 | 商品描述 |
客户端IP | clientIp | 否 | String(32) | 210.73.10.148 | 客户端IPV4地址 |
渠道订单号 | channelOrderNo | 否 | String | 20160427210604000490 | 对应渠道的订单号 |
渠道错误码 | errCode | 否 | String | 1002 | 渠道下单返回错误码 |
渠道错误描述 | errMsg | 否 | String | 业务异常错误 | 渠道下单返回错误描述 |
扩展参数 | extParam | 否 | String(512) | 134586944573118714 | 商户扩展参数,回调时会原样返回 |
创建时间 | createdAt | 是 | long | 1622016572190 | 订单创建时间,13位时间戳 |
成功时间 | successTime | 否 | long | 162201657210 | 订单支付成功时间,13位时间戳 |
商户手续费 | fee | 否 | Long | 整数 | |
手续费币种 | feeCurrency | 否 | String | USD | |
结算金额 | settleAmount | 否 | Long | 整数 | |
结算币种 | settleCurrency | 否 | String | USD | |
汇率 | currencyPair | 否 | String | USD/THB-37.050980 |
返回示例数据
{
"code":0,
"data":{
"amount":100,
"payOrderId":"P1713852926008610817",
"extParam":"",
"mchOrderNo":"mho1697449351770",
"subject":"商品标题",
"wayCode":"BDBR_PIX_OUT",
"body":"商品描述",
"checkDate":"20231016",
"createdAt":1697449354065,
"appId":"634fd9d8ec2e49660f569e44",
"clientIp":"192.166.1.132",
"signType":"RSA",
"currency":"BRL",
"state":1,
"mchNo":"M1666177496"
},
"msg":"SUCCESS",
"sign":"M3vKlXJ0fYIVyoccfJ2KvidDXRBG50fakan/BRepd4CTOL1DW1VRSsAuTydQU8KQdlOdYMTQbY/nXiB2l57gY+GfxK+L4BvMPL+4h+8z/suQUb5M/Vnc3WBAjQthbFex4iAzJUbCZ7OWnGlxJEmH4B1qVzTE6QWnd0zwhpeFFA8B+Ig59wZBU5GkymwipQm7nACXJEXOK8H1sG5nbCrXBxilycqZ5ppU+Sy49wDK/Uz2rVhYflIsFhpXj+Zc1zw0j3XCLkDQNNqbYl2wx3J+0bdJkppRAlClYX2sftbzNs6mWHzHOBWhNp3sMZ/d3tv8SGANWorINlGc6DC6uPubNA=="
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /account/balance |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
签名 | sign | 是 | String(32) | CCD9083A | |
签名类型 | signType | 是 | String(32) | RSA | 目前只支持RSA方式 |
服务商编号 | isvNo | 是 | String(20) | 服务商编号 | |
商户号 | mchNo | 否 | 64 | M | BydaPay商户号,服务商开通合并提现时可以不传此参数 |
请求示例
{
"isvNo":"V1712908690",
"appId":"6621ec6622526b33b8c0e4b0",
"sign":"JW8DQ9/9M8g8Re+Xn1wESZDTCcZB3XhqyySCminybg9jTOLD2Yr1XtRT+SbPyY2ws9zcZ8OG43uDJLwdjONpppIzDJ/brmH/i+cr13bN12OS0juJ4vnvldW1v/St965sdggXhwWy6gMAK9EnVrfLy5zbKU++f3yol73iwuxOYG4m5vMfsxFQNVMM3O9+P3ulZ2mJBfUY2MCI3QqtlVFcMwMcSzjcpDnOmGhbrkcLc0bSbV9ew4fTC0r3DeRig8o+FOrS9fiyQ00UoV5A6FlrikPskPcBSui8mx7da3djQwAUzQCxpOvEmT35yCOl7uoTvYsHparlsaXwounTdS9uJQ==",
"signType":"RSA",
"reqTime":"1697449664",
"version":"1.0"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
钱包 | walltes | 是 | json array | ||
可用余额 | balance | 否 | Long | 整数 | |
待结算余额 | waitSettleBalance | 否 | Long | 整数 | |
循环保证金余额 | marginAmount | 否 | Long | 整数 | |
币种 | currency | 否 | String | ||
冻结余额 | freezeBalance | 否 | Long | 整数 | |
可垫资余额 | preBalance | 否 | Long | 整数
20230112新增 |
返回示例数据
{
"code":0,
"data":{
"walltes":[
{
"balance":99220,
"waitSettleBalance":44489,
"marginAmount":0,
"currency":"USD",
"freezeBalance":11357293
},
{
"balance":0,
"waitSettleBalance":0,
"marginAmount":0,
"currency":"BRL",
"freezeBalance":6042189
}
]
},
"msg":"SUCCESS",
"sign":"Tx55tXBIP4T19fNwt/jTfPLPPRnEJ3YY1Qv/XYjIgrOitJWpvNGyGT1ZiNU5e1FF05fnrSaGkXJu+YB7LCrJKS7KHdKM05ZcgrMxDqSK2bODLp3fNkNTvArmTiD/1V39Q/ayFJgTb3uccv5CsXjnUax8lyxJGWzhrGZO65pAnhRlCbdtgmhCpJC1mFAVDBGOh/Jjo/dvf1z0Gx5K0Gv1qCncEnGw3wlQ+htotXDJ4HY6zV5mOAkPTbjGLG9LJrq5pR3XQcfyXHYwxM1KHsd2eYao4gJI1qkxp/fuyxRK7vrI3GcKKvhe3ur+jcJ4xnl/EpKnOLnb7A/ikwQ/L5iz2w=="
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /account/cashout |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
服务商编号 | isvNo | 是 | String(20) | 服务商编号 | |
商户号 | mchNo | 是 | String | BydaPay商户号,服务商开通合并提现时可以不传此参数 | |
币种 | currency | 是 | String | ||
商户订单号 | mchOrderNo | 是 | String(64) | ||
提现金额 | amount | 是 | Long | 整数 | |
订单类型 | orderType | 是 | String | 1普通提现(可用余额提现结算)
2垫资提现(可垫资余额提现结算) 默认是普通提现 20230112新增 |
|
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
签名 | sign | 是 | String(32) | CCD9083A | |
签名类型 | signType | 是 | String(32) | RSA | 目前只支持RSA方式 |
请求示例
{
"isvNo":"V1712908690",
"orderType":"1",
"amount":100,
"mchOrderNo":"mho1697449892218",
"appId":"6621ec6622526b33b8c0e4b0",
"sign":"C4NlKzOu+CnNQ9lkPHjlbwNnF8j6W2vWvswlczMxwDhFzTjyr3/396Zv5jcHG1LhU44PWqN0EfruBv8UEy/M9yHCXkPU6o8oJ4vbcaVnTM8aC071ej8PSc53r9jAGvLF9qAco2ixXJ6hHCjczYIBUZvokr0yNax+tXusCZp7h7x2LfSSW7cWaoZQxcK50De6PFDUwjXSHmw7EyKBO1/+STJAHwG5j4ICxh7C9YhBbKOp8CkmevNQOi3+60gEgb53CN6ytOfeveqbA4XUUlIfxMjoEvN9/cPxbSaSSbrnox1b4bsIVk1f/FwFltvO+deti8P0J/EpM122AA6b+Z163Q==",
"signType":"RSA",
"currency":"BRL",
"reqTime":"1697449892",
"version":"1.0"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
状态 | state | 是 | String | 1待审核
2审核通过 3审核拒绝 4出款中 5完成 |
返回示例数据
{
"code":0,
"data":{
"state":1
},
"msg":"SUCCESS",
"sign":"Y6ycyTy5DRGFZiyfu33qXrvRZ1NlClrOLPk/k48DZG0NGo6aXZUBQdJHa6XJECSezpRul6LErvliNg1MAG2j7BEZ/1VeNPNOqWSeT74fvgR/2n26qZynrjdjKdZ07tezucMG3/RNVyGEQ1SEuoXURNU3k/+oVSBqnTwMNyWcU4+gLIRDaXQXWpME1Ll0Wae/cr2XzW9Oio2u21PJfl5qOikUfV/jI9YeO6oOf62qFZ8WhsVi+5LG2P9xJXKO6f2WNel+tUjjxVdmGOg3HvhzoBZJt5xfVQ/JGb9Bzduwu1Y0xGcXzSdifm/ngih9mcOlMWVIX0C/ICgDNnwu0rdyEQ=="
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /account/cashoutQuery |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
商户号 | mchNo | 是 | String | ||
商户订单号 | mchOrderNo | 是 | String(64) | ||
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
签名 | sign | 是 | String(32) | CCD9083A | |
签名类型 | signType | 是 | String(32) | RSA | 目前只支持RSA方式 |
服务商编号 | isvNo | 是 | String(20) | 服务商编号 |
请求示例
{
"isvNo":"V1712908690",
"mchOrderNo":"mho1665068558603",
"appId":"6621ec6622526b33b8c0e4b0",
"sign":"Rd10I7CY1meACOUyQyt6a0qo6RvvIZchTTm3bhnZ0v+pEp/xCnGzHbfbrjJUTlyWfwTS5K2XV0s+VyzOzYTkFFAyrwtWwGjUtgfVbS1LmUKGTnw0/R3drDk+ec1uthPnPpyz553v7Jftc6hCZsNPCk7BeXX+2Re6epwg1l0IrFkhubX2p/3r9368QKA6VPuLuIzfJeJLe/4PJDlxwkiF8k5osIedzcfsvnBWRrgQ8Xxq9uPcQEXY4vkgOgEOfnW90h6LeCttAVUR6rChmeXxWb0UIRf9JJiAyvFO8KSmEMMzCjMU6MVexa5EBiylm5HzTuG8dzIgKy8a2Bt/ipRVyw==",
"signType":"RSA",
"reqTime":"1697450024",
"version":"1.0"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
状态 | state | 是 | String | 1待审核
2审核通过 3审核拒绝 4出款中 5完成 |
|
提现手续费 | fee | 否 | 只有状态为2,4,5时才会返回 | ||
提现手续费币种 | feeCurrency | 否 | 只有状态为2,4,5时才会返回 |
返回示例数据
{
"code":0,
"data":{
"state":1
},
"msg":"SUCCESS",
"sign":"Y6ycyTy5DRGFZiyfu33qXrvRZ1NlClrOLPk/k48DZG0NGo6aXZUBQdJHa6XJECSezpRul6LErvliNg1MAG2j7BEZ/1VeNPNOqWSeT74fvgR/2n26qZynrjdjKdZ07tezucMG3/RNVyGEQ1SEuoXURNU3k/+oVSBqnTwMNyWcU4+gLIRDaXQXWpME1Ll0Wae/cr2XzW9Oio2u21PJfl5qOikUfV/jI9YeO6oOf62qFZ8WhsVi+5LG2P9xJXKO6f2WNel+tUjjxVdmGOg3HvhzoBZJt5xfVQ/JGb9Bzduwu1Y0xGcXzSdifm/ngih9mcOlMWVIX0C/ICgDNnwu0rdyEQ=="
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /pay/unifiedInfo/cardAdd |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
商户号 | mchNo | 是 | String | ||
服务商编号 | isvNo | 是 | String(20) | 服务商编号 | |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
请求ID | reqId | 是 | String(64) | 请求ID,无实际业务作用,用于日志定位使用 | |
国家 | country | 是 | String(64) | 固定值,巴西和墨西哥: BRA和MEX | |
名字 | name | 否 | String | 墨西哥国家必填,名字,全称 | |
邮箱 | 否 | String | 墨西哥国家必填,邮箱 | ||
持卡人全称 | cardHolderName | 是 | String(64) | 持卡人全称 | |
卡号 | cardNumber | 是 | String(64) | 16位纯数字字符串,不能有横杠空格等分隔符 | |
信用卡安全码 | cvc | 是 | String(64) | 信用卡安全码 | |
信用卡过期月份 | expirationMonth | 是 | String(2) | 信用卡过期月份, 2位数。 | |
信用卡过期年份 | expirationYear | 是 | String(4) | 信用卡过期年份,4位数 | |
签名 | sign | 是 | String(32) | CCD9083A | |
签名类型 | signType | 是 | String(32) | RSA | 目前只支持RSA方式 |
请求示例
{
"expirationYear":"2028",
"country":"BRA",
"cardHolderName":"PengYuYan",
"sign":"lGDdo3KQVhEwVXu1VAHxjWytuJg1mywtdZOrESNlbzWZYNFYAYnolk/AHTMY548t2mUBuLD/ycicQjF1m0Rv8GxVhKwllZFD91Se39D0evOLy4BMgX69Cpe8fldwl3Rw7TTGwl2slAyj3VybvZ1joDOytgeVfAVJixLzeVuk8/eQRmYoKBLH2BcyPGTs53pWXOQKkkkyd8RA40RfM+uUWzb7nY4tdiKOE093U2w6S5ZUV9jGqMKQ6eY/k5z/eV8f0r9TjMAjgwLj1m+/epV0SVkuPh0u+MrqWoQfCEo7vMvfhis+umvG95ESM3tp3/5kQF2n/SwIpjeN6Xw7vC+y+g==",
"expirationMonth":"02",
"reqTime":"1697450840",
"version":"1.0",
"reqId":"700d4662-c708-4f15-a621-8a7a6fa6b2f9",
"isvNo":"V1712908690",
"cvc":"123",
"appId":"6621ec6622526b33b8c0e4b0",
"name":"pengpeng",
"signType":"RSA",
"mchNo":"M1713499234",
"cardNumber":"4111111134511112",
"email":"[email protected]"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
卡token | cardToken | 是 | String |
返回示例数据
{
"code":"0",
"data":{
},
"msg":"SUCCESS",
"sign":"cmwt9VKa4uAG12Bu2ECSjdOIcmnuO8M5iaM+2Jd94z1BjuDILFoniyx8GZJowJg7P/sDmt/SBMwYLjTggBP60bQP8+MG4fqi6ArplSzhAT7vxtTDTxrg0+XulLH8eRzGGTnB/aKUG2LKvBClNGE9daKIk6s7v2MqZqjkh+1yDsFPssinjQp5UMjYyKPgBtP+led7/56+/VRB+v46AegVvLTwqWE89ModFAzvN19L4ro3toBXNgmJ2WLpdMSKFr9i1kGVfpB9hloNvDCrRZ1+fSXXudocOU4xtJJPs0rHum/UADYDvoZuy0vZoWHJHs8j871yeT2Yl5jlLFDqcfKyRQ=="
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /pay/unifiedInfo/createCardProposals |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
商户号 | mchNo | 是 | String | ||
服务商编号 | isvNo | 是 | String(20) | 服务商编号 | |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
请求ID | reqId | 是 | String(64) | 请求ID,无实际业务作用,用于日志定位使用 | |
币种 | currency | 是 | String(3) | 固定值,巴西和墨西哥: BRL和MXN | |
金额 | amount | 是 | Long | 整数 | |
签名 | sign | 是 | String(32) | CCD9083A | |
签名类型 | signType | 是 | String(32) | RSA | 目前只支持RSA方式 |
请求示例
{
"currency":"BRL",
"amount":"2345",
"appId":"63045ca7ec2e9653affc2080",
"reqId":"2345345gerg",
"sign":"B5HUcL/wzbXY0S5uFDAmX7s3PvedFsjsfMYPlIMYRIVAoQ9ubQuLuWjHXo+Jpl9WMC8LoJ8KnwrFhaP16clwfd9BPa2ckvDVs24X/wpBL9Gud9sTrXXDZ8SHW2K5QPwgqhUcr/Q7ft7sWhaoPQxjBNG9ohlj/wsQmzuslQc/zevRjBcWrQiABPLrPRIsDPyeGlIgeHalT7uiXb4FR3FpGvDEtT0yVEjC0ofyk9x5X7T123IGxrUTC+PMBZSTM+PhEkTG4t3qV7t6s/jHs9RYUWufZHRnPajMNm6P9dFuxpi7LqFDkrgQlTEzdQx8Via0uhB4DtqTMaHT4J2tEQZSpw==",
"signType":"RSA",
"expirationMonth":"02",
"reqTime":"1681109671",
"mchNo":"M1715848575",
"version":"1.0",
"cardNumber":"4111111111111111"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
方案过期时间 | expirationTime | 是 | String | 北京时间,yyyyMMddHHmmss | |
方案ID | proposalId | 是 | String | 信用卡支付时需要使用此参数 | |
方案详情 | proposalDetails | 是 | json array | ||
分期付款总金额 | totalAmount | 是 | Long | 整数 | |
分期付款金额 | installmentAmount | 是 | Long | 整数 | |
分期期数 | installments | 是 | Integer | 整数 | |
分期利率 | rate | 是 | BigDecimal | 0.1=10% |
返回示例数据
{
"code": 0,
"data": {
"proposalDetails": [
{
"totalAmount":4180,
"installmentAmount":1393,
"installments":3,
"rate":0.02
},
{
"totalAmount":4303,
"installmentAmount":717,
"installments":6,
"rate":0.05
},
{
"totalAmount":4508,
"installmentAmount":376,
"installments":12,
"rate":0.1
}
],
"expirationTime":"20230410160352",
"proposalId":"1004d278-3458-4197-bd55-a438cf916b40"
},
"msg": "SUCCESS",
"sign": "Y6ycyTy5DRGFZiyfu33qXrvRZ1NlClrOLPk/k48DZG0NGo6aXZUBQdJHa6XJECSezpRul6LErvliNg1MAG2j7BEZ/1VeNPNOqWSeT74fvgR/2n26qZynrjdjKdZ07tezucMG3/RNVyGEQ1SEuoXURNU3k/+oVSBqnTwMNyWcU4+gLIRDaXQXWpME1Ll0Wae/cr2XzW9Oio2u21PJfl5qOikUfV/jI9YeO6oOf62qFZ8WhsVi+5LG2P9xJXKO6f2WNel+tUjjxVdmGOg3HvhzoBZJt5xfVQ/JGb9Bzduwu1Y0xGcXzSdifm/ngih9mcOlMWVIX0C/ICgDNnwu0rdyEQ=="
}
标题 | 描述 |
---|---|
请求地址 | 请参见 联调环境 |
接口路径 | /pay/unifiedInfo/transactionItemsDownload |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
请求时间 | reqTime | 是 | long | 1622016572190 | 请求接口时间,13位时间戳 |
接口版本 | version | 是 | String(3) | 1.0 | 接口版本号,固定:1.0 |
商户号 | mchNo | 否 | String | M1713499234 | 商户号和服务商号二选一 |
服务商号 | isvNo | 否 | String | V1712908690 | 商户号和服务商号二选一 |
文件类型 | fileType | 是 | String | 1 | 1-商户日对账单,6-信用卡订单明细,7-信用卡争议订单明细,8-信用卡结算明细 |
应用ID | appId | 是 | String(24) | 60cc09bce4b0f1c0b83761c9 | 应用ID |
请求ID | reqId | 是 | String(64) | 请求ID,要求唯一不可重复,无实际业务作用,用于日志定位使用 | |
签名 | sign | 是 | String(32) | CCD9083A | |
签名类型 | signType | 是 | String(32) | RSA | 目前只支持RSA方式 |
下载日期 | checkDate | 是 | String | 20231024 | yyyyMMdd |
请求示例
{
"isvNo":"V1712908690",
"appId":"6621ec6622526b33b8c0e4b0",
"signType":"RSA",
"reqTime":"1698805067",
"checkDate":"20231030",
"mchNo":"M1665633523",
"version":"1.0",
"fileType":"7",
"reqId":"8f1624da-9028-4afe-aa8b-0510f3a38f2f"
}
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态 | code | 是 | int | 0 | 0-处理成功,其他-处理有误,详见错误码 |
返回信息 | msg | 否 | String(128) | 签名失败 | 具体错误原因,例如:签名失败、参数格式校验错误 |
签名信息 | sign | 否 | String(32) | CCD9083A | 对data内数据签名,如data为空则不返回 |
返回数据 | data | 否 | String(512) | {} | 返回下单数据,json格式数据 |
对账单文件模板(fileType=1)
注:对账文件格式后缀为 .CSV
Title Line
标题行 |
Merchant order no
商户订单号 |
Order no
订单号 |
Original order no
退款订单原订单号 |
Local amount
记账金额 |
Local currency
记账币种 |
Transaction amount
交易金额 |
Transaction currency
交易币种 |
Merchant fee
商户手续费 |
Merchant service fee
商户服务手续费 |
Fee currency
手续费币种 |
Settlement amount
结算金额 |
Receipt/Payment/Refund Identification
收款/汇款/退款 |
Payment method
付款方式 |
Exchange rate
结算汇率 |
Merchant ID
商户号 |
Merchant name
商户名称 |
Creation time
订单创建时间 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
示例 | mho1697634949202 | P1714631377678307330 | P1714631377678302222 | 17.59 | USD | 90 | BRL | 0.94 | 0.01 | USD | 16.65 | PAY | BR_PIX | USD/BRL-7.111111 | M1715848575 | 测试特约商户 | 2023/10/24 17:07:16 |
data数据格式
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
下载地址链接 | downloadUrl | 是 | String(30) | https://BydaPaypri/20231018.csv | 跳转链接 |
返回示例数据
{
"code":"0",
"data":{
"downloadUrl":"https://BydaPaypri/checkFile/20231018.csv"
},
"msg":"SUCCESS",
"sign":"M5YUUtyrOtAA0AHXk3G6maAXlFvi6GJNR635t3/iZaSgV1rqfpclbVam5kshGJRnEkrLOiyplnLvmrd2lht2HAhzRiVqpmgTorqFUgXbUacOYJiS9WDLT1ZQutwD2GQEr3yJ1vrPjCxf7U+5K22UdmT8KJMzdpzooJ6i5JA9nKXyEmshuybCXYXnAkYUDt22qfXO4BchvOycYHHifXnBCx1xvvsc//dl8hZWcs28zljj6EmVhNYr8ZFnc4H0DVEnWy6MWwIlONbP6qaylHsOsJGmTxyQp4Q1ZMNbUZ27m8rrj3r3HX2/BvaKdn8Y3f8ady0b27cwVrWj/YNBiX/Jpw=="
}