API 付款交易
大约 9 分钟
请求
付款API使商户能够向各种收款人启动付款交易,包括员工、客户、供应商和合作伙伴。此API支持多种支付方式,用于哥伦比亚市场的安全和高效资金转移。
请求路径:
沙盒:
https://sandbox-gateway.smilepayz.com/v2.0/disbursement/pay-out
生产:https://gateway.smilepayz.com/v2.0/disbursement/pay-out
请求头参数
字段 | 必需 | 类型 | 描述 |
---|---|---|---|
Content-Type | M | String | HTTP内容类型规范 固定值:application/json 正确请求解析必需 |
X-TIMESTAMP | M | String | ISO 8601日期时间格式,带时区偏移 格式:yyyy-MM-ddTHH:mm:ss±HH:mm 示例:2020-12-17T10:55:00-05:00 注意:必须是当前服务器时间,误差±5分钟内 |
X-SIGNATURE | M | String | 请求认证的数字签名 参见签名生成 |
X-PARTNER-ID | M | String | 平台分配的唯一商户标识符 格式:字母数字字符串 用于商户认证和交易路由 请输入merchantID |
请求体参数
字段 | 必需 | 类型 | 描述 |
---|---|---|---|
orderNo | M | String(32) | 唯一交易标识符 格式:字母数字字符串(仅数字和字母) 长度:6-32个字符 用于交易跟踪和参考 |
purpose | M | String(64) | 交易目的或描述 格式:UTF-8编码字符串 最大长度:64个字符 用于交易识别和报告 |
merchant | M | Object | 商户信息容器 包含商户识别和业务详情 参见商户模型 |
merchantId | M | String | 平台分配的主要商户标识符 格式:字母数字字符串 用于商户认证和交易路由 |
merchantName | O | String | 商户业务名称或显示名称 格式:UTF-8编码字符串 用于交易识别和报告 |
subMerchantId | O | String | 多级商户结构的子商户标识符 格式:字母数字字符串 用于子商户交易路由 |
subMerchantName | O | String | 子商户业务名称或显示名称 格式:UTF-8编码字符串 用于子商户识别和报告 |
money | M | Object | 带货币规格的交易金额详情 包含支付金额和货币信息 参见金额模型 |
currency | M | String | ISO 4217货币代码规范 固定值:COP(哥伦比亚比索) 确定支付处理规则和结算货币 |
amount | M | Number | 最小货币单位的交易金额 格式:整数值 示例:10000表示COP 10000 范围:100-999999999 |
paymentMethod | M | String(6) | 用于交易处理的支付方式 格式:预定义支付方式代码 示例:BANCOLOMBIA、DAVIVIENDA、BANCO_DE_BOGOTA 指示实际使用的支付渠道 参见支付方式列表 |
cashAccount | M | String(32) | 哥伦比亚银行账户号码 格式:字母数字字符串 最大长度:32个字符 用于资金转移目标账户 |
cashAccountType | M | String(32) | 银行账户类型规范 格式:预定义账户类型代码 值:CORRIENTE(活期)、AHORROS(储蓄) 确定资金转移的账户类型 |
receiver | M | Object | 收款人信息容器 包含受益人识别和联系详情 参见收款人模型 |
name | M | String | 收款人全名 格式:UTF-8编码字符串 示例:"Maria Rodriguez Lopez" 用于受益人识别和交易记录 |
M | String | 收款人邮箱地址 格式:有效邮箱地址 示例:"[email protected]" 用于交易通知和通信 | |
phone | M | String | 收款人电话号码 格式:哥伦比亚电话号码格式 示例:"3001234567" 用于交易验证和通信 |
idType | M | String | 身份文档类型 格式:预定义文档类型代码 值:CC(公民身份证)、CE(外国人身份证) 用于身份验证 |
identity | M | String | 身份文档号码 格式:字母数字字符串 示例:"1234567890" 用于身份验证和交易记录 |
callbackUrl | O | String(256) | 交易状态更新的Webhook通知URL 格式:有效的HTTP/HTTPS URL 最大长度:256个字符 用于实时交易状态通知 |
重要说明
1. 交易ID:
orderNo
必须在商户的所有交易中保持唯一
2. 金额格式: 金额应以最小货币单位提供(COP的分为单位)
3. 时区: 所有时间戳使用哥伦比亚时区(UTC-5)
4. 银行账户: 必须是有效的哥伦比亚银行账户号码
5. 身份文档: CC用于哥伦比亚公民,CE用于外国居民
6. 电话号码: 应为哥伦比亚格式,不包含国家代码
请求体示例 – 付款交易请求:
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-05:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001
{
"cashAccount": "12532481501",
"cashAccountType": "CORRIENTE",
"receiver": {
"idType": "CC",
"identity": "12345678909",
"name": "Maria Rodriguez Lopez",
"phone": "3001234567",
"email": "[email protected]"
},
"merchant": {
"merchantId": "20001"
},
"money": {
"amount": 10000,
"currency": "COP"
},
"orderNo": "2000102900000000000001",
"paymentMethod": "BANCOLOMBIA",
"purpose": "2024年3月工资支付"
}
响应
HTTP响应
字段 | 必需 | 类型 | 描述 |
---|---|---|---|
Content-Type | M | String | HTTP响应内容类型规范 固定值:application/json 指示JSON响应格式 |
X-TIMESTAMP | M | String | ISO 8601日期时间格式,带时区偏移 格式:yyyy-MM-ddTHH:mm:ss±HH:mm 示例:2020-12-17T10:55:00-05:00 |
响应体参数
字段 | 必需 | 类型 | 描述 |
---|---|---|---|
code | M | String | API响应状态码,指示操作结果 格式:两位数字字符串 成功:"00",错误:其他代码 用于程序化响应处理 |
message | M | String | 人类可读的响应状态描述 格式:UTF-8编码字符串 提供操作结果的详细信息 基于请求语言本地化 |
orderNo | M | String | 请求中提供的唯一交易标识符 格式:字母数字字符串 与请求中提供的orderNo相同 用于交易跟踪和参考 |
merchant | M | Object | 商户信息容器 包含商户识别和业务详情 参见商户模型 |
merchantId | M | String | 平台分配的主要商户标识符 格式:字母数字字符串 用于商户认证和交易路由 |
merchantName | O | String | 商户业务名称或显示名称 格式:UTF-8编码字符串 用于交易识别和报告 |
subMerchantId | O | String | 多级商户结构的子商户标识符 格式:字母数字字符串 用于子商户交易路由 |
subMerchantName | O | String | 子商户业务名称或显示名称 格式:UTF-8编码字符串 用于子商户识别和报告 |
money | M | Object | 带货币规格的交易金额详情 包含确认的交易金额和货币 参见金额模型 |
currency | M | String | ISO 4217货币代码规范 固定值:COP(哥伦比亚比索) 确定支付处理规则和结算货币 |
amount | M | Number | 最小货币单位的交易金额 格式:整数值 示例:10000表示COP 10000 范围:100-999999999 |
disbursementTime | M | String | 交易完成时间戳 格式:yyyy-MM-ddTHH:mm:ss 示例:2020-12-17T10:55:00-05:00 用于交易时间和审计 |
channel | M | Object | 支付渠道信息容器 包含支付方式详情和处理信息 参见渠道模型 |
tradeNo | O | String | 系统跟踪的内部交易参考号码 格式:系统生成的字母数字字符串 用于内部交易管理和支持 |
status | O | String | 当前交易处理状态 格式:预定义状态代码 示例:PROCESSING、SUCCESS、FAILED、CANCELLED 指示交易的当前状态 参见状态模型 |
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-05:00
{
"code": "00",
"message": "成功",
"orderNo": "2000102900000000000001",
"tradeNo": "1622000109e998347483949",
"status": "PROCESSING",
"disbursementTime": "2020-12-17T10:55:00-05:00",
"merchant": {
"merchantId": "20001",
"merchantName": "test",
"accountNo": "2000124234782342"
},
"money": {
"currency": "COP",
"amount": 10000
},
"channel": {
"paymentMethod": "BANCOLOMBIA",
"cashAccount": "12532481501",
"accountName": "Maria Rodriguez Lopez"
}
}
通知
HTTP请求
字段 | 必需 | 类型 | 描述 |
---|---|---|---|
Content-Type | M | String | HTTP请求内容类型规范 固定值:application/json 指示JSON请求格式 |
X-TIMESTAMP | M | String | ISO 8601日期时间格式,带时区偏移 格式:yyyy-MM-ddTHH:mm:ss±HH:mm 示例:2020-12-17T10:55:00-05:00 |
X-SIGNATURE | M | String | 通知认证的数字签名 参见回调签名验证 |
请求体参数
字段 | 必需 | 类型 | 描述 |
---|---|---|---|
orderNo | M | String | 商户交易标识符 格式:字母数字字符串 与原始请求中提供的orderNo相同 用于交易识别和验证 |
tradeNo | M | String | 系统跟踪的内部交易参考号码 格式:系统生成的字母数字字符串 用于内部交易管理和支持 |
merchantId | M | String | 平台分配的主要商户标识符 格式:字母数字字符串 用于商户认证和交易路由 |
merchantName | M | String | 商户业务名称或显示名称 格式:UTF-8编码字符串 用于交易识别和报告 |
subMerchantId | O | String | 多级商户结构的子商户标识符 格式:字母数字字符串 用于子商户交易路由 |
subMerchantName | O | String | 子商户业务名称或显示名称 格式:UTF-8编码字符串 用于子商户识别和报告 |
paymentMethod | M | String | 用于交易处理的支付方式 格式:预定义支付方式代码 示例:BANCOLOMBIA、DAVIVIENDA、BANCO_DE_BOGOTA 指示实际使用的支付渠道 |
transactionTime | M | String | 交易完成时间戳 格式:yyyy-MM-ddTHH:mm:ss 示例:2020-12-17T10:55:00-05:00 用于交易时间和审计 |
money | M | Object | 带货币规格的交易金额详情 包含确认的交易金额和货币 参见金额模型 |
currency | M | String | ISO 4217货币代码规范 固定值:COP(哥伦比亚比索) 确定支付处理规则和结算货币 |
amount | M | Number | 最小货币单位的交易金额 格式:整数值 示例:10000表示COP 10000 范围:100-999999999 |
status | M | String | 最终交易处理状态 格式:预定义状态代码 示例:SUCCESS、FAILED、CANCELLED 指示交易的最终状态 参见状态模型 |
返回
重要响应
通知响应: 请仅返回字符串
SUCCESS
以确认收到通知
{
"merchantId": "20001",
"merchantName": "test",
"money": {
"amount": 10000,
"currency": "COP"
},
"orderNo": "2000102900000000000001",
"status": "SUCCESS",
"tradeNo": "1622000109e998347483949",
"transactionTime": "2020-12-17T10:55:00-05:00"
}
SUCCESS